经笔者分析,就是两个dll文件的问题。
第一:把myodbc5.dll,myodbc5S.dll复制到C:\windows\system32\的目录下。
第二:运行注册表文件
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\MySQL ODBC 5.1 Driver] "UsageCount"=dword:00000001 "Driver"="C:\\windows\\system32\\myodbc5.dll" "Setup"="C:\\windows\\system32\\myodbc5S.dll"
第三:测试代码
Private Sub Command1_Click() Dim cmd As String Dim conn As ADODB.Connection Dim rs As ADODB.Recordset Dim fld As ADODB.Field Dim sql As String Set conn = New ADODB.Connection conn.Open "DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;DATABASE=test;UID=root;PWD=root;OPTION=3;stmt=SET NAMES UTF-8" '创建表 conn.Execute "DROP TABLE IF EXISTS test" conn.Execute "CREATE TABLE test(id int not null primary key, name varchar(20),txt text, dt date, tm time, ts timestamp)" '插入数据 conn.Execute "INSERT INTO test(id,name,txt) values(1,100,'www.tthome.cn')" conn.Execute "INSERT INTO test(id,name,txt) values(2,200,'www.ttvz.com')" conn.Execute "INSERT INTO test(id,name,txt) values(3,300,'www.163.com')" Set rs = New ADODB.Recordset rs.CursorLocation = adUseServer rs.Open "SELECT * FROM test", conn Debug.Print rs.RecordCount rs.MoveFirst Debug.Print String(50, "-") & "Initial test Result Set " & String(50, "-") For Each fld In rs.Fields Debug.Print fld.Name, Next Debug.Print Do Until rs.EOF For Each fld In rs.Fields Debug.Print fld.Value, Next rs.MoveNext Debug.Print Loop rs.Close Set rs = Nothing conn.Close Set conn = Nothing End Sub
真的就不用安装ODBC驱动了,哈哈哈。