2017-01-28 5 views
0

У меня есть проект, где мне нужно отправить данные из электронной таблицы Excel в базу данных Oracle.экспорт из Excel в Oracle

Вот код, который я использую, но он не работает, я получаю ошибки в операторах strSQL во втором строковом выражении. Я пытаюсь использовать имя диапазона Excel в Insert или Update в базу данных Oracle.

Const hostName = "host" 
Const portNo = "port" 
Const srvSID = "SID" 
Const usrID = "username" 
Const usrPwd = "password" 

Sub ADOInsert() 
Dim cnAdo As ADODB.Connection 
Dim strConnString As String 
Dim strSQL As String 
Dim ws1 As Excel.Worksheet 
'set the worksheet: 
Set ws1 = ThisWorkbook.Worksheets("IMPDATA") 
Dim Imprange As Range 
Set Imprange = ws1.Range("a2:d6") 

    strDriver = "Driver={Microsoft ODBC for Oracle};" 
    strParams = "CONNECTSTRING=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=" + hostName + ")(PORT=" + portNo + "))(CONNECT_DATA=(SID=" + srvSID + ")));" 
    strUser = "UID=" + usrID + ";PWD=" + usrPwd + ";" 

    strConnString = strDriver + strParams + strUser 


    Set cnAdo = New ADODB.Connection 
    cnAdo.Open strConnString 

    '/ this is hardcoded for number of rows and columns. 
    For lngRow = 1 To 10 
     strSQL = "Insert Into TESTDATA1"'/ 
     strSQL = strSQL & "'" & Range(Imprange, 1).Value & "', " '/ REQUEST_NUMBER 
     strSQL = strSQL & "'" & Range(Imprange, 2).Value & "', " '/ CID 
     strSQL = strSQL & "'" & Range(Imprange, 3).Value & "', " '/ SERVER_TYPE 
     strSQL = strSQL & "'" & Range(Imprange, 4).Value & "' " '/ COST 
     cnAdo.Execute strSQL 
    Next 
    cnAdo.Close 
    Set cnAdo = Nothing 
End Sub 
+4

Добро пожаловать в SO! Мы больше здесь, чтобы помочь с ошибками, которые вы получаете, и, конечно, не здесь, чтобы писать для вас. Я предлагаю искать онлайн-путеводитель и следить за ним. Мы можем помочь с любыми проблемами, с которыми вы сталкиваетесь на этом пути. Просьба также пройти через этот [Контрольный список вопросов] (https://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist), который поможет вашим вопросам получить более ценные ответы и внимание. – ti7

ответ

2

Самый простой путь, чтобы преобразовать файл Excel в формат .csv, а затем вы можете использовать SQL загрузчик создать свой собственный файл управления, или же вы можете создать внешнюю таблицу, указывающую на ваш файл .csv , В противном случае вы можете проанализировать ваш файл .csv и загрузить каждую строку в своей таблице с помощью ODBC, JDBC и т. Д.

+0

необходимо отправить через excel – hforte

Смежные вопросы