2017-06-12 3 views
0

Ich habe ein Problem beim Verbinden Devart UniDac mit eingebetteter MySQL-Datenbank.Delphi und UniDAC Embedded MySQL Verbindungszeichenfolge

Der Code lautet:

basedir := GetCurrentDir + '\mysql'; 
UniConnection1.ProviderName := 'MySQL'; 
UniConnection1.Database := 'razrednici'; 
UniConnection1.SpecificOptions.Values['Embedded'] := 'True'; 
UniConnection1.SpecificOptions.Values['EmbeddedParams'] := '--basedir=' + 
    basedir + ''#13#10'--datadir=data'; 
UniConnection1.Connect; 

aber ich erhalte eine Fehlermeldung einiger Dateien fehlt, habe ich die Datenbank in ./mysql/data/razrednici i zusammen mit Datenordner und libmysqld.dll mit der EXE-Datei einen gemeinsam genutzten Ordner haben ... was fehlt? helfen Sie mir

+1

Können Sie die Fehlermeldung veröffentlichen, die die fehlenden Dateien enthält? –

Antwort

0

Um mit dem Embedded-Server zu arbeiten, sollten Sie die erforderliche libmysqld.dll und das "Share" -Verzeichnis aus dem MySQL-Server-Verzeichnis in das Verzeichnis mit Ihrer Anwendung kopieren.

Diese Bibliothek ist für 32-Bit- und 64-Bit-Anwendungen unterschiedlich und wird mit MySQL Server vertrieben.

Die Dateien libmysqld.dll und share \ english \ errmsg.sys werden mit MySQL Server Verteilung der entsprechenden Bitness verteilt.

Beachten Sie, dass sowohl die 32-Bit- als auch die 64-Bit-Client-Bibliotheken der MySQL Embedded Server-Bibliothek die gleichen Namen haben - libmysqld.dll, und jeder von ihnen wird mit der Verteilung der entsprechenden Bissigkeit verteilt.

Es ist genug, libmysqld.dll im selben Verzeichnis der verwendeten Datei zu platzieren.

Versuchen Sie auch in Ihrer Probe den folgenden Code verwenden:

UniConnection.SpecificOptions.Values['EmbeddedParams'] := '--basedir=.'#13#10'--datadir=data'; 
Verwandte Themen