none
MS Access 2010 - Connect zu Oracle

    Frage

  • Hallo,

    ich habe einen 64-Bit Rechner und möchte mich über Access mit einer Oracle Datenbank verbinden. Dazu habe ich in vba folgenden Code geschrieben:

    Dim con As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim query As String
    Dim strCon As String
    Set con = New ADODB.Connection
    Set rs = New ADODB.Recordset
    
    '---- Replace below highlighted names with the corresponding values
    
    strCon = "Driver={Microsoft ODBC for Oracle}; " & _
    "CONNECTSTRING=(DESCRIPTION=" & _
    "(ADDRESS=(PROTOCOL=TCP)" & _
    "(HOST=oraclehost)(PORT=oracleport))" & _
    "(CONNECT_DATA=(SID=dbname))); uid=myuserid ID; pwd=mypw;"
    
    '---  Open   the above connection string.
    
    con.Open (strCon)

    Wenn ich den ausführe erhalte ich aber die Fehlermeldung:

    [Microsoft][ODBC driver for Oracle][Oracle]ORA-06413: Verbindung ist nicht offen.

    Ich habe im Internet schon gelsen, dass es irgendwie mit dem Ordner Pfad "C:\Program Files (x86)\.." zusammenhängt, konnte aber bisher noch keine Lösung dazu finden.. Hat jemand eine? Oder gibt es eine andere möglichkeit sich mit Access zu der Oracle Datenbank zu verbinden?

    Viele Grüße,

    blck


    Edit: Bei Host, Port, SID, UID und PWD habe ich die entsprechende Werte eingetragen.


    Edit2: Ansonsten habe ich nichts konfiguriert... vielleicht wäre eine Step by Step Anleitung auch hilfreich, falls ich irgendetwas vergessen habe...
    • Bearbeitet blckbird Donnerstag, 9. Januar 2014 09:39
    Donnerstag, 9. Januar 2014 07:24

Alle Antworten

  • Am 09.01.2014 schrieb blckbird:

    Wenn ich den ausführe erhalte ich aber die Fehlermeldung:



    [Microsoft][ODBC driver for Oracle][Oracle]ORA-06413: Verbindung ist nicht offen.

    Ich habe im Internet schon gelsen, dass es irgendwie mit dem Ordner Pfad "C:\Program Files (x86)\.." zusammenhängt, konnte aber bisher noch keine Lösung dazu finden.. Hat jemand eine? Oder gibt es eine andere möglichkeit sich mit Access zu der Oracle Datenbank zu verbinden?

    Hier findest Du den passenden Code: http://www.connectionstrings.com/


    Servus
    Winfried

    Gruppenrichtlinien
    WSUS Package Publisher
    HowTos zum WSUS Package Publisher
    NNTP-Bridge für MS-Foren

    Donnerstag, 9. Januar 2014 22:28
  • Hallo

        Dim vmo_ADOConn             As Object
        Dim vmo_ADORS               As Object
        Set vmo_ADOConn = CreateObject("ADODB.Connection")
        strConectionString = "Provider=MSDAORA.1;User ID=" & sUser & ";Password=" & sPW & ";Data Source=" & fus_GetDSN() & ";Persist Security Info=False"
        vmo_ADOConn.Open strConectionString
    dann beliebiger Code z.B.
        vls_Sql = "CREATE USER " & Me.txtOracleUser & " IDENTIFIED BY " & Chr(34) & vls_PW & Chr(34) & _
                  " DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp"
        vmo_ADOConn.Execute vls_Sql
    oder ein Recordset öffnen
        vls_Sql = "SELECT Feld1, Feld2 FROM Tabelle1 WHERE ID = '" & Me.txtOracleUser & "'" & _
                  " ORDER BY Feld1"
        Set vmo_ADORS = vmo_ADOConn.Execute(vls_Sql)
        With vmo_ADORS
            Do While Not .EOF
    	    ' was auch immer hier passiert
                .MoveNext
            Loop
            .Close
        End With
        Set vmo_ADORS = Nothing
    und am Schluss
            vmo_ADOConn.Close
            Set vmo_ADOConn = Nothing

    Freitag, 10. Januar 2014 13:13