2017-06-12 166 views
0

我在將Devart UniDac連接到嵌入式mySQL數據庫時遇到問題。Delphi和UniDAC嵌入式MySQL連接字符串

代碼雲:

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; 

,但我得到丟失一些文件的錯誤信息,我在 ./mysql/data/razrednici 數據庫中我有一個共享文件夾數據文件夾 和libmysqld.dll與exe文件一起... 缺少什麼?幫助我

+1

您可以發佈包含丟失的文件的錯誤消息? –

回答

0

要使用嵌入式服務器,您應該將所需的libmysqld.dll和「Share」目錄從MySQL服務器目錄複製到您的應用程序目錄中。

該庫針對32位和64位應用程序而不同,它與MySQL服務器一起分發。

libmysqld.dll和share \ english \ errmsg.sys文件分佈在相應位數的MySQL服務器分佈中。

請注意,MySQL嵌入式服務器庫的32位和64位客戶端庫都稱爲相同的 - libmysqld.dll,並且它們中的每一個都以相應位的分佈分佈。

將libmysqld.dll放在所用文件的同一目錄中就足夠了。

也可以嘗試你的樣品中使用下面的代碼:

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