|
Registriert seit: 20. Feb 2008 Ort: Berlin 195 Beiträge Delphi 7 Personal |
#1
Datenbank: MySQL • Zugriff über: MySQL direct (Delphi)
Hallo kan ich per MySQL Direct die komplette Datenbank exportiren/denn inhalt igendwie Speichern?
Ich kann schon eine Verbindung aufbauen. Hier mein Codeansatz:
Delphi-Quellcode:
Damitt sich die Buchstaben "von selbst tippen"
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, StdCtrls, ComCtrls, inifiles, umysqlvio, uMysqlCT, uMysqlClient, uMysqlHelpers; {$I mysqlinc.inc} type TForm1 = class(TForm) IdFTP1: TIdFTP; TrackBar1: TTrackBar; Button1: TButton; Memo1: TMemo; hostname: TEdit; port: TEdit; username: TEdit; password: TEdit; Button2: TButton; Button3: TButton; mysqlhost: TEdit; mysqlport: TEdit; mysqlusername: TEdit; mysqlpassword: TEdit; mysqldatenbankname: TEdit; Label1: TLabel; Label2: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private FMysql: TMysqlClient; FResult: TMysqlResult; { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} var log, sett: TIniFile; Present: TDateTime; Year, Month, Day, Hour, Min, Sec, MSec: Word;
Delphi-Quellcode:
Kleine Spielerei, Fenster Transparent machen
procedure dos(Eingabe: String; sleeper: integer);
var I:Integer; const U = #13 + #10; begin for I:=1 to Length(Eingabe) do begin form1.Memo1.Text:=form1.Memo1.Text+Eingabe[I]; form1.Memo1.Refresh; Sleep(sleeper) end; form1.Memo1.Text:=form1.Memo1.Text + u; end;
Delphi-Quellcode:
Verbindung zur MySQL Datenbank;
procedure TForm1.Button1Click(Sender: TObject);
var trans: integer; begin Present:= Now; DecodeDate(Present, Year, Month, Day); DecodeTime(Present, Hour, Min, Sec, MSec); trans:= form1.TrackBar1.Position * 2; trans:= trans div 5; log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), '>>> Ändere Programmtransparentz auf: '+ inttostr(trans) + '%'); alphablendvalue:=form1.TrackBar1.Position; Alphablend:=true; end;
Delphi-Quellcode:
Verbinde zum FTP-Server (Soll ja mal ein Hompagebackupprogramm werden)
procedure vermysql;
begin Present:= Now; DecodeDate(Present, Year, Month, Day); DecodeTime(Present, Hour, Min, Sec, MSec); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), 'Setze MySQL-Port auf ' + form1.mysqlport.Text); dos('['+ inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec) +'] Setze MySQL-Port auf ' + form1.mysqlport.Text, 60); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), 'Verbinde zu MySQL-Host ['+form1.mysqlhost.Text+']...'); dos('['+ inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec) +'] Verbinde zu MySQL-Host ['+form1.mysqlhost.Text+']...', 60); form1.FMysql.Host := form1.mysqlhost.Text; form1.FMysql.port := strtoint(form1.mysqlport.text); Present:= Now; DecodeTime(Present, Hour, Min, Sec, MSec); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), 'Sende MySQL-Username ['+ form1.mysqlusername.Text +']'); dos('['+ inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec) +'] Sende MySQL-Username ['+ form1.mysqlusername.Text +']...', 60); form1.FMysql.user := form1.mysqlusername.Text; Present:= Now; DecodeTime(Present, Hour, Min, Sec, MSec); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), 'Sende MySQL-Username ['+ form1.mysqlpassword.Text +']'); dos('['+ inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec) +'] Sende MySQL-Password ['+ form1.mysqlpassword.Text +']...', 60); form1.FMysql.password := form1.mysqlpassword.Text; form1.FMysql.UnixSocket := ''; Present:= Now; DecodeTime(Present, Hour, Min, Sec, MSec); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), 'Öffne MySQL-Datenbank ['+form1.mysqldatenbankname.Text+'...'); dos('['+ inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec) +'] Öffne MySQL-Datenbank ['+ form1.mysqldatenbankname.Text +'...', 60); form1.FMysql.Db := form1.mysqldatenbankname.Text; // Datenbank auf dem Server form1.FMysql.UseNamedPipe := false; form1.FMysql.UseSSL := false; form1.FMysql.Compress := true; form1.FMysql.TrySockets := false; if form1.FMysql.Connect then begin Present:= Now; DecodeDate(Present, Year, Month, Day); DecodeTime(Present, Hour, Min, Sec, MSec); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), 'Verbindung zu MySQL-Datenbank erfolgreich!'); dos('['+ inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec) +'] Verbindung zu MySQL-Datenbank erfolgreich!', 60) end else begin Present:= Now; DecodeDate(Present, Year, Month, Day); DecodeTime(Present, Hour, Min, Sec, MSec); dos('['+ inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec) +'] Verbindung zu MySQL-Datenbank felgeschlagen!', 60); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), 'Verbindung zu MySQL-Datenbank felgeschlagen!'); end; end;
Delphi-Quellcode:
Zum Conecten und speicher des Feld Inhaltes
procedure dlord;
begin form1.Show; form1.IdFTP1.Port:=strtoint(form1.port.Text); Present:= Now; DecodeDate(Present, Year, Month, Day); DecodeTime(Present, Hour, Min, Sec, MSec); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), 'Setze FTP-Port auf '+ form1.port.Text +'...'); dos('['+ inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec) +'] Setze FTP-Port auf '+ form1.port.Text +'...', 60); sleep(100); form1.IdFTP1.Username:=form1.username.Text; Present:= Now; DecodeTime(Present, Hour, Min, Sec, MSec); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), 'Übertrage FTP-Username ['+ form1.username.Text +']...'); dos('['+ inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec) +'] Übertrage FTP-Username ['+ form1.username.Text +']...', 60); sleep(100); form1.IdFTP1.Username:=form1.username.Text; Present:= Now; DecodeTime(Present, Hour, Min, Sec, MSec); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), 'Übertrage FTP-Password ['+ form1.password.Text +']...'); dos('['+ inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec) +'] Übertrage FTP-Password ['+ form1.password.Text +']...', 60); sleep(100); form1.IdFTP1.Password:=form1.password.Text; Present:= Now; DecodeTime(Present, Hour, Min, Sec, MSec); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), 'Verbinde mit FTP-Host ['+ form1.hostname.Text +']...'); dos('['+ inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec) +'] Verbinde mit FTP-Host ['+ form1.hostname.Text +']...', 60); sleep(100); form1.IdFTP1.Host:=form1.hostname.Text; Present:= Now; DecodeTime(Present, Hour, Min, Sec, MSec); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), 'Warte auf FTP-Server...'); dos('['+ inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec) +'] Warte auf FTP-Server...', 60); try form1.IdFTP1.Connect; if form1.IdFTP1.Connected then begin Present:= Now; DecodeTime(Present, Hour, Min, Sec, MSec); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), 'FTP-Verbindung Hergestellt.'); dos('['+ inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec) +'] FTP-Verbindung Hergestellt.', 60); end; except Present:= Now; DecodeTime(Present, Hour, Min, Sec, MSec); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), 'FTP-Verbindung konnte nicht Hergestellt werdern.'); dos('['+ inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec) +'] FTP-Verbindung konnte nicht Hergestellt werdern.', 60); end; end;
Delphi-Quellcode:
Zum Disconnecten
procedure TForm1.Button2Click(Sender: TObject);
begin dlord; vermysql; sett.WriteString('FTP', 'Hostname', form1.hostname.Text); sett.WriteString('FTP', 'Port', form1.port.Text); sett.WriteString('FTP', 'Username', form1.username.Text); sett.WriteString('FTP', 'Password', form1.password.Text); sett.WriteString('MySQL', 'Hostname', form1.mysqlhost.Text); sett.WriteString('MySQL', 'Port', form1.mysqlport.Text); sett.WriteString('MySQL', 'Username', form1.mysqlusername.Text); sett.WriteString('MySQL', 'Password', form1.mysqlpassword.Text); sett.WriteString('MySQL', 'Datenbankname', form1.mysqldatenbankname.Text); form1.Button2.Enabled:= false; form1.Button3.Enabled:= true; end;
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
begin Present:= Now; DecodeDate(Present, Year, Month, Day); DecodeTime(Present, Hour, Min, Sec, MSec); dos('['+ inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec) +'] Trenne Verbindung...', 60); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), 'Trenne Verbindung...'); if FMysql.Connected then FMysql.close; if form1.IdFTP1.Connected then form1.IdFTP1.Disconnect; Present:= Now; DecodeTime(Present, Hour, Min, Sec, MSec); dos('['+ inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec) +'] Verbindung getrennt!', 60); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), 'Verbindung getrennt!'); form1.Button3.Enabled:= false; form1.Button2.Enabled:= true; end; Lesen der Voreinstellungen der settings.ini
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin FMysql := TMysqlClient.create; sett:= TiniFile.Create(ExtractFilePath(ParamStr(0))+ 'settings.ini'); log:= TiniFile.Create(ExtractFilePath(ParamStr(0))+ 'log.txt'); Present:= Now; DecodeDate(Present, Year, Month, Day); DecodeTime(Present, Hour, Min, Sec, MSec); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), '>>> Programmstart'); form1.hostname.Text:= sett.ReadString('FTP', 'Hostname', 'FTP-Hostname'); form1.port.Text:= sett.ReadString('FTP', 'Port', 'FTP-Port'); form1.username.Text:= sett.ReadString('FTP', 'Username', 'FTP-Username'); form1.password.Text:= sett.ReadString('FTP', 'Password', 'FTP-Password'); form1.mysqlhost.Text:= sett.ReadString('MySQL', 'Hostname', 'MySQL-Hostname'); form1.mysqlport.Text:= sett.ReadString('MySQL', 'Port', 'MySQL-Port'); form1.mysqlusername.Text:= sett.ReadString('MySQL', 'Username', 'MySQL-Username'); form1.mysqlpassword.Text:= sett.ReadString('MySQL', 'Password', 'MySQL-Password'); form1.mysqldatenbankname.Text:= sett.ReadString('MySQL', 'Datenbankname', 'MySQL-Datenbankname'); end;
Delphi-Quellcode:
Dass funktionirt ja auch so weit ich weis nur nicht weiter mit dem Backup!
procedure TForm1.FormDestroy(Sender: TObject);
begin Present:= Now; DecodeDate(Present, Year, Month, Day); DecodeTime(Present, Hour, Min, Sec, MSec); log.WriteString(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(Year), inttostr(hour) +':'+ inttostr(min) +':'+ inttostr(sec), '>>> Programmende'); FMysql.Free; if FResult<>nil then FResult.free; end; end. ![]()
Maximilian Ruta
|
![]() |
Ansicht |
![]() |
![]() |
![]() |
ForumregelnEs ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus. Trackbacks are an
Pingbacks are an
Refbacks are aus
|
|
Nützliche Links |
Heutige Beiträge |
Sitemap |
Suchen |
Code-Library |
Wer ist online |
Alle Foren als gelesen markieren |
Gehe zu... |
LinkBack |
![]() |
![]() |