DJTank Geschrieben 27. Juli 2005 Teilen Geschrieben 27. Juli 2005 Hallo Gemeinde, folgendes Problem: Ich habe hier ein ziemlich großes Update-Statement in Access. jetzt bekomme ich bei einigen Feldern jeweils die Meldung "Typen unverträglich". Zieldatenbank ist Oracle 9i, welche in Access per ODBC darauf verlinkt ist. Beispielsweise möchte ich ein ursprüngliches Byte-Feld in ein Oracle-Feld mit den Attributen "Number, Größe:3" updaten, ich bekomme aber immer diesen Fehler. Wie bzw. wo muss ich die inkompatiblen Dinge konvertieren, dass es funktioniert? Im Update-Statement selber habe ich sogar schonmal alle Werte sicherheitshalber in "sichere Datentypen" konvertiert, ohne Erfolg. Hat jemand allgemeine Tipps für mich? Dankeschön! lg Stefan Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 27. Juli 2005 Teilen Geschrieben 27. Juli 2005 also in access bringst du in den datentyp byte (der tatsächlich ein byte benötigt) nur ganzzahliges von 0 bis 255 rein. wenn du oracles number(3) nach access per odbc verknüpfst, erkennt er es als decimal mit 28 stellen genauigkeit und 12 byte speicherverbrauch - versuch es mal als number ohne angabe von size bzw. scale. edit: ahjo, schau dir mal die access-faq von donkarl an, pkt. 8.8 gibt dir einige infos zu datentypen in oracle/access: http://www.donkarl.com/index.htm?/FAQ/FAQ8Kommunikation.htm und lg nach vlbg aus wien s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DJTank Geschrieben 28. Juli 2005 Autor Teilen Geschrieben 28. Juli 2005 Guten morgen, liebe Grüße zurück nach Wien an den Bungee-Jumper Ich war kürzlich erst aufm Turm (aber nur zum Essen). So Off-Topic-Ende, der Tipp war wirklich super, vielen Dank. Gruß Steve Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DJTank Geschrieben 28. Juli 2005 Autor Teilen Geschrieben 28. Juli 2005 Aber nochmal eine Zusatzfrage: Wenn ich versuche, die wirklich passenden Datentypen zu verwenden (lt. dem Microsoft Dokument von einer der obigen Quellen), dann bleibt es weiterhin bei "Typen unverträglich", lediglich der Einsatz von Strings funktioniert einwandfrei. Ist das richtig so oder mache ich etwas falsch, dass ich zB. in ein Oracle-Feld mit number (Größe:1, Scale:0) keinen Access-Integer-Wert einfügen kann. Liegt das eventuell daran, dass ein integer-Wert größer sein kann als ein number-Wert aus Oracle mit Größe 1? lg Stefan Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 28. Juli 2005 Teilen Geschrieben 28. Juli 2005 Ist das richtig so oder mache ich etwas falsch, dass ich zB. in ein Oracle-Feld mit number (Größe:1, Scale:0) keinen Access-Integer-Wert einfügen kann. Liegt das eventuell daran, dass ein integer-Wert größer sein kann als ein number-Wert aus Oracle mit Größe 1? number(3) bei oracle heisst: maximal drei vorkommastellen, sonst nix, d.h. maximal 999. 999 geht noch, bei 1000 bekommst du einen ORA-01438. wenn du integer (das ja, je nachdem ob es signed oder unsigned ist, maximal 32768 oder 65536 sein kann) in oracle speichern willst, musst du number mit einer grösseren size (oder ganz ohne) angeben. die scale bei number ist nur für die nachkommastellen zuständig. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.