我的PC中安装了多个MySQL实例,分别是instance1和instance2 ...
第一个实例数据目录为“ C:\ MYSQL2 \ Data”,地址为:localhost,port = 3306;
第二个实例数据目录为“ C:\ ProgramData \ MySQL \ MySQL Server 5.7 \ Data”,地址为:localhost,端口= 3308;
server_name = "localhost"
port = "3308"
database_name = "test2"
user_id = "root"
password = "xxxx"
Set conn = New ADODB.Connection
conn.Open "DRIVER={MySQL ODBC 3.51 Driver}" _
& ";Data Source=localhost" _
& ";SERVER=" & server_name _
& ";PORT=" & port _
& ";DATABASE=" & database_name _
& ";UID=" & user_id _
& ";PWD=" & password _
& ";OPTION=16427"
当我运行以上代码以连接第二实例数据库时,它向我显示错误:
运行时错误'-2147467259(80004005)':[Microsoft] [ODBC驱动程序管理器]找不到数据源名称且未指定默认驱动程序
此代码还显示了我的第一个实例的错误,该实例的服务器名称为localhost并且端口为= 3306
在仅安装默认实例的情况下,此代码运行良好。
答案 0 :(得分:0)
Driver={MySQL ODBC 8.0 Unicode Driver}
然后此代码将起作用
Public Sub ask_sql1()
Dim SQL As String
SQL = "SELECT * FROM Users"
Dim Conn As ADODB.Connection
Set Conn = New ADODB.Connection
Conn.ConnectionString = "Driver={MySQL ODBC 8.0 Unicode Driver};Server=127.0.0.1;Database=test;UID=root;PWD=*********"
Conn.Open
Dim recordSet As ADODB.recordSet
Dim Field As ADODB.Field
Set recordSet = New ADODB.recordSet
recordSet.Open SQL, Conn, adOpenStatic, adLockReadOnly, adCmdText
If recordSet.State Then
For Each Field In recordSet.Fields
MsgBox Field.Name
Next Field
Set recordSet = Nothing
End If
Conn.Close
End Sub