2017-03-22 25 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] [마이크로 소프트] [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