Win7环境下Excel2007
Excel中vba代码用odbc连接mysql数据库
安装mysql-connector-odbc-5.1.5-winx64.mis
或mysql-connector-odbc-5.1.6-winx64.mis时连接没问题
但安装mysql-connector-odbc-5.1.10-winx64.mis时会出错
vba中报错:[ODBC Driver Manager]指定的DSN 驱动程序的与应用程序的不一致
5.1.10版的有什么特殊的地方么, 还是其他原因,望高手指教
注:安装5.1.10版后 配置的DSN能连接数据库成功,但在vba中就不行了
Excel中vba代码用odbc连接mysql数据库
安装mysql-connector-odbc-5.1.5-winx64.mis
或mysql-connector-odbc-5.1.6-winx64.mis时连接没问题
但安装mysql-connector-odbc-5.1.10-winx64.mis时会出错
vba中报错:[ODBC Driver Manager]指定的DSN 驱动程序的与应用程序的不一致
5.1.10版的有什么特殊的地方么, 还是其他原因,望高手指教
注:安装5.1.10版后 配置的DSN能连接数据库成功,但在vba中就不行了
示例:
Driver={MySQL ODBC 5.1 Driver};Server=localhost;Port=3306;Database=tmp;USER=root;Pwd=123
Set myrec = New ADODB.Recordset
Dim adoDef As String
Dim sql As String
adoDef = "Provider=MSDASQL;DataSource=gtodb"
sql = "select count(*) from user"
myrec.Open sql,adoDef,adOpenForwardOnlyopen时出现错误 (上面的gtodb为设置好的DSN)
Driver={MySQL ODBC 5.1 Driver};Server=localhost;Port=3306;Database=tmp;USER=root;Pwd=123
连接试试DIM CN AS NEW ADODB.CONNECTION
Set cn = New ADODB.Connection
cn.Provider = "MSDASQL"
cn.ConnectionString = "pDriver={MySQL ODBC 5.1 Driver};Server=localhost;Port=3306;Database=tmp;USER=root;Pwd=123"
cn.Open
驱动也是64的 但结果悲剧了 还是报上面的错
驱动换成32的 就ok MLGBD这是不是证明64驱动和32驱动的连接匹配串不一样
望高手们指教啊
Dim cr As New ADODB.Recordset CN.ConnectionString = "DSN=FF;UID=root;Pwd=123"
CN.Open
cr.Open "select * from card", CN, adOpenDynamic
Do While Not cr.EOF
MsgBox cr(0)
cr.MoveNext
Loop
安装32位的驱动OK 64位的就不ok了
我的Excel应用程序是32位的 难道就只能用32位的驱动?
现在调查这个问题 要确切的答案 望高手指教
在管理工具里配的DOBC DNS连接测试能连接上
只是在excel vba中连的时候报错
32位的要通过运行C:\Windows\SysWOW64\odbcad32.exe才行
在vba中使用上面的而配置也行在管理工具里配64的驱动也能连上,但在vba中就不报错
数据源?是不是mysql server? 数据库是64位的
在vba中使用上面的而配置也行因为是32位的驱动在管理工具里配64的驱动也能连上,但在vba中使用配好的odbc dsn就报错
因为用的是64位的驱动,驱动和应用程序结构体系不对不用纠结了,32位程序用32位的驱动,64位的程序用64位的驱动,配套使用
64位的驱动和32位的驱动在vba中的连接串写法应该一样吧????? 我的方法和你的方法的都试了,结果都一样(32的驱动ok 64驱动的不ok),不知道还有别的写法不。 如果64和32写法一样的话那就是配套的问题了。
另个贴给你满分