用VFP连接MYSQL数据库

今天试了一下用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,乱码清除,正常显示。但是我数据库里依然是uft8的编码,以后会不会出问题就以后再说吧。经过测试GBK也是可以的,因为我没有用到什么生僻字,就gb2312就好。

此时我将服务器改为我的ip地址,经过漫长的等待,最终失败,显示错误10060,网络连接不通。用防火墙把VFP放行,依旧不成功。想到应该把MySQL也放行,就是xamppmysqlbinmysqld.exe这个文件放行之后,连接成功。

至此没有发现其他的问题。其他的操作以后再说,这样一来VFP使用范围也许就扩展到网络了。