#2
sych2024-02-21 07:23
|
搞了两天,卸载了再安装,安装了再卸载,总算成功了。
现在把我经历分享给大家,希望有需要的狐友不要再和我一样走弯路了!
首先,去官网下载mysql,我的系统是win7,64位的,最初我下载了最新版的mysql 以及connector ODBC,也是64位的,和操作系统匹配,但是和vfp不匹配,捣鼓了很久,走了很多弯路,原来根本不行。
注意:由于vfp是32位的,所以mysql和connector ODBC必须是32位的,否则会报错,网上搜错误代码,给你什么答案都有。
我下载的是mysql 5.7版,32位最后的版本,以及最新的32位的connector ODBC 8.0。
其次,安装好之后,就是配置mysql服务器了。这里又碰到一个坑,控制面板里的ODBC管理器里没有安装好的connector ODBC 8.0 驱动可以选。又捣鼓了很久,网上也没看到有关这个的介绍,可把我急死了。
我把网上搜索到的安装方法几乎一一试过,没有一个是成功的,吐血!
最后我想到,控制面板里的ODBC管理器可能是64位的,问题就出在这个管理器上,它应该也是32位的才行!,于是去windows的系统文件夹里去找这个ODBC管理器。终于在c:\windows\syswow64 里找到32位的ODBC管理器 odbcad32.exe
在命令行里运行这个管理器,果然找到了安装好的odbc 驱动,于是赶紧配置了mysql,然后打开vfp,尝试连接,果然成功,开心。。。。。。
怕忘记怎么连接mysql数据库,又赶忙写了个连接类connector,却又不知道该添加什么其他功能(万能的网友可以建议一下)。。。
代码如下:
程序代码:
**************************************************
*-- 类: connector (d:\documents\visual foxpro 项目\myclass.vcx)
*-- 父类: custom
*-- 基类: custom
*-- 时间戳: 02/19/24 11:39:14 PM
*
DEFINE CLASS connector AS custom
Height = 17
Width = 66
*-- mysql数据源
datasource = ""
*-- mysql用户名
user = ""
*-- mysql密码
password = ""
*-- -1表示mysql连接失败;大于0成功
handle = -1
Name = "connector"
*-- 连接mysql数据库,成功handle返回非零,失败返回-1
PROCEDURE connect
PARAMETERS cdatasourcename,cuser,cpassword
IF PARAMETERS()=0
cdatasourcename=this.dataSource
cuser=this.user
cpassword=this.password
ELSE
this.dataSource=cdatasourcename
this.user=cuser
this.password=cpassword
ENDIF
this.handle=SQLCONNECT(cdatasourcename,cuser,cpassword)
RETURN this.handle
ENDPROC
*-- 断开mysql连接
PROCEDURE disconnect
PARAMETERS nhandle
IF PARAMETERS()=0
nhandle=this.handle
else
this.handle=nhandle
ENDIF
IF nhandle>0
SQLDISCONNECT(nhandle)
ENDIF
ENDPROC
PROCEDURE Destroy
this.disconnect()
ENDPROC
ENDDEFINE
*
*-- EndDefine: connector
**************************************************