【发布时间】:2016-12-24 12:30:56
【问题描述】:
我在 Excel 2003 上有一个工作连接,我在 Excel 2013 上尝试过相同的连接字符串,它不会连接返回的错误是:
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified.
数据库连接详细信息在两个系统上都是指示性的,我已经使用“ODBC 数据源管理器”“系统 DSN”选项卡中的“测试 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 位。
【问题讨论】: