NULL-Werte in ODBC-Abfragen auf C/SIDE-Datenbank

23. Januar 2008 17:45

Hallo zusammen,

folgendes Problem: Ich frage über N/ODBC eine native Navision-Datenbank ab. Dabei wird mir in meiner Testumgebung sowie bislang auch in der Produktivumgebung (stehen kurz vor Inbetriebnahme) für leere Felder eine leere Zeichenfolge bzw. das "Leerdatum" 01.01.1753 00:00:00:000 ausgegeben. Darauf baut auch meine Anwendung auf.

In der Produktivumgebung hat sich das "plötzlich" geändert, d.h. ich erhalte NULL-Werte für leere Textspalten und NULL-Werte in leeren Datumsspalten. "Plötzlich", weil niemand groß was geändert hätte. Das einzige ist, dass der Server mit der Navision-Datenbank ungefähr zu der fraglichen Zeit neu gestartet worden ist - aber das scheint auf den ersten Bllick nicht unbedingt relevant...

Weiß jemand von euch, ob es bei ODBC auf C/SIDE verschiedene Möglichkeiten gibt, NULL-Werte zu behandeln? Client-Einstellung (finde keine)? Oder doch was am Datenbankserver?
Der Navision-Partner konnte bisher nicht weiterhelfen, und Websuche bislang auch erfolglos.

Danke im Voraus und viele Grüße
Marc

5. Februar 2008 09:49

Hallo Marc,

ich gehe davon aus dass du die Daten mit Access oder ähnliches abfragst? Der korrekte Begriff für NULL-Werte wäre dann "Ist NULL" - oder habe ich deine Frage falsch verstanden?

Gruß Jan

5. Februar 2008 10:06

Hallo Jan,

danke für die Antwort. Ich frage die DB mit Linked Server aus MS SQL Server ab.

Inzwischen hat sich das Problem mit Hilfe des Navision-Partners geklärt: Es lag wohl an unterschiedlichen Versionen von Navision-Datenbank und ODBC-Treiber auf dem anderen Server.

Meine Anwendung kümmert das inzwischen auch nicht mehr, die hab ich umgebaut. Es traten wegen der unterschiedlichen Treiberstände allerdings auch noch andere Phänomene auf: Eine Tabelle wurde in der Tabellenauflistung zurückgegeben (=ein ODBC-Client-Tool hat sie angezeigt), konnte aber mit select * from ... nicht abgefragt werden, mit Fehlermeldung, dass diese Tabelle nicht existiert. Außerdem konnte man bei Inserts über ADO.NET in Datumsspalten keine Parameterbindung mehr verwenden.
Na ja, mit der passenden ODBC-Treiber Version ging das dann alles wieder.

Viele Grüße

Marc