2017-03-22 23 views
0
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スクリプトタスクにあります。スクリプトタスクには、Excelから読み取ったデータをSQL Server 2014にコピーするためのコードが含まれています。Odbc接続 - [ODBCドライバマネージャ]データソース名が見つかりません。既定のドライバが指定されていません。

上記のスニペットの最後の行で、以下のエラーが発生します。'connSource.Open()'

ERROR [IM002] [Microsoft]の[ODBCドライバマネージャ]データソース名が見つからないと、デフォルトのドライバが

私は私の接続文字列と間違って何ができるかを把握することができないように指定されていません。 AccessDatabaseEngine_x64.exeがマシンにインストールされています。

答えて

0

は、私のような接続文字列を使用してExcelがODBCを使用して接続するには:

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

これは、日付と、ACEODBC.DLLに付属しているドライバーのために働く22.03.2010

関連する問題