2013-09-26 4 views
1

Как создать соединение dsn-less для oracle db через excel vba.dsn-less подключение для oracle через excel vba

вот как я делаю это в доступе vba (у меня есть функции для переменных в строке, GetOracleDriver и TNSName, потому что каждая машина может иметь свои), но в excel я не вижу драйвер oracle, когда я пытался делая это вручную.

Dim NewConnect As String 

NewConnect = "ODBC;DRIVER={" & GetOracleDriver & "};SERVER=" & TNSName & ".mycompany.com;UID=myuid;PWD=mypwd;DBQ=" & TNSName & ".mycompany.com;" 

спасибо

ответ

3

я извиняюсь, это еще один вопрос, я отвечал, а потом нашел ответ на

ниже код был взят из http://www.vbaexpress.com/forum/showthread.php?26968-How-to-extract-data-from-Oracle-Database-into-Excel-Spreadsheet-via-VBA-code&p=186731&viewfull=1#post186731

и модифицирован немного

Public Sub ImportData() 
    Const strSQL_c As String = "SELECT * from NR_CF_CF3_DIR" 
    Dim strConnection As String 
    Dim strDBPath As String 
    strConnection = "ODBC;DRIVER={Oracle in Oracle1};SERVER=mytnsname.mycompany.com;UID=myuid;PWD=mypwd;DBQ=mydbname.mycompany.com" 

    ActiveWorkbook.Worksheets.Add 
    ActiveSheet.Name = "QCF3_DIR" 


    QueryDB strConnection, ActiveSheet.Cells(1, 1), strSQL_c 
End Sub 






Public Sub QueryDB(ByVal connectionString As String, ByVal target As Excel.Range, ByVal SQL As String) 
    Dim qt As Excel.QueryTable 
    Dim ws As Excel.Worksheet 
    Set ws = target.Parent 
    Set qt = ws.QueryTables.Add(connectionString, target, SQL) 
    qt.Refresh BackgroundQuery:=False 
End Sub 
Смежные вопросы