報錯內容是 “#8s01 bad handshake”
MyDAC版本5.2
Mysql版本是5.6
是因為MyDAC的版本過低所以報錯嗎
網上好像找不到forBCB6的MyDAC8以上的可用版本啊,
如果是因為版本問題報錯,哪位大神知道哪有可以用的MyDAC8以上版本啊?
或者還有什么別的方法能用BCB6訪問MySQL啊
uj5u.com熱心網友回復:
我遇到同樣問題, 同問!uj5u.com熱心網友回復:
mysql官網下載的mysql-connector-c-6.0.2.zip
在BCB中用MySQL C API 直接聯結MySQL的方法:
1、安裝MySQL 并正確設定
2、在MySQL安裝目錄下尋找lib\debug\或者lib\opt,兩個目錄下都有libmysql.dll和libmysql.lib,該元件就是我們BCB所要呼叫的東東,但是由于該DLL是用VC編譯的,與BCB的DLL格式不同,所以需要使用implib工具重新匯出libmysql.lib,在命令列模式下格式為:
c:\> implib NewName.lib libmysql.dll
3、將剛才新匯出的NewName.lib檔案拷貝到你所創建的應用程式目錄下
4、在BCB選單下選擇:project-> Add to Project,然后在彈出的檔案對話框中選擇NewName.lib
5、在BCB選單下選擇:project-> Option-> Directories/Conditionals,將MySQL的include和lib目錄追加到里面,比如我的是:
include path: (原有內容);C:\Program Files\MySQL\MySQL Server 4.1\include
Library path: (原有內容);C:\Program Files\MySQL\MySQL Server 4.1\lib\debug
或者:(原有內容);C:\Program Files\MySQL\MySQL Server 4.1\lib\opt
在上面Library path你可以選擇一個,這最好與你所匯出的.lib檔案目錄一致
6、在你要使用API的Form頁面的.cpp檔案首部加上:
#include <mysql.h>
該.h檔案是對API函式和型別的說明
7、在VC中MySQL使用了SOCKET宏,所以在BCB中要追加說明
typedef unsigned int SOCKET;
如果沒有這一條說明,編譯也會出錯
8、OK,檢察你其他的代碼,然后使用MySQL C API函式驗證一下吧。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/105668.html
標籤:VCL組件使用和開發
