Ich habe ja einen Defaultwert der von Standard abweicht.

Die Tabelle ist so definiert:

Code:
CREATE TABLE Datei
(
    DATEINR INTEGER NOT NULL,
    DATEINAME VARCHAR(250) NOT NULL,
    DATEIDATUM TIMESTAMP NOT NULL,
    DATEIGROESSE INTEGER NOT NULL,
    KOMPRIMIERT SMALLINT NOT NULL,
    TYPGRP SMALLINT NOT NULL DEFAULT 1001,
    TYP SMALLINT NOT NULL,
    PRIMARY KEY (DATEINR)
);
Für die Spalte "TYPGRP" ist ein Defaultwert von 1001 definiert. Die Tabelle gibts sowohl auf einem SQL-Server als auch auf der AS400. Über die ODBC Funktion "SQLColumns" bekomme für diese Spalte als Defaultwert "(1001)" angezeigt (was ja auch korrekt ist), wenn ich auf die SQL-Server Datenquelle zugreife. Die AS400-Datenquelle liefert hingegen einen NULL-Wert (Feldlänge = 0). Aber in diesem Fall weicht die 1001 doch deutlich von dem nummerischen Defaultwert ab (0), so dass ich diese 1001 auch hier erwartet hätte.

Meine Idee war nun tatsächlich, die Defaultwerde über SYSCOLUMNS auszulesen, was aber wenig elegant ist da man auf die Datenbankunabhängigkeit verzichten muss.

AS/400-ODBC unterstützt auch Schema-Abfragen (wie die meisten anderen auch), du musst nicht gezielt auf die SYSCOLUMNS gehen.
Das habe ich leider nicht verstanden Was sind Schema-Abfragen und wie "verwende" ich diese ?

Danke für die Auskunft und Viele Grüße

Thomas