今天试了一下用 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 使用范围也许就扩展到网络了。