我在Excel 2003上有一个工作连接,我在Excel 2013上尝试了相同的连接字符串,它不会连接返回的错误:
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified.
数据库连接详细信息在两个系统上都是正确的,我已经使用"测试DSN"测试了每个系统上的连接。 " ODBC数据源管理员"中的按钮"系统DSN"标签
Connection successfully established
Server information 10.1.9-MariaDB
我还尝试从两个系统ping数据库服务器,两个系统ping成功。
Excel 2013系统的连接字符串:
Driver={MariaDB ODBC 2.0 Driver};Server=demo;Port=3306;Database=dbname;User=username;Password=password;Option=3
我的VB例程连接:
Const CELL_DRIVER As String = "B2"
Const CELL_HOST As String = "B3"
Const CELL_PORT As String = "B4"
Const CELL_USER As String = "B5"
Const CELL_PASSWORD As String = "B6"
Const CELL_DATABASE As String = "B7"
Dim conn As ADODB.Connection
'--
' Attempts to create database connection
' Returns:
' Database connection or Nothing if an error occurs
'--
Private Function DBconnect() As ADODB.Connection
On Error GoTo errHandler
If False Then
errHandler:
MsgBox Err.Description, vbCritical, "ERROR in connect"
Set conn = Nothing
Set DBconnect = Nothing
Exit Function
End If
If Not conn Is Nothing Then
Set DBconnect = conn
Exit Function
End If
Dim strDSN As String, objSheet As Worksheet
Set objSheet = Application.Sheets("Database")
strDSN = "Driver={" & objSheet.Range(CELL_DRIVER) & "}" _
& ";Server=" & objSheet.Range(CELL_HOST) _
& ";Port=" & objSheet.Range(CELL_PORT) _
& ";Database=" & objSheet.Range(CELL_DATABASE) _
& ";User=" & objSheet.Range(CELL_USER) _
& ";Password=" & objSheet.Range(CELL_PASSWORD) _
& ";Option=3"
Set conn = New ADODB.Connection
conn.ConnectionString = strDSN
conn.Open
Set DBconnect = conn
End Function#
我已将端口3306添加到防火墙。我还尝试添加用户DSN。我也经历过这个页面...... http://helpdeskgeek.com/office-tips/excel-to-mysql/仍然没有成功。
我已经为MariaDB 2.0下载了最新的ODBC驱动程序,卸载了原始1.0驱动程序并安装了最新版本,遗憾的是除了Excel之外所有连接的行为都相同。
我尝试使用“工作簿连接”向导,这也是错误。建议欢迎。 Excel中显示的最新错误消息:
[Microsoft][ODBC Driver Manager] The specified DSN contains an architectyure mismatch between the Driver and Application
我下载了64位版本的OBCD驱动程序,因为主机系统运行的是Windows 7 Professional 64位。
答案 0 :(得分:0)
系统是64位系统,但是安装了64位ODBC驱动程序,Excel无法连接。
我为MariaDB安装了32位ODBC驱动程序并再次尝试连接,现在可以正常工作。
注意:我没有卸载原始的64位驱动程序,而且我没有对现有的ODBC配置做任何事情,而使设置引用了64位驱动程序。我所做的只是安装32位驱动程序,现在它可以工作。