2016-06-07 78 views
0

我似乎在圈子裏走來走去,永遠不會走。 我發現安裝了mySQL 5.1 32bit,並且我製作了一個Schema和表格 我還發現了一個我安裝的ODBC 5.1連接器。 找到dll的開始按鈕編輯器 - libmysql.dll dbexpmysql.dll dbxopenmysql50.dll myodbc5w.dll 在表單上啓動Delphi 7和DB express連接器 Prams 主機名 - Localhost。
數據庫 - 網站。 用戶名 - root。 密碼 - 管理員。 休息是默認 我已經嘗試了所有上述DLL的 錯誤 - 無法loadlibmysql.dll或我已經在LibaryName中選擇的DLL。 這是一個乾淨的電腦基本上 我在做什麼錯誤 我檢查了我的孩子並記住我設置MySQL到本地主機 - 3306在我的設置中localhost是在谷歌瀏覽器是ISS開始頁面 這是一個獨立的計算機,我錯過了更新一些地方,如果我從哪裏得到它。 我已經查看了其他計算機上的其他數據庫,如NoMySQL,oracle,但它們不會輕鬆安裝在我的雜亂計算機上用於獨立數據庫。Delphi 7 ODBC MySQL Win 7

+0

幫你自己一個忙:從模糊的,毫無意義的問題描述和你從我們的觀點中採取的步驟,閱讀這段漫長的文本牆,除了你在這裏寫的內容外,對這個問題一無所知。然後編輯你的文章,使用真實的單詞和句子,並有一些段落符號,標點符號和你所做過的清楚的描述。 (世界上有什麼*用開始按鈕編輯器發現dll的意思是什麼?)如果你不能以一種我們可以閱讀和理解的方式清楚地陳述問題,那麼我們不能幫你。 –

回答

1

你可能想看看我的回答了這個問題:

how to connect to a MySQL server

它是關於使MySQL與D7和XE5/6的工作。在我寫這篇文章的時候,我遇到了讓MySql與任何這些Delphi版本一起工作的問題。事實證明,主要問題是我使用的是最新版本的MySql Dll。我最終得到了它的工作,但花了我幾天,這就是爲什麼我決定記錄確切的後代方法。

如果您按照該答案中的確切編號的步驟,我認爲您很可能會得到一個至少有機會使用D7的MySql設置(注意特別是我不得不從MySql網站的Archive部分挖掘出來)。

更新

下面是一些提取物我dbxDrivers.Ini & dbxConnections.Ini 和我的德爾福測試項目

dbxDrivers.Ini

[Installed Drivers] 
DB2=1 
Interbase=1 
MySQL=1 
Oracle=1 
Informix=1 
MSSQL=1 
OpenMySQL50=1 

[OpenMySQL50] 
LibraryName=dbxopenmysql50.dll 
GetDriverFunc=getSQLDriverMYSQL50 
VendorLib=libmysql.dll 
HostName=localhost 
DataBase=MATestDB 
User_Name=SA 
Password=password 
[...] 

dbxConnections.Ini

[OpenMySQL50Connection] 
DriverName=OpenMySQL50 
HostName=LocalHost 
Database=MATestDB 
User_Name=sa 
Password=password 
BlobSize=-1 

代碼

type 
    TForm1 = class(TForm) 
    SQLConnection1: TSQLConnection; 
    SQLQuery1: TSQLQuery; 
    DataSetProvider1: TDataSetProvider; 
    SQLQuery1Table1ID: TIntegerField; 
    SQLQuery1AName: TStringField; 
    SQLQuery1AValue: TStringField; 
    CDS1: TClientDataSet; 
    DataSource1: TDataSource; 
    DBGrid1: TDBGrid; 
    DBNavigator1: TDBNavigator; 
    procedure FormCreate(Sender: TObject); 
    private 
    procedure OpenConnection; 
    public 
    end; 

[...] 

procedure TForm1.OpenConnection; 
begin 

    SqlConnection1.DriverName := 'OpenMySql50'; 
    SqlConnection1.Params.Append('HostName=localhost'); 
    SqlConnection1.GetDriverFunc := 'getSQLDriverMYSQL50'; 
    SqlConnection1.LibraryName := 'dbxopenmysql50.dll'; 
    SqlConnection1.VendorLib := 'libmysql.dll'; 
    SqlConnection1.Params.Append('Database=MATestDB'); 
    SqlConnection1.Params.Append('User_Name=sa'); 
    SqlConnection1.Params.Append('Password='); 
    SqlConnection1.Open; 
    SqlQuery1.Open; 
    CDS1.Open; 
end; 

procedure TForm1.FormCreate(Sender: TObject); 
begin 
    OpenConnection; 
end; 

這些都是我的D7項目的所有相關細節。在將我較早的答案發布到其他q之後,我決定將兩個dbx.ini文件和兩個Dll放在與我的D7項目相同的目錄中更容易。

dbxopenmysql50.dll是2007年8月21日,是版本1.3.0.39

的日期爲2006年6 Octber libmysql.dll的是2596864個字節。沒有嵌入的版本號。

My MySql服務器版本是5.6.19。顯然,您需要確保服務器已正確安裝,並且MySql Server服務正在運行。你可以看到,它在不涉及ODBC的情況下工作。

如果你得到那麼多,仍然有問題,我建議你花一些時間來改善你的q,正如Ken White所建議的那樣。

+0

你用什麼作爲參考,以及你用什麼dll來建立連接,請馬丁娜。我剛剛意識到我沒有在Windows 32位OBDC中註冊MySQL,我現在稱之爲mySQL站點。並指出沒有更好的結果。很多人談論連接字符串時德爾福prams我不明白 – lexdean

+0

我可以通過我的用戶帳戶阻止一些如何。是他們的ODBC的一部分,需要設置爲每個用戶帳戶 – lexdean

+0

dbxopenmysql50.dll將不會加載我的Delphi 7 DBexpress - 爲什麼? – lexdean