ODBC-Zugriff via MsAccess
- Dieses Thema hat 7 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 16 Jahre, 7 Monaten von
Anonym.
-
AuthorPosts
-
23. August 2005 um 15:26 Uhr #2587
AnonymGastHallo, zusammen!
Auf einen Win-NT-Server mit DB2 V7.1 wurde bis dato mit Win-NT-Clients (RunTime-Clients V7.1 und MsAccess 97) zugegriffen. Via ODBC werden über Access Tabellen verknüpft, welche in einem externen Schema zur Verfügung gestellt werden. Jetzt wurden die Clients auf XP-Professional und MsOfficeXP umgestellt. Seit der Umstellung funktioniert der Zugriff via Access nicht mehr. Sobald eine Tabelle ein Dezimalfeld enthält kommt es zum Fehler ‚Die Genauigkeit des Dezimalfeldes ist zu klein‘.
Kennt jemand dieses Problem? Für Eure Hilfe oder zumindest einen Hinweis wäre ich sehr dankbar.
26. August 2005 um 11:18 Uhr #3023
AnonymInaktivHi Lydia,
wie sieht denn konkret das Attribut und der Inhalt aus?
Es gelten gewisse Einschränkungen, die aber schlecht dokumentiert sind. Habe selbst bei Wechsel von V7.x nach V8.x Änderungen des ODBC-Handlings bei TIMESTAMP’s festgestellt. DECIMAL Columns > 15 sind ebenfalls problematisch, werden in TEXT umgewandelt.
Wie ODBC/CLI vorgeht, kannst Du mit eine Trace (Eintrag in db2cli.ini) feststellen. Dazu Verknüpfungen löschen, Access verlassen, neu einsteigen und neu verknüpfne. In der Trace File stehen dann Details.
Infos zu ODBC/CLI PATCH1/PATCH2 einstellungen:
http://www-1.ibm.com/support/docview.wss?rs=71&context=SSEPGG&dc=DB520&q1=CLI%2fODBC&uid=swg21179697&loc=en_US&cs=utf-8&lang=enODBC/CLI Configuration Parameters:
http://publib.boulder.ibm.com/infocenter/db2help/index.jsp?topic=/com.ibm.db2.udb.doc/ad/r0007964.htm.Berichte doch über dein Vorgehen!
Gruß
Gernot
29. August 2005 um 6:04 Uhr #3333
AnonymGastHi, Ruban!
Ich danke Dir für Deine Tips. Ich bin damit weitergekommen und habe über CLI einiges dazugelernt. Trotz meiner intensiver Suche im Internet in den letzten Wochen, auch bei IBM, bin ich auf diese Seiten nicht gestossen.
Das war meiner erster Kontakt mit einem Forum und ich muss sagen, dass ist eine tolle Sache; bis dato – seit 1990 – habe ich mich immer als Einzelkämpferin in Sachen DB2 gefüllt.Jetzt zum Probelm ODBC, falls jemand ebenfalls damit konfrontiert wird: Der Fehler liegt eindeutig bei MsAccess und zwar kann die neuere Version (ab 2002) die länderspezifische Einstellung des Kommas einer Dezimalzahl nicht auf Punkt umsetzen. Für die schnelle Abhilfe am XP-Client das Menue Start/Einstellungen/Systemsteuerung aufrufen; Religions-und Sprachsteuerung öffnen. Auf ‚Anpassen…‘ wechseln und das Dezimaltrennzeichen von ‚,‘ (Komma) auf ‚.‘ (Punkt) ändern.
Mich würde noch interessieren, wie Du das Problem Timestamp beim Wechsel auf V8.1 gelöst hast. Übrigens das Dezimalproblem und vielleicht auch der Fehler bei Timestamps (habe ich nicht ausprobiert) tritt ab der Version 8.2 nicht mehr auf.
Liebe Grüße aus Österreich
Lydia
30. August 2005 um 16:20 Uhr #3527
AnonymInaktivHi Lydia,
nach dem am DB2 z/OS V7 ein bestimmter Patch mit neuen Stored Procs für den ODBC Zugriff eingespielt wurde und in der db2cli.ini folgende Werte gesetzt wurden, war das Timestamp Problem erledigt:
MapTimestampCDefault=1
MapTimestampDescribe=1Allerdings werden die Timestamps neuedings mit "." statt ":" in der Zeit maskiert (oder war’s anders herum?).
Siehe auch Beitrag "Hinweis zu Problemen CLI/ODBC und DB2 Timestamp" unter https://www.ruban.de/cgi-bin/yabb/YaBB.cgi?board=DB220007;action=display;num=1107953134
Ciao
Gernot
7. Februar 2007 um 10:55 Uhr #3658
AnonymInaktivHallo,
ich habe hier in etwa das gleich Problem. DB2 9.1 unter SLES10 und XP-Client mit Access 2003. Auch ich bekomme die Fehlermeldung mit dem Dezimalfeld. Das Umstellen der Ländereinstellung bringt leider nichts.
Hat jemand noch eine gute Idee?
mfg
Sven
8. Februar 2007 um 20:27 Uhr #3755
AnonymInaktivSven,
bitte etwas präziser! (Fehlermeldung, Hinweise, Screen Shots, fehlerhafte Darstellung …) 😕
Ciao
Gernot
9. Februar 2007 um 7:03 Uhr #3817
AnonymInaktivHallo,
sorry ich dachte es ging um die ODBC-Verbindung. Also der Fehler ist "Die Genauigkeit des Dezimalfelds ist zu klein, um die von Ihnen hinzuzufügende Zahl aufzunehmen. (Fehler 3761)". Es geht hier um mindestens ein Feld Dezimal 6.Sorry für die ungenaue Beschreibung des Fehlers.
Gruß
Sven1. März 2007 um 19:07 Uhr #3857
AnonymInaktivHallo,
falls jemand mal dieses Problem hat:Ein den Einstellungen der ODBC-Verbindung muss der Patch2=15, oder über die db2cli.ini einfach per Hand
einfügen[XA001T] ; Verbindungsname
Patch1=131072 ; Parameter siehe db2-Doku
Patch2=15 ; Parameter siehe db2-Doku
DBALIAS=XA001T ; DatenbankaliasViel Erfolg noch
Sven
-
AuthorPosts
You must be logged in to reply to this topic.