SQL Server-Ausnahme: "Der Spaltenname xxx ist nicht gültig" bei Verwendung von JDBC

8

Ich erhalte vom SQL Server-JDBC-Treiber einen seltsamen Fehler. Es sagt mir, dass ein Spaltenname ungültig ist, obwohl die Spalte vorhanden ist, korrekt benannt und die gleiche Abfrage funktioniert gut, wenn sie in SqlServer Management Studio ausgeführt wird.

Der Fehler ist:

%Vor%     
Kevin Stembridge 21.01.2010, 16:13
quelle

3 Antworten

12

Problem gelöst. Es war ein einfacher Fehler von mir.

Meine Abfrage verwendete eine AS-Klausel in der SELECT-Anweisung. Ich habe versucht, den Spaltenwert aus dem ResultSet unter Verwendung des tatsächlichen Spaltennamens anstelle des in der AS-Klausel definierten Spaltenalias abzurufen.

Schülerfehler. Entschuldigung für die Zeitverschwendung.

Vielen Dank an Steve B. für seinen Vorschlag, ResultSet.getColumnNames () zu verwenden. Der tatsächliche Methodenaufruf, den ich verwendete, war ResultSet.getMetaData (). GetColumnName (columnIndex);

    
Kevin Stembridge 21.01.2010, 17:06
quelle
1

Überprüfen Sie den Fall Ihres Tabellennamens. Wenn die Sortierung auf ms sql server auf case sensitive gesetzt ist, sind auch die Tabellennamen betroffen.

    
Mauricio 21.01.2010 16:47
quelle
0

Versuchen Sie, den Spaltennamen in eckige Klammern einzufügen: [MarginCall] Nur eine Vermutung.

    
David Espart 21.01.2010 16:17
quelle

Tags und Links