Zusätzliche Leerzeichen bei JDBC Abfrage

Status
Nicht offen für weitere Antworten.

dirty-mg

Bekanntes Mitglied
Hallo liebes Forum,

meine Anwendung verbindet sich per JDBC zu einem MSSQL 2000 Server. Nun kommt es vor, dass bei einer Abfrage eines NVARCHAR Wertes zusätzliche Leerzeichen am Ende enthalten sind, die aber nicht in der DB gespeichert sind. Wenn ich es über eine ODBC Verbindung probiere, sind die Leerzeichen weg und alles funktioniert wie gewollt. Kann man das vielleicht im JDBC Treiber einstellen? Ich benutze übrigens den MS SQL 2000 JDBC Treiber.


Vielen Dank
Marcus
 

dirty-mg

Bekanntes Mitglied
Hallo,

hab jetzt auch JTDS 1.2.2 ausprobiert. Der läuft allerdings besteht das Problem der zusätzlichen Leerzeichen weiterhin.

Hat jemand ne Idee?

mfg
Marcus
 

thE_29

Top Contributor
Die Frage ist halt ob da nicht wirklich Leerzeichen drinnen sind und ODBC das weg macht?
 

dirty-mg

Bekanntes Mitglied
wenn ich per SQL das Feld abfrage ==> LEN(feld) kommt 24 raus. Im Java ist der String dann 255 Zeichen lang ...
 

dirty-mg

Bekanntes Mitglied
Hallo,

folgende Werte bekomme ich nun:

datalength(feld) = 510
LEN(feld) = 24

Das Feld hat den Datentyp NVARCHAR(255) NULL. Was genau gibt denn die Funktion datalength() an?

mfg
Marcus
 

FenchelT

Bekanntes Mitglied
Aus der Doku

LEN
Gibt die Anzahl der Zeichen im gegebenen Zeichenfolgenausdruck zurück (nicht die Anzahl an Bytes), wobei nachfolgende Leerzeichen ausgeschlossen werden.



DATALENGTH
Gibt die Anzahl von Bytes zurück, die zum Darstellen eines Ausdrucks verwendet werden.



Gib mal folgendes ein:

SELECT 'a'+ dein_feld + 'b'
FROm deine_tabelle

Dann siehst Du, wieviele Leerzeichen Du tatsaechlich in dem Feld hast
 

dirty-mg

Bekanntes Mitglied
Bei dieser Abfrage kommt raus: "aMeinWert ". Der String ist 256 Zeichen lang und das 'b' sehe ich leider nicht mehr. Sollte NVARCHAR nicht nur so viele Zeichen speichern, wie mein Wert lang ist? Kann man das irgendwie umgehen?

mfg
Marcus
 

FenchelT

Bekanntes Mitglied
Ist der Datentyp wirklich nvarchar() oder ist er nchar()?

Wie sind die Daten in das System gekommen? Von irgendwoher eingelesen, oder haendisch eingetippt?
 

dirty-mg

Bekanntes Mitglied
Anscheinend hat meine Anwendung die Leerzeichen eingefügt und die ODBC Bridge hat diese wieder entfernt. Somit ist es mir nicht aufgefallen. Hab jetzt meine Anwendung geändert. Komisch ist nur, dass der SQL Server bei der Abfrage "LEN(feld)" mir die Länge ohne die angehangenen Leerzeichen liefert.
 

FenchelT

Bekanntes Mitglied
dirty-mg hat gesagt.:
Komisch ist nur, dass der SQL Server bei der Abfrage "LEN(feld)" mir die Länge ohne die angehangenen Leerzeichen liefert.


Hast Du meinen Doku Post gelesen?
Es ist nicht Aufgabe der len() Funktion dies zu tun. Dafuer gibt es datalength()
 

dirty-mg

Bekanntes Mitglied
Klar hab ich den gelesen. Hat mich nur gewundert, dass datalength() 510 ausgegeben hat obwohl das Feld doch max. 255 Zeichen speichern kann???
 
S

SlaterB

Gast
zur Vermutung gehört auch noch, ob das für die Anzeige 510 überhaupt eine Rolle spielt
 

dirty-mg

Bekanntes Mitglied
Vielen Dank. Nun ist alles etwas klarer. Ich bekomme jetzt bsp. für LEN(feld) = 24 und für datalength(feld) = 48.

Bis demnächst
 

dirty-mg

Bekanntes Mitglied
Hab ich schon vorhin gelesen. mir war nur nicht klar, dass 2 Byte zum Speichern benötigt werden ;-) ich sag nur "rtfm" wa?
 

thE_29

