Insert in MS SQL Server Db funktioniert nicht richtig

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo,

Ich habe folgendes Problem:

Ich mache einen Insert über JDBC zu einer MS SQL Server DB ina Java.
Wenn ich mir jetzt die Datenbanktabelle anschaue sind die Datensätze zwar eingetragen, werden aber nur angezeigt
sobald man auf dem jeweiligen Feld klickt.
Wenn ich den Insert aber nicht in Java programmiere, sondern manuell eingebe, passiert das nicht.

Woran kann das liegen?

Danke im Voraus
 

Caffè Latte

Bekanntes Mitglied
Hi,

wie schaust du dir denn die Datenbanktabelle an? Auch mit dem Javaprogramm, das zuvor die INSERTs abgesetzt hat? Oder mit einer anderen Anwendung?
 
G

Guest

Gast
Hi,

mit einer anderen Anwendung. Sie nennt sich "SQL Server Enterprise Manager"
 

Caffè Latte

Bekanntes Mitglied
Hi,

ich kenne diese Anwendung nicht, aber das ist IMHO auch nicht so wichtig. Läuft die Anwendung parallel zum Javaprogramm? Dann bekommt sie die Änderungen vielleicht nicht oder zu spät mit. Oder tritt das Phänomen auch auf, wenn du zuerst die INSERTs mit Java machst und dann den SQL Server Manager startest? Ändert sich an dem Verhalten was, wenn du explizit ein COMMIT absetzt?
 

AlArenal

Top Contributor
Iss doch logisch. Woher soll denn dein Manager merken, dass von irgendwo kommend irgendwer Daten in der DB geändert hat? Wenn du in dem Manager selbst die Daten änderst, ist das Tool natürlich schlau genug das zu merken und mal eben neu einzulesen.
 
G

Guest

Gast
Das problem tretet auch auf wenn ich die Anwendung später starte.
Was meinst du mit commit?
 

lhein

Top Contributor
Naja, er hat gesagt, wenn er aufs Feld klickt, kommt der Wert zum Vorschein.
Kann es sein, dass der irgendwie das hintere Ende der Spalte anzeigt? Wenn Du dann draufklickst, geht er an den Anfang und die siehst den Inhalt? Der MSSqlserver füllt varchars bis zur max. länge mit Leerzeichen auf, evtl. ist das ja schon das Problem.

lr
 
G

Guest

Gast
wenn ich draufklicke erscheinen die Einträge zudem verzerrt.

Beispiel: wenn der Eintrag 'Test' ist, erscheint es so in der Datenbank: 'T e s t'
 

lhein

Top Contributor
Spalte ist Unicode und du insertest Ascii? oder umgekehrt? Sieht jedenfalls nach eben so einem Problem aus.
 
G

Guest

Gast
hallo,

wenn das so ist, weiß du vielleicht wie ich dieses Problem lösen kann?

Gruß
 

lhein

Top Contributor
Zuallererst wäre mal interessant, welchen DB-Treiber du nimmst. ODBC Bridge oder den JDBC von MS.
Dann ist noch interessant, welchen Datentyp die betroffene(n) Spalte(n) haben.
Zuletzt wäre es schön, wenn Du noch den entsprechenden Part des Java-Tools posten könntest, wo Du Daten in die DB einfügst.

Grüße
lr
 
G

Guest

Gast
ja aber wieso funktioniert es wenn ich den gleichen query in die SQL Konsole der Anwendung eingebe?
 

lhein

Top Contributor
Anonymous hat gesagt.:
ja aber wieso funktioniert es wenn ich den gleichen query in die SQL Konsole der Anwendung eingebe?

Weil der intern weiss, wie er die Datentypen handhaben muss. Beantworte mal die Fragen oben, dann sehen wir hoffentlich wo das Problem liegt.

lr
 
G

Guest

Gast
Die Datentypen stimmen alle, sonst würde ich ja eine Fehlermeldung bekommen.
Alle Spalten sind vom Typ varchar

Code:
queryEIS = "INSERT INTO EIS (ProductKey,ProductID,ProductNameNew) VALUES("+key+","+id+","+FileCourseData.dataAll[j][1]+")";

Kann es sein, dass der Fehler an den Parametern meines Statements:

Code:
stmtTest = Main_Servlet.connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
 

lhein

Top Contributor
Anonymous hat gesagt.:
Die Datentypen stimmen alle, sonst würde ich ja eine Fehlermeldung bekommen.
Alle Spalten sind vom Typ varchar

Code:
queryEIS = "INSERT INTO EIS (ProductKey,ProductID,ProductNameNew) VALUES('"+key+"', '"+id+"', '"+FileCourseData.dataAll[j][1]+"')";

Kann es sein, dass der Fehler an den Parametern meines Statements:

Code:
stmtTest = Main_Servlet.connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);


wenn alle von Typ varchar sind, dann fehlen zuallererst mal Anführungszeichen / Hochkommata (siehe oben).
mich wunderts, dass der sql server da nicht meckert.

OPS, hatte varchar mit nchar / char verwechselt, aber probiers trotzdem mal mit Hochkommas.

lr
 
G

Guest

Gast
Ich habe mal ausprobiert statt den statischen Arrays ein String in eine Variable zu speichern und siehe da, die
Werte werden richtig in die DB gespeichert.
Nur wenn ich diesen bestimmten zweidimensionales Array benutze klappt es nicht richtig. Ich habe mir den Wert dieses Arrays ausgeben lassen, aber er hat genau den gleichen Wert wie die Variable, deshalb kann ich mir nicht erklären wieso es bei dem nicht klappt.
 

lhein

Top Contributor
Also, nochmals.
Du speicherst die Daten in varchar Spalten als String mit Hochkommata und es funktioniert. Wenn auch das 2d Array Stringwerte enthält und die Spalte in der DB ebenfalls vom Typ varchar ist, dann sollte auch das funktionieren. Ich kann mir max. vorstellen, dass Du in dem Array irgendwelche Objekte speicherst, dann musst Du Dir natürlich im Klaren darüber sein, dass ein

Code:
....'"+FileCourseData.dataAll[j][1]+"')";

implizit die Methode toString() des im Array gespeicherten Objekts aufruft, was evtl. nicht dem entspricht, was du gerne speichern würdest.

lr
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Problem bei Insert mit JDBC auf MS-SQL-Server 2005 Datenbankprogrammierung 7
K INSERT INTO bei Windows 2005 SQL Server Standard Edition . Datenbankprogrammierung 2
T compiler fehler: should be mapped with insert="false" update="false" Datenbankprogrammierung 1
L SQL Datenbank INSERT INTO Datenbankprogrammierung 6
L SQL Datenbank Tabelle insert Datenbankprogrammierung 7
O HOW TO INSERT PRIMARY INTO ANOTHER TABLE AND USE IT AS FOREIGN KEY TO DISPLAY DATA IN A RELATIONSHIP Datenbankprogrammierung 3
G Eine Spalte in xampp als Typ array erstellen - ein array mit "insert" hinzufügen. Datenbankprogrammierung 3
C Problem with INSERT.............ON DUPLICATE KEY Datenbankprogrammierung 3
A MySQL Select und Insert in Java Datenbankprogrammierung 15
S PostgreSQL Bytea INSERT Datenbankprogrammierung 8
W Problem mit Insert in zwei Tabellen Datenbankprogrammierung 8
L INSERT INTO Befehl in Java Datenbankprogrammierung 8
L SQL-Statement INSERT INTO ON DUPLICATE KEY UPDATE funktioniert nicht Datenbankprogrammierung 5
D Insert Methode per Servlet Datenbankprogrammierung 2
D Insert Methode per Servlet Datenbankprogrammierung 0
D SQLite INSERT OR REPLACE INTO macht neuen Eintrag?! Datenbankprogrammierung 2
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
B JPA->fehler beim Insert in die Datenbank Datenbankprogrammierung 3
A Oracle insert Array in DB Datenbankprogrammierung 7
C MySQL JTable in JScrollPane nach insert aktualisieren Datenbankprogrammierung 3
X SQLite Erhalte bei Query INSERT INTO eine NullPointerException Datenbankprogrammierung 10
M JAVA Derby INSERT probleme Datenbankprogrammierung 12
Y MySQL Eclipselink Insert JSF Beispiel gesucht Datenbankprogrammierung 2
T MySQL MySQL - Insert into fügt zwei identische Datensätze ein Datenbankprogrammierung 2
M Derby/JavaDB Derby SQL Insert mit AUTO_INCREMENT, welche ID wurde vergeben? Datenbankprogrammierung 6
D HSQLDB INSERT INTO in einer For Schleife mit selber ID, machbar? Alternative? Datenbankprogrammierung 7
J SQL-Statement Meine insert befehle funktionieren nicht und ich weiß nicht wo der fehler liegt Datenbankprogrammierung 5
M INSERT-Problem = integrity constraint violation: foreign key no parent Datenbankprogrammierung 5
P MySQL INSERT / UPDATE MySQL - perStoredProcedure oder direkt im Code Datenbankprogrammierung 3
M MySQL Insert über mehrere Tabellen Datenbankprogrammierung 7
V HSQLDB Insert in eine Tabelle mit Autoincrement Datenbankprogrammierung 2
B MS SQL: Insert LOB Datenbankprogrammierung 4
M MySQL INSERT will einfach nicht funktionieren Datenbankprogrammierung 9
H HSQLDB insert .... values("test1",select test2 from foo) Datenbankprogrammierung 2
D JDBC insert mit select abfrage Datenbankprogrammierung 5
R vor/nach INSERT mysql-SETS absetzen Datenbankprogrammierung 2
C insert into mit between-Anweisung Datenbankprogrammierung 10
C Derby/JavaDB INSERT auf FOREIGN KEY schlägt fehl Datenbankprogrammierung 2
F Insert into Access Datenbankprogrammierung 3
S Nochmals: ID ermitteln nach Insert Datenbankprogrammierung 2
S ID Wert von Insert über jdbcTemplate.update Datenbankprogrammierung 3
O Viele Verbindungen-Exception bei insert Daten zur MySQL-Datenbank Datenbankprogrammierung 2
B SELECT ja - INSERT nein (MySQL) Datenbankprogrammierung 3
E Derby/JavaDB Keine Reaktion von "insert into" im ActionListener Datenbankprogrammierung 22
A Oracle Unbekannter Fehler bei insert Befehl Datenbankprogrammierung 3
T MySQL Db select * und Insert schlagen fehl Datenbankprogrammierung 2
Kenan89 Insert ohne Auswirkung Datenbankprogrammierung 7
B MySQL myBatis INSERT Datenbankprogrammierung 13
E Access Datenbank mit Insert befüllen Datenbankprogrammierung 5
M Datenbankverbindung zu langsam beim Insert? Datenbankprogrammierung 6
S 2 Tabellen zu einer zusammenführen, INSERT INTO Fehler Datenbankprogrammierung 5
L H2 Auto INC Primary Key & Insert Datenbankprogrammierung 8
R Derby/JavaDB Insert Statement Probleme Datenbankprogrammierung 14
F H2:Wie kann man insert eine Reihe "int" wert als blob in table? Datenbankprogrammierung 12
S MySQL INSERT schlägt nicht fehl, fügt aber auch nichts ein Datenbankprogrammierung 13
S Probleme mit INSERT Befehl Datenbankprogrammierung 11
L MySQL Prepared Statement batch langsamer als bulk insert? Datenbankprogrammierung 10
M Insert in Table mit 250 Feldern Datenbankprogrammierung 2
E [ACCESS ODBC] INSERT INTO Fehler Datenbankprogrammierung 4
A Insert Methode Syntaxfehler Datenbankprogrammierung 2
G INSERT DATE in Oracle-DB Datenbankprogrammierung 11
G ODBC Insert und gleich danach Selects Datenbankprogrammierung 8
Iron Monkey Insert into Spalte ID AUTO_INCREMENT Datenbankprogrammierung 7
C ID-Rückgabe bei INSERT Datenbankprogrammierung 5
D mysql insert - performance/robustheit, "best practice" Datenbankprogrammierung 15
M Hibernate: Insert statt Update Datenbankprogrammierung 8
C Rückgabe ob INSERT erfolgreich Datenbankprogrammierung 11
H Batch Update/Insert Datenbankprogrammierung 4
E Insert oder Update- Prüfung Datenbankprogrammierung 3
K DB2 Insert mit Subselect Fehler Datenbankprogrammierung 2
M Derby insert, ID auslesen Datenbankprogrammierung 3
G Frage zum Insert-Statement Datenbankprogrammierung 2
R Probleme mit Insert Datenbankprogrammierung 2
D Problem: Prepared Statement (Insert) funktioniert nicht. Datenbankprogrammierung 3
M Insert Update usw. Datenbankprogrammierung 2
P Insert into mit zwei Datenbanken Datenbankprogrammierung 3
S Insert mit Select Datenbankprogrammierung 6
G INSERT-STATEMENT Datenbankprogrammierung 6
M insert in 2 tabellen Datenbankprogrammierung 7
J Insert auf Access DB funktioniert nicht Datenbankprogrammierung 5
H Beim insert bekomme ich den Fehler missing select keyword Datenbankprogrammierung 2
V Fehlermeldung beim Insert Datenbankprogrammierung 16
S Insert into , executeupdate oder executequery Datenbankprogrammierung 3
B PrepareStatement "Insert into" fehlermeldung Datenbankprogrammierung 13
D Insert Oracle BLOB Datenbankprogrammierung 1
T ibatis + "generated p-key" nach insert? Datenbankprogrammierung 24
G Herausfinden des Primary Keys nach INSERT-Kommando? Datenbankprogrammierung 4
G INSERT abfragen ob erfolgreich? Datenbankprogrammierung 5
D INSERT String enthält ' wie kann man das Escapen? Datenbankprogrammierung 4
T INSERT-Befehl in Java für Oracle Datenbankprogrammierung 4
Y Hibernate - Datum Insert Datenbankprogrammierung 7
D ODBC Zugriff auf MDB-Datenbank, Insert Into ohne Funktion Datenbankprogrammierung 2
U INSERT INTO von 2 Textfeldern Datenbankprogrammierung 6
D Syntaxfehler in der INSERT INTO Anweisung Datenbankprogrammierung 2
F JAVA & MySQL : INSERT INTO DB ! Datenbankprogrammierung 2
D Problem mit INSERT INTO Datenbankprogrammierung 19
S insert into table Datenbankprogrammierung 8
S Insert in Datenbank Datenbankprogrammierung 15
G Insert-anweisung mehrere Varianten eine geht Datenbankprogrammierung 2
P frage zu "" bei INSERT STATEMENTS Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben