Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Excel VBA łączy się ze zdalną bazą danych Oracle za pomocą InstantClient

Zakończono edycję/korzystanie z tej funkcji (która nie (?) używa sterownika/dostawcy:InstantClient ale nadal używa plików):

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



Popraw pełny ciąg połączenia:

Driver={Microsoft ODBC for Oracle}; CONNECTSTRING=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=strHost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=strDatabase))); uid=strUser; pwd=strPassword;

Dostawca lub sterownik:
{Microsoft ODBC dla Oracle}

Potrzebne do ustawienia zmiennej środowiskowej PATH, aby wskazywała na instantclient.
Nie użyto żadnej innej zmiennej środowiskowej, np. ORACLE_HOME, TNS_ADMIN itp.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak podzielić interwał między dwiema datami na szczegóły według miesiąca?

  2. po wstawieniu znaku perskiego w Oracle db widzę znak zapytania

  3. Oracle SQLPlus ustawia zmienną środowiskową na podstawie zmiennej

  4. Jak powiązać ArrayList z PreparedStatement w Oracle?

  5. Dlaczego ora_rowscn zmienia się bez aktualizacji tabeli?