有没有vba连接oracle代码,目的查询表中数据

求可以执行没错误的,我是小白
把数据放到excel中

给你个连oracle的function

function中你需要提供5个数据:

    oracle host name

    oracle database name

    SQL query (比如:select * from table1)

    访问数据库的用户名

    密码


Function ORAQUERY(strHost As String, strDatabase As String, strSQL As String, strUser As String, strPassword As String)
 Dim strConOracle, oConOracle, oRsOracle
 Dim StrResult As String
 StrResult = ""
 strConOracle = "Driver={Microsoft ODBC for Oracle}; " & _
        "CONNECTSTRING=(DESCRIPTION=" & _
        "(ADDRESS=(PROTOCOL=TCP)" & _
        "(HOST=" & strHost & ")(PORT=1521))" & _
        "(CONNECT_DATA=(SERVICE_NAME=" & strDatabase & "))); uid=" & strUser & " ;pwd=" & strPassword & ";"
 Set oConOracle = CreateObject("ADODB.Connection")
 Set oRsOracle = CreateObject("ADODB.Recordset")
 oConOracle.Open strConOracle
 Set oRsOracle = oConOracle.Execute(strSQL)
 MsgBox (oRsOracle.Fields(0).Value)
 varResult = oRsOracle.GetRows
 Do While Not oRsOracle.EOF
     If StrResult <> "" Then
       StrResult = StrResult & Chr(10) & oRsOracle.Fields(0).Value
     Else
       StrResult = oRsOracle.Fields(0).Value
     End If
   oRsOracle.MoveNext
 Loop
 oConOracle.Close
 Set oRsOracle = Nothing
 Set oConOracle = Nothing
 ORAQUERY = StrResult
End Function

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-28
肯定不行,没有组件,访问不了oracle