none
Запросы к Excel через провайдер Microsoft.ACE.OLEDB.12.0 с подключением к MS server RRS feed

  • Вопрос

  • Добрый день! Необходимо загрузить лист Excel в таблицу Ms server через Visual Basic Studio

    Заинтересовал метод описанный в Microsoft:

    Dim cn As ADODB.Connection
        Dim strSQL As String
        Dim lngRecsAff As Long
        Set cn = New ADODB.Connection
        cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=C:\test\xltestt.xls;" & _
            "Extended Properties=Excel 8.0"
        'Import by using Jet Provider.
        strSQL = "SELECT * INTO [odbc;Driver={SQL Server};" & _
            "Server=<server>;Database=<database>;" & _
            "UID=<user>;PWD=<password>].XLImport9 " & _
            "FROM [Customers$]"
        Debug.Print strSQL
        cn.Execute strSQL, lngRecsAff, adExecuteNoRecords
        Debug.Print "Records affected: " & lngRecsAff   
        cn.Close
        Set cn = Nothing
    

    Мне нужно изменить этот код на visual basic studio под провайдер Microsoft.ACE.OLEDB.12.0. Вот моя переделка:

    Dim cn As OleDb.OleDbConnection
    Dim strSQL As String
    cn = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & path & ";Extended Properties=""Excel 12.0""")
    cn.Open()
    
    strSQL = "select * INTO [odbc;Driver={SQL Server};" & _
              "Server=nb0326;Database=Прогнозы_и_Продажи;" & _
              "UID=marketing_user;PWD=123].Регионы FROM [Регионы$] "
    Dim Command As New OleDb.OleDbCommand(strSQL, cn)
    Command.ExecuteNonQuery()

    На что получаю ошибку:

    Необработанное исключение типа "System.Data.OleDb.OleDbException" в System.Data.dll

    Дополнительные сведения: ODBC - ошибка вызова.

    Как правильно писать запросы к подключению Excel, используя внешний источник данных ms server? Имею: Visual basic express 2013, Microsoft server 2014, excel 2010 (32 разряда, поэтому не могу использовать связанный сервер..)

    19 ноября 2014 г. 9:42