Verbindung zu Access 2010 DB nicht möglich

  • Hallo liebe Com,

    ich versuche von meinem Script aus Daten aus einer selbst frisch erstellten Access Datenbank auszulesen.
    Allerdings schlägt das schon beim Verbindungsaufbau fehl.

    Folgende Fehlerdetails werden mir ausgegeben:

    Error Number: 80020009
    WinDescription: Unspecified error
    Script Line: 255
    Source: Microsoft JET Database Engine
    Description: Unrecognized database format 'H:\Ticketsystem\Database21.accdb'.
    helpfile:
    Helpcontext: 5003049
    LastDLL: 0

    Das sagt mir das die entsprechende Datenbank ein falsches Format hat? Ich wüsste aber nicht das ich das Format irgendwie ändern könnte.

    Die Konsole gibt mir diese Fehlermeldung:

    H:\Ticketsystem\Funktionen.au3 (255) : ==> The requested action with this object has failed.:
    $adoCon.Open ("Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database Password=; Data Source=" & $dbname)
    $adoCon.Open ("Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database Password=; Data Source=" & $dbname)^ ERROR

    Hab verschiedene Varianten (Mit Passwort, username, ohne alles ) probiert, der Fehler bleibt derselbe.

    [autoit]


    Local $title,$adoCon,$dbname,$adoRs
    $adoCon = ObjCreate("ADODB.Connection")
    $dbname = "H:\Ticketsystem\Database21.accdb"

    [/autoit][autoit][/autoit][autoit]

    $adoCon.Open ("Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database Password=; Data Source=" & $dbname) < - - Fehlerzeile

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $adoRs = ObjCreate ("ADODB.Recordset")
    $adoRs.CursorType = 1
    $adoRs.LockType = 3
    $adoRs.Open ($query, $adoCon)
    $title = $adoRs.Fields("title").value ;Retrieve value by field name
    ;$title = $adoRs.Fields(2).value ;Retrieve value by column number
    $adoCon.Close
    MsgBox(0,"testing",$title)

    [/autoit][autoit][/autoit][autoit][/autoit]

    Danke im Voraus :)

    Einmal editiert, zuletzt von Corriild (12. Oktober 2011 um 11:59)

  • Du verwendest den falschen Provider. Dieser geht nur mit dem alten Dateiformat mdb- Für accdb musst du "Microsoft.ACE.OLEDB.12.0" nehmen. Siehe dazu auch: klick mich

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Daran hatte ich auch schon gedacht und verschiedene Provider ausprobiert (Google hat mir da viele Ergebnisse gegeben, nur nicht das von dir genannte).

    Mit dem bekomme ich immerhin eine andere Fehlermeldung und zwar:

    Error Number: 80020009
    WinDescription:
    Script Line: -1
    Source: ADODB.Connection
    Description: Provider cannot be found. It may not be properly installed.
    helpfile: C:\Windows\HELP\ADO270.CHM
    Helpcontext: 1240655
    LastDLL: 0

    Google sagt das ich sfc /scannow probieren soll, hab ich durchlaufen lassen, aber leider kein Erfolg.
    Btw, ich Verwende Windows 7 SP1 64x.

    Das Script das ich bastel soll übrigens auf vielen Rechnern (Laptops) laufen, Installation von zusätzlicher Software fällt da leider ziemlich flach...

  • Unter x64 musst du den Provider seperate nach installieren. Untern x86 ist er dabei.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.