Top Contributor
Oho, da hat meine Antwort sogar gepasst :D
Diese elendige ODBC Bridge hat mich auch schon zur Weißglut gebracht ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Z Aus zwei bestehenden Table eine zusätzliche Gemeinsame machen (JavaFX) Datenbankprogrammierung 21
B Leerzeichen nach Umlaut -> Sichtbar erst nach Query! Datenbankprogrammierung 6
D Frage zu potenziellen Leerzeichen in einer Datenbank Datenbankprogrammierung 5
C HSQLDB Leerzeichen in Ausgabe Datenbankprogrammierung 4
T String in DB(Oracle) schreiben mit Leerzeichen Datenbankprogrammierung 4
M Abfrage trennt Ergbnis eines Atrributes nach den Leerzeichen Datenbankprogrammierung 4
B SQLite + jdbc + IntelliJ-Consumer = "No suitable driver found..." Datenbankprogrammierung 15
J PC-Start Problem JDBC Connection Datenbankprogrammierung 10
N JDBC SQLITE und Cascading Datenbankprogrammierung 2
D Asynchrone Aufrufe mit jdbc Datenbankprogrammierung 5
Edin JDBC Hilfe Datenbankprogrammierung 2
H JDBC Tabellen ausgeben Datenbankprogrammierung 8
Husamoli345 JSF-JDBC Verbindung Crud Datenbankprogrammierung 15
G MySQL JDBC Metadaten auslesen aus .accdb -> Primärschlüssel manchmal erkannt manchmal nicht Datenbankprogrammierung 3
N Java, sql, jar, JDBC-Treiber in Classpath Datenbankprogrammierung 8
O Create Table per JDBC Fehler: ORA-00922 Datenbankprogrammierung 4
J JDBC anschaulich präsentieren Datenbankprogrammierung 2
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
ralfb1105 Oracle JDBC Debugging Datenbankprogrammierung 8
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7
Thallius MySQL jdbc schließt Verbindung nach vielen Request von selber Datenbankprogrammierung 8
B MySQL JDBC Kommentarfilter Datenbankprogrammierung 4
Aruetiise MySQL Name JDBC Drive finden Datenbankprogrammierung 4
E Sqlite-jdbc Mitliefern Datenbankprogrammierung 4
R jdbc-Zugriff Nicht erlaubt ? Datenbankprogrammierung 16
S probleme mit dem jdbc treiber Datenbankprogrammierung 1
Thallius MySQL Merkwürdiges JDBC Verhalten bei VPN Verbindung. Datenbankprogrammierung 7
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
F MySQL JDBC Problem Datenbankprogrammierung 5
C JDBC und SQLite Datenbank Datenbankprogrammierung 8
looparda SQLite Active JDBC Abstraktion Datenbankprogrammierung 2
J JDBC SQL Statement mit Parameter Datenbankprogrammierung 7
S JDBC PreparedStatement durchiterieren Datenbankprogrammierung 6
J RESTServie + JDBC + No suitable driver found for jdbc Datenbankprogrammierung 4
KaffeeFan JDBC/ODBC-Bridge entfernt Datenbankprogrammierung 4
S sun.jdbc.odbc.JdbcOdbcDriver wird nicht gefunden Datenbankprogrammierung 2
J Fehlende DatenbankView nach einbeziehen von JDBC Datenbankprogrammierung 3
A Mit JDBC auf postgreSQL Datenbank zugreifen Datenbankprogrammierung 5
C PostgreSQL JDBC + PostgreSQL: getLong liefert 0 statt NULL Datenbankprogrammierung 2
flenst111 SQL-Statement Wie konfiguriert man JDBC-Connect.richtig, damit es bei riesigen Tabs keinen Speicherüberlauf gibt? Datenbankprogrammierung 1
M JDBC Tabellen mit Boolean Spalten können nicht erstellt werden. DB Updaten - wie? Datenbankprogrammierung 6
S JDBC mit Postgres DB connecten Datenbankprogrammierung 3
A Eine MySQL Zeile mit JDBC löschen Datenbankprogrammierung 5
D JDBC - Verständnisfrage Datenbankprogrammierung 2
C Tabelle erstellen mit Apache JDBC-Util Datenbankprogrammierung 1
L Conversion-Error bei JDBC Date Literals Datenbankprogrammierung 3
X MySQL DB-verbindung ohne JDBC/ODBC Datenbankprogrammierung 1
F sun.jdbc.odbc.jdbcodbcdriver wird nicht gefuden Datenbankprogrammierung 3
J Keine Verbindung zu MSSQL DB mit JDBC Datenbankprogrammierung 3
U JDBC prepaird Statements Datenbankprogrammierung 4
B MySQL JDBC Zugriff auf entfernt Datenbank, fehlende Rechte Datenbankprogrammierung 2
Q MySQL JDBC-Treiber Problem Datenbankprogrammierung 2
R Transaktionen von mehreren Anwendungen aus - JDBC Datenbankprogrammierung 3
N MySQL com.microsoft.sqlserver.jdbc.SQLServerException: Die Verbindung wurde geschlossen. Datenbankprogrammierung 1
N JDBC: rollback() bei Exception geht nicht!? Datenbankprogrammierung 1
C Dateipfad des jdbc Treibers Datenbankprogrammierung 2
G JDBC Connect nur über SID fehlerfrei möglich Datenbankprogrammierung 2
R Oracle jdbc Zugriff auf Oracle Datenbankprogrammierung 2
T JDBC Fehler Datenbankprogrammierung 2
J JDBC via Singleton Datenbankprogrammierung 12
Z PostgreSQL JDBC mit Postgresql Datenbankprogrammierung 2
B No suitable driver found for jdbc:oracle:thin:@$HOST:$PORT:$SID Datenbankprogrammierung 7
K JDBC via Netzwerk Datenbankprogrammierung 4
B JDBC Connection Fehler Datenbankprogrammierung 8
K JDBC- In Java "stored procedure" erstellen für DB2,OracleSql ... Datenbankprogrammierung 3
J JDBC in Library|"Treiber konnte nicht geladen werden"" Datenbankprogrammierung 2
B JDBC-Connection: Data source name too long Datenbankprogrammierung 3
D JDBC insert mit select abfrage Datenbankprogrammierung 5
A JDBC Prepared Statement Autoincrement Datenbankprogrammierung 3
H JDBC prüfen ob Table existiert Datenbankprogrammierung 3
crashfinger jdbc-connection mit jre7 funktioniert nicht Datenbankprogrammierung 5
0 JDBC Oracle Verbindungsaufbau Datenbankprogrammierung 6
Q Oracle Linux: ClassNotFoundException: oracle.jdbc.driver.OracleDriver Datenbankprogrammierung 6
B JDBC MySQL Statement Datenbankprogrammierung 3
F Oracle Oracle JDBC Anbindung unter Glassfish 3.1.2 Datenbankprogrammierung 3
V PostgreSQL JDBC Treiber fehlt Datenbankprogrammierung 6
Y JDBC - Datenbankabfrage Webserver Datenbankprogrammierung 4
C JDBC Datenbank funktioniert nicht Datenbankprogrammierung 7
C JDBC , JDO oder JPA Datenbankprogrammierung 17
J MySQL Datenbank konfigurieren, JDBC, MySQL oder Hibernate Datenbankprogrammierung 2
P JDBC Verbindung zur DB klappt nicht Datenbankprogrammierung 6
J Java - JDBC Verbindung zur Datenbank nicht möglich Datenbankprogrammierung 10
K JDBC Buch kaufen? Datenbankprogrammierung 3
K Hibernate vs. JDBC Datenbankprogrammierung 4
K JDBC Driver not found Datenbankprogrammierung 10
GianaSisters Per JDBC auf Microsoft SQL 2005 Datenbankprogrammierung 24
S ich brauche tipps für JDBC Datenbankprogrammierung 4
Paristick MSSQL - JDBC Exception beim Registrieren Datenbankprogrammierung 5
S Applet stucks at SQL Connection (jTDS JDBC) Datenbankprogrammierung 15
R MySQL Voraussetzungen für eine erfolgreiche Datenbankanbindung mittels JDBC Datenbankprogrammierung 2
c_sidi90 JDBC Oracle Connection schlägt fehl Datenbankprogrammierung 2
J jdbc-dataSource in Klassen nutzen Datenbankprogrammierung 2
H Rechnen in Datenbanken - JDBC Mittel der Wahl? Datenbankprogrammierung 32
K MySQL JDBC - Access Datenbank - unbekannter TabellenName Datenbankprogrammierung 4
D JDBC Fehler beim laden der nativen Bibliothek db2jcct2 Datenbankprogrammierung 9
J MySQL Verbindung über JDBC scheitert immer Datenbankprogrammierung 2
I Master/Detail Tabellen mit JDBC und Swing Datenbankprogrammierung 10
S MSSQL JDBC "Driver class not found" Datenbankprogrammierung 9
E Datenbankverbindung mit Oracle JDBC und Eclipse Plugin Quantum db Datenbankprogrammierung 2
ruutaiokwu jdbc connection als singleton Datenbankprogrammierung 11

Ähnliche Java Themen

Neue Themen


Oben