ODBC-Zugriff auf eine Paradox-DB

  • Hallo allerseits,

    im Augenblick suche ich händeringend nach Hilfe zum Thema ODBC-Zugriff auf Paradox-Datenbanken.

    Die Datenbanken werden zwar mittelfristig durch eine MS-SQL-Server Version abgelöst, aber bis dahin will ich mich nicht mit dem alten Tool zur Auswertung der Paradox-DBs herumärgern. Also war die Idee geboren, dem Problem mittels AutoIt auf den Leib zu rücken.
    Mir fehlt aber eben die Erfahrung im Umgang mit ODBC-Zugriffen und welche Voraussetzungen ich einhalten muss.

    Mein erster - wahrscheinlich unvollständiger - Versuch eine Verbindung herzustellen führt beim Aufruf der Open-Methode von ADODB zu einer Fehlermeldung:

    [autoit]

    Local $ADODBHandle = ObjCreate("ADODB.Connection")

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

    if @error Then MsgBox(4096, "ADODB.Connection fehlgeschlagen!",1)

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

    if Not IsObj($ADODBHandle) Then MsgBox(4096, "Ungültiges ADO-Objekt!",1)

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

    $ADODBHandle.Open("Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DefaultDir="&$Dir&";Dbq=" & $Dir & ";CollatingSequence=ASCII;")

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

    If @error Then MsgBox(4096, "Open fehlgeschlagen!",1)

    [/autoit]
    Zitat

    C:\Entwicklung\Test\Paradox-Connect.au3 (10) : ==> The requested action with this object has failed.:
    $ADODBHandle.Open("Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DefaultDir="&$Dir&";Dbq=" & $Dir & ";CollatingSequence=ASCII;")
    $ADODBHandle.Open("Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DefaultDir="&$Dir&";Dbq=" & $Dir & ";CollatingSequence=ASCII;")^ ERROR

    Hat jemand Tipps für mich?

    Besten dank schonmal,
    Benne

    Einmal editiert, zuletzt von benne (19. Mai 2011 um 08:43)

  • Nach einigem hin und her habe ich jetzt zumindest eine Lösung gefunden, um an eine meiner Datenbanken heranzukommen und eine rudimentäre SQL-Abfrage zu starten.

    Was mir jetzt fehlt, ist eine Übersicht darüber, welche Funktionen ich über ein ADODB-Objekt per AutoIt zur Verfügung habe.
    Kann mir da jemand sagen, wo ich eine Liste der ADODB-Funktionen finden kann?

    Gruß
    Benne

  • Guckst du: hier ;)


    Okay, ich hätte mich deutlicher ausdrücken sollen ;)
    Die Liste der möglichen ADODB-Funktionen zu finden, war nicht das Problem.
    Da hat ein Blick ins hinter mir auf dem Regal stehende Access2003-Handbuch schon weitergeholfen.

    Mir geht es hier eher um eine Liste, welche dieser Befehle unter AutoIt verfügbar sind und wie man sie dann auch verwendet.
    Im Augenblick kaspere ich durch die verschiedensten Foren und sammel mir bröckchenweise Tipps zusammen.

    Wenn ich meine Lösung zusammenhabe, versuche ich das mal hier gesammelt wiederzugeben.
    Anscheinend bin ich zwar wohl der einzige, der sich mit einer Paradox-Datenbank abplagen muss.
    Aber wer weiß, wie viele AutoIt-User noch vor ähnlichen Problemen stehen.

    Gruß
    Benne

    • Offizieller Beitrag

    Anscheinend bin ich zwar wohl der einzige, der sich mit einer Paradox-Datenbank abplagen muss.


    In unserer Firma werkelt nur noch ein rudimentäres Fragment davon herum, die Hauptarbeit übernimmt jetzt eine Firebird-DB. Bin ich auch heilfroh drüber, denn Paradox heißt nicht umsonst so. :whistling: Bei der DB hat es ca. einmal im Monat die Indexfiles zerschossen. Was zu sehr "paradoxen" Zuständen führt, wenn für Kunde X plötzlich die Umsätze von Kunde Y angezeigt wurden. :wacko: Regelmäßige ReIndexierung gehörte damals zur Tagesordnung.

    Das Unterforum Datenbanken war schon recht reich gefüllt und wenn ich nicht irre, waren auch Paradox Probleme enthalten. Allerdings hat es wohl irgendwie unsere Foren-DB mal etwas zerlegt und dieses Unterforum ist nun leider leer.
    Ich verwende zum Zugriff lieber ODBC-Treiber. Da kann ich mich wenigstens drauf verlassen, dass dann die Kommunikation auch klappt.
    Was die anwendbaren Methoden etc. betrifft: Wenn du das Objekt erstellen kannst, solltest du auch darauf zugreifen können. Ausnahmen sind meist objektspezifische Aktionen mit für AutoIt untypischen Aktionen (Klassen erstellen, vererben etc.). In der Regel hilft da nur: Probieren. ;)


  • In unserer Firma werkelt nur noch ein rudimentäres Fragment davon herum, die Hauptarbeit übernimmt jetzt eine Firebird-DB. Bin ich auch heilfroh drüber, denn Paradox heißt nicht umsonst so. :whistling: Bei der DB hat es ca. einmal im Monat die Indexfiles zerschossen. Was zu sehr "paradoxen" Zuständen führt, wenn für Kunde X plötzlich die Umsätze von Kunde Y angezeigt wurden. :wacko: Regelmäßige ReIndexierung gehörte damals zur Tagesordnung.


    Damit hab' ich zum Glück wenig bis gar keine Probleme.
    Das größte Problem ist halt, dass die Paradox-DB Teil einer seit den 1980er Jahren gewachsenen Statistiksoftware ist und wir uns hier mit einem ebenfalls ziemlich in die Jahre gekommenen Tool zur Auswertung der Daten herumschlagen müssen.
    Ich weiß nicht, wie oft ich schon den Rechner aus dem Fenster schmeißen wollte ... aber der kann ja am wenigsten dazu.

    Ich verwende zum Zugriff lieber ODBC-Treiber. Da kann ich mich wenigstens drauf verlassen, dass dann die Kommunikation auch klappt.


    Per ODBC bin ich nicht an die DB rangekommen, daher habe ich mich an ADODB rangewagt, dazu gibt es mehr Infos im Netz.

    Was die anwendbaren Methoden etc. betrifft: Wenn du das Objekt erstellen kannst, solltest du auch darauf zugreifen können. Ausnahmen sind meist objektspezifische Aktionen mit für AutoIt untypischen Aktionen (Klassen erstellen, vererben etc.). In der Regel hilft da nur: Probieren. ;)


    Yep, Trial-and-Error ist gerade ganz aktuell.
    Mühsam ernährt sich das Eichhörnchen und klammert sich verbissen an jeden sich bietenden Ast :D

    Danke aber auf alle Fälle für die Antworten.

    Gruß
    Benne