deutschsprachige FoxPro User Group
Forum View
Home
  
  String or binary data would be truncated- #2047 in section [742150]
Sec: (16) MS SQL C/S
Von: Bernhard Sander
An: Harro Schippan
Am/Um: 05.07.2019 13:28:05 gelesen

Hallo Harro,


 

Hallo zusammen,
wenn ich mit SQLEXEC() einen UPDATE oder INSERT mache und dabei Feldinhalte zu lang sind, bekommt man die Meldung "String or binary data would be truncated".

Warum erzählt einem die Meldung nicht, mit welchem Feld das Problem besteht?

Dann geht die elende Sucherei los.
Dabei quäle ich mich seit Jahren um das betreffende Feld zu finden.

Gibt es eine Methode um das Feld schnell zu identifizieren?




Wie Christian schon schrieb gibt es in neueren SQL-Server-Versionen eine erweiterte Fehlermeldung, die auch das betroffene Feld ausgibt,
siehe auch hier: https://feedback.azure.com/forums/908035-sql-server/suggestions/32908417-binary-or-string-data-would-be-truncated-error

Anscheinend muss man aber auch noch einen Schalter am SQL-Server umstellen. Dazu mehr in
https://blogs.msdn.microsoft.com/sql_server_team/string-or-binary-data-would-be-truncated-replacing-the-infamous-error-8152/
"You need to enable trace flag 460"


Bei handgemachten SQL-Befehlen hilft vielleicht diese Idee:

Gelegentlich liefert die Fehlermeldung auch einen Hinweis auf die betroffene Zeile (Weiß grad nicht genau, ob dieser Zeilenverweis auch via ODBC geliefert wird. Schau Dir die Fehlermeldung nochmal genau an.)
Das kann man ausnutzen, indem man den SQL-Befehl in mehrere Zeilen umbricht und nicht als Einzeiler abschickt. Wenn man für jedes betroffene Feld eine eigene Zeile verwendet, kann man die Stelle leicht durch abzählen finden.

statt:
 
INSERT INTO tabelle (feld1, feld2) VALUES (wert1, wert2)

akzeptiert jeder SQL-Server (nicht bloß der von Microsoft) auch:
 
INSERT INTO tabelle (
feld1,
feld2
)
VALUES (
wert1,
wert2
)


Gruß
Bernhard Sander




Harro Schippan   05.07.2019 10:41
Christian Isberner  05.07.2019 12:29
Bernhard Sander  05.07.2019 13:28
Thomas Geissler  05.07.2019 14:29
Harro Schippan  05.07.2019 15:40
  
zurück zum Forum