[NEWSboard IBMi Forum]

Thema: ODBC-Treiber

  1. #1
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005

    ODBC-Treiber

    Ich habe ein seltsames Problem bzgl. ODBC-Treiber. Ich erstelle eine Datei-DSN für unsere iSeries. Diese funktioniert auch wunderbar. Falls ich dann nachträglich nochmal in die Konfiguration gehe, kommt der Fehler "Allgemeiner Fehler: Ungültige Datei-DSN 'xxxx\xxxx.dsn'". Danach erfolgt ein Abbruch und die Datei-DSN ist dann verschwunden.
    Kann mir jemand sagen woran das liegt bzw. wie man diesen Fehler beheben kann ? Ich möchte diese DSN nämlich nur einmal erstellen, die dann für alle gültig sein soll und nicht auf jedem Rechner extra.

    Danke,
    KM

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.245
    Bei DateiDSN hat M$ ein Problem, wenn die Anzahl Parameter die länge von ca. 150 Zeichen übersteigt. Dies ist bei CA der Fall !

    Korrekt funktioniert das nur mit Benutzer/SystemDSN.

    Du kannst die Parameter in der Verbindungsfolge (ConnectionString) auch komplett selbst vorgeben, wenn du den Treibernamen "Driver={Client Access ODBC Driver (32-bit)};" selber mit angibst.

    Z.B.:

    dim myCon as new ADODB.Connection
    with myCon
    .Connectionstring="Provider=MSDASQL;Driver={Client Access ODBC Driver (32-bit)};SYSTEM=MYSYS;DBQ=MYLIB;CMT=0;TRANSLATE=1;CON NTYPE=0;SEARCHPATTERN=0;"
    .Properties("Prompt") = adPromptComplete ' falls Anmeldung nötig
    .open
    end with
    Dann ist eine DSN-Generierung generell nicht mehr erforderlich.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Was ist damit gemeint mit "wenn die Anzahl Parameter die länge von ca. 150 Zeichen übersteigt" ? Ist das die Länge der Einträge in der DSN-Datei, wenn ich sie mir z.B. im Notepad anzeige oder was ist damit gemeint ?
    Dein VB-Beispiel nützt mir leider nichts, da ich die ODBC-Verbindung in einer anderen Applikation benötige.
    Dann muß ich wohl doch jeweils lokal eine Benutzer- bzw. System-DSN erstellen. Diese muß ich dann natürlich gleich benennen, damit mehrere Benutzer mit der Applikation arbeiten können.

    Trotzdem danke,
    KM

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.245
    Die Länge des gesamten Strings (also im Prinzip die Größe der Datei) sollte 150 Zeichen nicht überschreiten.

    Wenn die Registrierung überall identisch sein soll:
    REGEDIT aufrufen
    unter "HKCU\Software\ODBC\ODBC Data Sources" exportiere den Eintrag deines DSN-Namens, exportiere den gesamten Baum "HKCU\Software\ODBC\DSN-Name" jeweils in eine .reg-Datei. Mit Notepad kannst du dann eine .reg-Datei erstellen.
    Auf dem Zielrechner kannst du die .reg-Datei per Doppelklick bzw. "rechte Maustaste->Zusammenführen" in die Registry übernehmen.
    Dies gilt für Benutzer-DSN's. Ähnlich gehts auch mit System-DSN's dann aber unter HKLM.

    2.Alternative
    Bearbeite die .dsn-Datei mit Notepad und schmeiß alle Einträge raus, die sowieso Default sind. Dann kommst du sicher auch unter 150 Zeichen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Also das mit der maximalen Länge von 150 Zeichen glaube ich nicht mehr so ganz. Ich habe jetzt mal eine einfache Standardverbindung erstellt und nur den Systemnamen eingetragen. Damit hat meine Datei-DSN 128 Zeichen. Bei ersten Versuch kann ich die Konfiguration noch aufrufen. Beim zweiten Mal kommt wieder der Fehler, obwohl ich nichts geändert habe und die Datei-DSN weiterhin noch 128 Zeichen hat. Nach dem Fehler ist sie natürlich wieder gelöscht. Das ist mir alles zu instabil. Ich werde wohl doch Benutzer-/System-DSNs erstellen.

    Gruß,
    KM

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.245
    Dies ist leider so. Bearbeiten von Datei-DSN's funktioniert nicht, bzw nur noch über Notepad.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Registriert seit
    Jun 2006
    Beiträge
    1
    Hallo!

    Habe ein ähnliches problem mit DSN's

    Habe hier ein Frontend in Access, das über ODBC auf MySQL Datenbanken zugreifen soll. System-DSN und Benutzer DSN laufen mit ODBC in der Version 3.51.12.00 einwandfrei, aber beim Anlegen eines Datei-DSN erscheint immer die Fehlermeldung: "Allgemeiner Fehler: Ungültige Datei-DSN 'C:\xxx\xxx\*.dsn'"
    Auch fremde, funktionierende DSN-Dateien haben nicht geholfen, scheint irgendwo in der Registrierung dann zu stehen, wenn sie mal gütlig seien sollte!
    Habe auch schon den ODBC 5.0 alpha getestet, gleiches Problem! Die anderen Treiber können merkwürdigerweise konfiguriert werden.

    Weiß jemand Rat, oder hatte das gleiche Problem???

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.245
    Seit ODBC 3.0 sollte man auf Datei-DSN verzichten oder die Verbindungsfolge insgesamt im Programm speichern.
    Alle M$-Produkte verhalten sich inzwischen ebenso.

    Z.B.:
    Access hält für verknüpfte Dateien die gesamte Verbindungsfolge in der Tabellen-Eigenschaft, so dass spätere Änderungen der DSN keine Auswirkung zeigen.

    Vorteil:
    Man braucht die DSN's auf anderen PC's nicht explizit zu konfigurieren.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Jun 2006
    Beiträge
    1

    ODBC Connection to MySQL Dbs via MSA

    Hallo,

    ich habe fast genau das selbe Problem.

    Über MS Access habe ich div. Tabellen per ODBC Datei DSN mit den Tabellen in MySQL verknüpft. Auf meinem Rechner funktioniert das auch. Jedoch bekomme ich das auf keinem anderen Rechner hin. In der Datei .dsn steht nur 1 Zeile, Informationen über die Verbindung werden dort also nicht gespeichert. Das Problem ist, dass ich in Access auch im Tabellenverknüpfungsmanager nur eine Datei DNS oder eine System DSN angeben kann. Die System DSN lässt sich zwar konfigurieren, jedoch kann ich diese nicht in Access angeben, da dann access 2002 abstürzt, leider kann ich auch keine Verbindung über DAO/ADO herstellen, da ich schon Querys, Formulare usw. erstellt habe, die direkt auf die Tabelle zugreifen. Die Möglichkeit scheidet schonmal aus.
    Wie könnte ich es erreichen, dass diese ODBC Verbindung auch auf anderen Rechnern funkltioniert oder wie ich die Einstellungen 'kopieren' kann. Die Reg. keys habe ich auch schonmal auf den anderen Rechner kopiert, das geht nicht.
    Das Problem scheint auch nicht in Access zu liegen, sondern an dem Treiber selbst. Bei mir kommt nachdem ich die Datei DSN speichere der MySQL Connector Dialog zum eintragen der Verbindungsdaten. Dieser Dialog kommt abei den anderen Rechner nicht.

    Wie würde es denn konkret gehen Access ohne ADO/DAO, also mit diesem Tabellenverknüpfungsmanager, mit mysql via ODBC zu connecten, bspw. mit einer Benutzer oder System DSN, oder einem anderen Weg?

    danke,

    Mfg

    C. Schlüter

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.245
    Der ODBC-Treiber muss korrekt installiert werden.
    Zum Testen kannst du über "Systemsteuerung->Verwaltung->Datenquellen" eine System/Benutzer-DSN einrichten.

    In Access kannst du dann diese DSN für Verknüpfungen auswählen.
    Da die komplette Verbindungsfolge dann in der Verknüpfung gespeichert wird, kann diese MDB dann auch auf anderen PC's laufen ohne dass dort die DSN eingerichtet sein muss.

    Voraussetzung ist natürlich die identische Verbindung zur Quelle als auch ein korrekter ODBC-Treiber.

    Dies funktioniert bei mir so seit MS-Access97 !
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. SQL-Performance Probleme ODBC
    By berndl in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 13-10-06, 09:28
  2. ODBC update
    By synus in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 06-10-06, 15:38
  3. ODBC Verbindung (User, Password)
    By Hubert in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 12-05-06, 11:52
  4. ODBC Treiber
    By harrydeluxe in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 13-06-05, 19:24
  5. ODBC Treiber ohne CA/400
    By Liebhoff in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 12-01-01, 08:50

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •