Byte auslesen mit MS SQL Server

Status
Nicht offen für weitere Antworten.

thE_29

Top Contributor
So, ich stehe vor einem gravierenden Problem!

Irgendwann hat mal ein Urentwickler, ne Idee gehabt, man könnte doch Werte (die sowieso immer nur von 0-255) als byte array in der Datenbank abspeichern!
Tjo, soweit auch net schlimm. Problem ist jetzt aber jenes, das ich mit der MS SQL DB bei den Werten 129 und 140 - 144 immer 63 zurückkriege! (wahrscheinlich sinds noch mehr, aber die habe ich mal rausgefunden).

Egal ob ich mit getBytes(), getString, getAsciiStream, getCharacterStream oder getObject zurückhole!

Es ist immer wenn ich mitdebugge sofort 63 oder 65533. Ich kriege einfach NIE den richtigen Wert der in der DB steht!
Lasse ich mir mit einem C-Tool den Inhalt ausgeben, so wird dieser richtig angezeigt!

Hex Code 81 für 129, etc.. Also in der DB stehts richtig und das lustige ist, dass sogar das gleiche Programm die Werte richtig in die DB schreibt! Aber zu unfähig ist, diese Werte auch wieder rauszulesen.

Da es ja nirgends (oder gibt es eine?) Möglichkeit gibt, den Charset für Java allg. oder für die Datenbankverbindung festzulegen, drehe ich schön langsam bald durch.


Dann habe ich heute die Methode getBinaryStream probiert und sie hat funktioniert! Via ODBC Bridge auf eine JET DB (dort war das gleiche Phänomen, warum auch immer - unter Oracle hingegen tritt dieses Problem NIE auf - mit dem gleichen Programm).

So, nun die getBinaryStream Methode am MS SQL Server angewandt mit den MS Treibern und es kommt ne Exception, dass der Treiber das nicht unterstütz!

Dann den jtds Treiber für MS SQL ausprobiert und dort kommt sowieso dann bei jedem Zeichen gößer 127 der Wert 63 zurück!



Weiß jemand Abhilfe? Kann man wo generell irgendwas festlegen welchen Charset, etc das Teil haben soll oder sonstiges?!?

Ich bin echt am verzweifeln, da ich eigentlich genug andere Arbeit zu tun hätte...
 
T

tuxedo

Gast
Hmm... hast du mal folgendes probiert:

Code:
byte b = <Byte aus der DB>;
int richtigerByteWert = (int) b & 0xFF;

????

- Alex
 

thE_29

Top Contributor
Aus 63 wird selbst bei &0xFF wieder 63 ;)

Guckst du hier
Code:
        System.out.println(">>>>>>> " +(int)str.getBytes()[x] + "   " +  (int) (str.getBytes()[x] & 0xFF) + " == " + (int)str.getBytes()[x]);

>>>>>>> 63 63 == 63
>>>>>>> 126 126 == 126
>>>>>>> -126 130 == -126
>>>>>>> -125 131 == -125

Also 130, 131, 126, etc passen! Der erste 63 war ein \81 == 129 in der DB!!
 
T

tuxedo

Gast
Hmm, hätte ja sein können dass den Treiber da was "ganz krasses" macht. Weil "normal" ist das nicht dass bei verschiedenen Ausgangswerten öfters mal ein und das selbe rauskommt.

Kommst du an die Quellen ran (decompilen mit Frontend?)und kannst das ganze debuggen?
 

thE_29

Top Contributor
Naja, an die MS Quellen komme ich nicht ran und im jtds Treiber bin ich jetzt zufall nachzuschauen!

Es kann ja wohl net so schwer sein, byte Werte aus einer DB zu holen! Oracle geht ja ohne Probleme... Das ist echt zum Kotzen!

Da aber unsere C Programme/Services über einen ODBC Eintrag zugreifen, greife ich jetzt auch über ODBC zu.
Und über ODBC geht auch die Methode getBinaryStream und ich wirklich die Daten 1:1 zurück!

Ich versteh halt net, was anscheinend so schwer ist in Java 1:1 die Daten aus der DB zu kriegen!

Hatte hier schon genug Probleme beim Konvertieren wegen kyrillischen Zeichen oder osteuropäischen Zeichen.. Aber mit oracle gings noch, unter MS SQL wars wieder ein halber Albtraum..

Naja, manchmal fehlt mir in Java einfach der direkte Zugriff oder einfach wie man die Daten (signed/unsigned byte) haben will...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M byte-Array in Datenbank speichern Datenbankprogrammierung 2
Helgon H2 byte[] in BINARY einfügen Datenbankprogrammierung 4
C MySQL Fragen zu BLOB zu byte[], Date zu java.util.Date uvm. Datenbankprogrammierung 6
T Derby/JavaDB byte[] in Datenbank speichern [JPA] Datenbankprogrammierung 10
L JPA EclipseLink PostgreSQL auslesen mit Query Datenbankprogrammierung 2
Zrebna Lediglich interne DB-Verbindungen (Connections) auslesen - mittels Java Datenbankprogrammierung 4
L Oracle Oracle Datumsspalte auslesen Datenbankprogrammierung 5
A Umsätze der Bank auslesen Datenbankprogrammierung 7
G MySQL JDBC Metadaten auslesen aus .accdb -> Primärschlüssel manchmal erkannt manchmal nicht Datenbankprogrammierung 3
F Auslesen einer .dbf-Datei, Zuordnung Index Datenbankprogrammierung 0
NIckbrick MySQL Befehle aus Datenbank auslesen Datenbankprogrammierung 21
H In hibernate.cfg.xml schreiben und auslesen Datenbankprogrammierung 0
L MySQL ResultSet vollständig auslesen Datenbankprogrammierung 20
K SQLite Datenbank in App integrieren: Vor Auslesen schützbar? Datenbankprogrammierung 6
K Java Datenbank auslesen Datenbankprogrammierung 8
W Daten aus einer Datei von einem VServer auslesen Datenbankprogrammierung 1
J Onlinedatenbank einmalig auslesen Datenbankprogrammierung 1
E Wie kann ich textdateien, die als BLOB abgespeichert sind, aus der Datenbanktabelle auslesen? Datenbankprogrammierung 23
C MySQL Datenbank auslesen/beschreiben und Zusatz Datenbankprogrammierung 1
R MySQL Blob aus DB auslesen und einer Tabelle ausgeben Datenbankprogrammierung 7
E primaryKey auslesen - Datensätze abgleichen Datenbankprogrammierung 4
N SQL-Statement Auslesen des Resultset wird immer langsamer Datenbankprogrammierung 6
R MS-Access mit JAva auslesen Datenbankprogrammierung 7
2 MySQL Daten aus einer Array auslesen und MySQL Statment erstellen. Datenbankprogrammierung 5
E Tabellen nacheinander auslesen Datenbankprogrammierung 10
N HSQLDB Daten Auslesen Datenbankprogrammierung 3
E Werte auslesen Datenbankprogrammierung 3
O Metadaten / DatenbankAttribute Auslesen Datenbankprogrammierung 4
D Alle Werte aus DB auslesen und in Chart darstellen Datenbankprogrammierung 6
Ollek Auslesen DatenbanktabelleDatei iSeries Datenbankprogrammierung 10
C H2 Letzten Eintrag auslesen Datenbankprogrammierung 6
D MySQL Bild aus DB auslesen und auf FTP Speichern Datenbankprogrammierung 7
N Oracle txt. Datei auslesen-> verändern-> einlesen Datenbankprogrammierung 7
M JPA - Datenbanktabellen auslesen Datenbankprogrammierung 14
F NUR 3 datensätze auslesen Datenbankprogrammierung 6
M Datenbank (MySQL) auslesen Datenbankprogrammierung 3
S MySQL Datenbank auslesen - Treiberproblem Datenbankprogrammierung 12
F MySQL SSH Datenbank auslesen Datenbankprogrammierung 3
D Blob MimeTyp auslesen Datenbankprogrammierung 2
S Verschiedene Informationen gleichen Typs speichern und auslesen Datenbankprogrammierung 4
A PostgreSQL anfängerfrage: resultset zeilenweise auslesen Datenbankprogrammierung 2
D Hibernate: ArrayList in DB speichern und auslesen Datenbankprogrammierung 4
S Werte aus Datenbank auslesen und in eine bestimmte Excelzelle eintragen Datenbankprogrammierung 2
P MySQL Objekt aus BLOB auslesen Datenbankprogrammierung 3
B String aus txtDatei auslesen und in Datenbank schreiben. Datenbankprogrammierung 8
B häppchenweises auslesen "lazy loading" von Datenbank Datenbankprogrammierung 13
D Csv auslesen und in mysql db schreiben Datenbankprogrammierung 9
K PostgreSQL PDF-Dateien in Datenbank speichern und auslesen Datenbankprogrammierung 4
E Datenbank auslesen mit JAVA Datenbankprogrammierung 2
W MySQL Datenbanken auslesen Datenbankprogrammierung 3
H DB auslesen (Hibernate, Query, Parameter) Datenbankprogrammierung 8
J Tabelle auslesen- knifflig Datenbankprogrammierung 7
W bestimmte Zeile mit bestimmter Spalte auslesen Datenbankprogrammierung 11
Plastagen DBC Dateien korrekt auslesen Datenbankprogrammierung 2
O vernümpftig Datumsangabe in mySQL DB speichern und auslesen Datenbankprogrammierung 4
M Derby insert, ID auslesen Datenbankprogrammierung 3
S Java objekt in MYSQL auslesen Datenbankprogrammierung 32
R Update Time auslesen Datenbankprogrammierung 2
A Datenbankanbindung an mySQL und Ein-/Auslesen der Daten Datenbankprogrammierung 4
MQue speziell Auslesen aus Datenbank Datenbankprogrammierung 5
C MP3 in DB als Blob, wieder auslesen und als MP3 speichern??? Datenbankprogrammierung 8
Antoras Passwort aus DB auslesen Datenbankprogrammierung 12
V tabellenName aus den Metadaten auslesen Datenbankprogrammierung 4
L primärschlüssel auslesen Datenbankprogrammierung 6
G Bild aus als OLE-Typ aus MS Acces auslesen Datenbankprogrammierung 3
G Namen der Datebank aus einer Connction auslesen Datenbankprogrammierung 3
S Fehler beim Auslesen von Daten Datenbankprogrammierung 6
S ResultSet variabel auslesen Datenbankprogrammierung 4
G Daten schneller aus einer DB auslesen Datenbankprogrammierung 9
T Metadaten Auslesen Datenbankprogrammierung 7
B Spaltennamen von MySQL Datenbank nach Java auslesen Datenbankprogrammierung 10
A Auslesen von Werten aus der DB in eine csv-Datei Datenbankprogrammierung 4
A Auslesen aus einer csv-Datei Datenbankprogrammierung 2
N Unbekannte Datenbank über Metadaten auslesen? Datenbankprogrammierung 9
A Funktionale Abhängigkeiten auslesen Datenbankprogrammierung 4
T Datenbanknamen eines Datenbankservers auslesen Datenbankprogrammierung 9
W Auslesen von Tabellen einer MYSql Datenbank Datenbankprogrammierung 25
M Preparedstatement SQL-string auslesen Datenbankprogrammierung 13
M Mysql datenbank auslesen und mittels servlet wiedergeben Datenbankprogrammierung 3
G Oracle-Record auslesen Datenbankprogrammierung 2
M Letzter Datensatz mit auslesen(brauch kleinen Tipp) Datenbankprogrammierung 15
G Spalten Namen auslesen und Zeilen daten auslesen Datenbankprogrammierung 17
F JDBC Abfrage Werte auslesen Datenbankprogrammierung 2
V mysql - tree auslesen und richtig ordnen Datenbankprogrammierung 4
G DB auslesen und in ein JTextArea schreiben Datenbankprogrammierung 3
Z Auslesen aus einer mySQL Datenbank Datenbankprogrammierung 4
P MYSQL werte aus liste auslesen und anderen damit updaten Datenbankprogrammierung 4
T Creates der Datenbank auslesen Datenbankprogrammierung 10
W datenbankschema auslesen Datenbankprogrammierung 3
S Daten aus einer MySQL-Datenbank auslesen Datenbankprogrammierung 7
S metadaten/Tabellen des sqlservers auslesen Datenbankprogrammierung 8
S Tabellen auslesen in einer DB Datenbankprogrammierung 14
P Primärschlüssel direkt nach der Eingabe wieder auslesen Datenbankprogrammierung 7
M MySQL Tabellen in java auslesen? Datenbankprogrammierung 5
L DB Felder in einem Array speichern und wieder auslesen Datenbankprogrammierung 11
V MAX Wert und weitere auslesen Datenbankprogrammierung 2
D Zufällige Zeile auslesen Datenbankprogrammierung 6
G Auslesen und in TextBox anzeigen lassen Datenbankprogrammierung 7
D Problem mit auslesen deiner DBase Datenbank Datenbankprogrammierung 8
R Einen Integer-Wert aus einer MySQL DB auslesen Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben