今天試了一下用 Visual FoxPro 連接 MySQL 數據庫。
首先在自己機子上架設 MySQL 數據庫,就不多說了,我是直接用 XAMPP 架設的服務器。
然后在 VFP 里輸入命令:
sqlhandle = SQLSTRINGCONNECT("driver={MySQL ODBC 5.1 Driver};server=127.0.0.1;port=3306;uid=test;pwd=test;charset=utf8;database=test")
MESSAGEBOX(sqlhandle)
IF sqlhandle>0
SQLEXEC(sqlhandle,'select * from test','ctest')
BROWSE
SQLDISCONNECT(sqlhandle)
ENDIF
運行發現無效,很快發現是 MySQL Connector/ODBC 的問題,但無論怎么弄,問題依舊,最后發現是系統的問題。貌似64位 Windows7 必須要同時安裝32和64位兩個版本?罷了,不追究了。
裝過64位 MySQL Connector/ODBC 后,終于連接上了,但是表打開遇到漢字都是亂碼,懷疑是字符集的問題,于是將 charset 的值改為 gb2312,亂碼清除,正常顯示。但是我數據庫里依然是 utf8 的編碼,以后會不會出問題就以后再說吧。經過測試 GBK 也是可以的,因為我沒有用到什么生僻字,就 gb2312 就好。
此時我將服務器改為我的 ip 地址,經過漫長的等待,最終失敗,顯示錯誤 10060,網絡連接不通。用防火墻把 VFP 放行,依舊不成功。想到應該把 MySQL 也放行,就是 xamppmysqlbinmysqld.exe 這個文件放行之后,連接成功。
至此沒有發現其他的問題。其他的操作以后再說,這樣一來 VFP 使用范圍也許就擴展到網絡了。