Odbc 连接 - [ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序

Posted

技术标签:

【中文标题】Odbc 连接 - [ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序【英文标题】:Odbc Connection - [ODBC Driver Manager] Data source name not found and no default driver specified 【发布时间】:2017-03-22 09:18:49 【问题描述】:
Public Sub Main()
    Dim connSource As New System.Data.Odbc.OdbcConnection

    Dim cmdSource As New System.Data.Odbc.OdbcCommand
    Dim cmdupdate As New System.Data.Odbc.OdbcCommand

    Dim connsql As System.Data.Odbc.OdbcConnection
    Dim cmdsql As System.Data.Odbc.OdbcCommand


    connsql = New System.Data.Odbc.OdbcConnection

    strsqlConnectionString = "Driver=ODBC Driver 11 for SQL Server;" & _
                             "Server=MyDatabaseServer;" & _
                             "DataBase=MyDatabase;" & _
                             "Trusted_Connection=Yes;"

    connsql.ConnectionString = strsqlConnectionString
    connsql.Open()

    cmdSource.Connection = connSource
    cmdupdate.Connection = connsql

    cmdsql = New System.Data.Odbc.OdbcCommand

    Dim m_strSourceExcelFileName As String
    m_strSourceExcelFileName = Dts.Variables("User::FileName").Value.ToString()
    Dim m_strSourceFilePath As String = "D:\Files\2017\"

    m_strConnSource = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + m_strSourceFilePath + "\" + m_strSourceExcelFileName + "; Extended Properties='Excel 12.0 Xml;HDR=NO'"

    connSource.ConnectionString = m_strConnSource
    connSource.Open()

我在 SSIS 脚本任务中有上述代码 sn-p。脚本任务包含将读取数据从 excel 复制到 SQL Server 2014 的代码。

我在上面的 sn-p 中的最后一行 'connSource.Open()' 收到以下错误。

ERROR [IM002] [Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序

我似乎无法弄清楚我的连接字符串可能有什么问题。我在机器上安装了 AccessDatabaseEngine_x64.exe。

【问题讨论】:

【参考方案1】:

要使用 ODBC 连接到 Excel,我使用如下连接字符串:

Driver=Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb);DBQ=E:\foo\excelTest.xls;

这适用于ACEODBC.DLL附带的驱动程序,日期为22.03.2010

【讨论】:

以上是关于Odbc 连接 - [ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序的主要内容,如果未能解决你的问题,请参考以下文章

odbc驱动程序管理器 未发现数据源名称并且未指定默认驱动程序 怎么解决

求助 ODBC驱动程序管理器 未发现数据源名称并且未指定默认驱动程序

[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

JDBC-ODBC桥接器连接Access数据库

怎么用odbc连接mysql数据库

ODBC数据源连接不上SQL SERVER 2000