sql >> Database teknologi >  >> RDS >> Oracle

OleDB Dataudbyder kan ikke findes VBA/Excel

32-bit OS

Det lykkedes mig at få dette til at virke på Windows XP virtuel maskine ved at downloade Oracle OLEDB-udbyder fra Oracles officielle websted Oracle10g Provider for OLE DB Version 10.1.0.4.0 . Aktuelt fungerende link OLEDB til ældre OS (32-bit)

Men vær opmærksom på, at det vil erstatte JDK og JRE til lavere version (Det kan forhindres ved at spille med konfigurationen xml - products.xml - Jeg havde ikke nok af mental sundhed drik, så jeg installerede i stedet for fuld installation). Bagefter skal du slette reference i miljøvariabler, da det kan påvirke andre programmer. Efter installationen registrerede jeg OraOLEDBxx.dll med regsvc32

Jeg oprettede forbindelse til oracle db 11G med excel 2003. :)

Forbindelsesstreng

Jeg var nødt til at aktivere udvidelser (ActiveX Data Object og record biblioteker). Min funktion, der returnerede forbindelse var:

Public Function connectToDb(provider As String, host As String, sid As String, user As String, pwd As String, db As String) As ADODB.Connection
Dim conn As ADODB.Connection
Dim dbConnectStr As String

    Set conn = New ADODB.Connection
    If provider = "Oracle" Then
        dbConnectStr = "Provider=OraOLEDB.Oracle;Data Source=" & host & ":1521/" & sid & ";User Id=" & user & ";Password=" & pwd & ";"
    Else

    End If
    conn.ConnectionString = dbConnectStr
    conn.Open
    Set connectToDb = conn
End Function

64-bit OS, men 32-bit Office

Da vores VM'er migrerede til 64-bit Windows 7 med Excel 2010 . Sørg for at downloade ODAC - Oracle Data Access Components - til højre -bit version af din excel-installation, fordi jeg havde 32-bit excel installeret og troede det var 64-bit (da Windows er 64-bit), så jeg fødte og prøvede at få det til at fungere med 64-bit ODAC version. Bagefter downloadede jeg 32-bit version og det fungerer som før. For installation skal du blot følge installationsinstruktionerne inkluderet i den downloadede arkivmappe.

Aktuelt fungerende links til ODAC på Oracle-webstedet



  1. Tilføjelse af flere tekstboksindgange til en mysql-database

  2. Hent tidsstemplet for en fil ved hjælp af PL/SQL

  3. Psycopg2, Postgresql, Python:Hurtigste måde at bulk-indsætte

  4. Indsættelse af tilfældige tegn i MYSQL-databasen