2009-06-11 17 views
0

Ich verwende die folgende Abfrage, um Daten aus einer MDB-Datei über JDBC abzurufen. Wenn ich es jedoch in einer ODB-Datei versuche, werden keine Ausnahmen ausgelöst, aber es werden keine Ergebnisse angezeigt. Ich frage mich, ob .odb case sensitive wo .mdb ist nicht oder gibt es noch etwas, das ich vermisse?Verschiedene Ergebnisse von .mdb vs .odb, warum?

"SELECT DISTINCT Spalte-eins + ':' + Spalte-zwei As ResultColumn FROM Datentabelle;"

Wie kann ich eine Anweisung erstellen, die für beide Dateitypen funktioniert?

Antwort

1

Sie würden anders sein, weil sie zwei verschiedene Produkte sind, die von zwei verschiedenen Firmen geschrieben wurden, und die Programmierer verschiedene Entscheidungen trafen, wie man mit Dingen umgeht.

Haben Sie versucht, einen von Ihnen angegebenen Spaltenalias zu verwenden, vielleicht etwas aussagekräftiger als Expr1000?

So würde ich es in SQL Server schreiben, überprüfen Sie Ihre Datenbank, um zu sehen, ob dies funktionieren würde.

+0

das funktioniert für die MDB aber nicht für die ODB und habe die ursprüngliche Frage geändert, um dies zu reflektieren, danke. –

+0

Worsk jetzt für beide, danke –

1

Einige Vorschläge:

1) Verwenden Sie einfache Anführungszeichen anstelle von Anführungszeichen, z.

SELECT DISTINCT column-one + ':' + column-two As ResultColumn FROM datatable; 

2) Vielleicht behandelt die SQL-Syntax der .odb-Quelle die Verkettung anders, z. mit der .mdb wird das "+" NULL s propagieren, was bedeutet, dass wenn mindestens eins der Werte der Spalte NULL ist, dann wird das Ergebnis NULL sein; das '&'-Verkettungssymbol ignoriert NULL Werte z.B. dies in .mdb Land

SELECT DISTINCT column-one & ':' & column-two As ResultColumn FROM datatable; 

ist dies äquivalent in Standard ANSI/ISO SQL-92 (die nicht in .mdb Land unterstützt wird)

SELECT DISTINCT COALESCE(column-one, '') + ':' + COALESCE(column-two, '') As ResultColumn FROM datatable; 

3) Wenn die beiden Quellen nicht Wenn Sie die gleiche Syntax unterstützen, können Sie die verknüpfte Tabellenfunktion der MDB verwenden, um die Tabellen aus der .odb-Quelle in der MDB zu verknüpfen und nur den SQL-Code in der MDB zu verwenden.

+0

"&" Token nicht erkannt in ODB Land –

Verwandte Themen