Đã kết thúc chỉnh sửa / sử dụng chức năng này (chức năng này không (?) Sử dụng trình điều khiển / nhà cung cấp: InstantClient nhưng vẫn sử dụng các tệp):
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
Chuỗi kết nối đầy đủ chính xác:
Driver={Microsoft ODBC for Oracle}; CONNECTSTRING=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=strHost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=strDatabase))); uid=strUser; pwd=strPassword;
Nhà cung cấp hoặc Trình điều khiển:
{Microsoft ODBC cho Oracle}
Cần thiết để đặt biến môi trường PATH trỏ đến tức thời.
Không sử dụng bất kỳ biến môi trường nào khác, ví dụ:ORACLE_HOME, TNS_ADMIN, v.v.