SQL-Fehlermeldung sporadisch und unverständlich

15. Mai 2014 15:38

Wir bekommen bei unserem Kunden ab und zu folgende SQL-Fehlermeldung (siehe Anhang).
Hintergrund:
Beim Buchen eines VK-Beleges werden noch VK-Texte des Beleges aus der Tabelle für ungebuchte VK-Texte in die gebuchten VK-Texte kopiert (die Tabelle aus der SQL-Fehlermeldung). Das Kopieren erfolgt per TRANSFERFIELDS und in 99% der Fälle klappt alles nur ab und zu kommt diese Fehlermeldung, wobei NAV-Client sich komplett aufhängt und nur über Taskmanager abgeschossen werden kann. Nach der Neuanmeldung in NAV kann der VK-Beleg problemlos gebucht werden.
Was mich in der SQL-Fehlermeldung irritiert:
- "Falsche Syntax in der Nähe von ' { '
==> aber nirgendwo im SQL-Statement sieht man eine {
- "VALUES(?,?,?,?,?,?,?)"
==> die ?-Zeichen als Platzhalter für die Feldwerte. Warum die Platzhalter und nicht die echten Feldwerte? Die zu kopierenden Einträge haben 100%-ig sinnige Werte drin stehen.
Debuggen kann man es nicht, denn, wie gesagt, möchte man das nachstellen, klappt alles.
Was könnte die Ursache sein? Läßt sich diese beheben?
NAV-Version: 5.0 SP1
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: SQL-Fehlermeldung sporadisch und unverständlich

15. Mai 2014 19:12

Ich rate einfach mal drauf los...

Sind in der Tabelle vielleicht leere Felder oder ist der Primärschlüssel leer?

Wird ein Texteditor benutzt (Bsp. WaldoNavPad) ?

Eventuell sind in dem Text versteckte Steuerzeichen?

Eventuell hilft dir die SQL Ablaufverfolgung weiter?

Re: SQL-Fehlermeldung sporadisch und unverständlich

15. Mai 2014 21:39

In der Text-Tabelle sind Primärschlüssel-Felder gefüllt, zumal die Belegart+Belegnr. Teil des Primärschlüssels in der Text-Tabelle sind und der Beleg darüber mit der Text-Tabelle verknüpft ist.
Das Buchen klappt ja beim widerholten mal, und wenn es an den Feldinhaten liegen würde (Felder leer oder Sonderzeichen), dann könnte man den Beleg gar nicht mehr buchen, denn die Felder in der Texttabelle werden nicht mehr angefasst /korrigiert.
Ein Texteditor wird benutzt, nur nicht der WaldoNav sondern eigener, welcher aber dasselbe tut wie auch der WaldoNav.
Ich habe testweise Text mit CR/LF per Programmcode erzeugt und ein Beleg mit diesem Text gebucht -> kein Problem.

Re: SQL-Fehlermeldung sporadisch und unverständlich

16. Mai 2014 11:55

Die PLatzhalter kommen daher da der Editor Prepared Statements abschickt. Und der Fehler beim "Erzeugen" des Prepared Statemens geworden wird.

Ich hatte mal das Problem dass der NAV Client gecrasht ist sobald Datensätze im Zugriff waren, die von einem externen Tool geschrieben wurden und ein Code-Feld kleinbuchstaben beinhaltet haben. Oder in Tabellen, die per VIEW in NAV angezeigt wurden, mit NULL Werten hantiert haben.

Du wirst hier ggf. mit dem SQL Profiler weiterkommen. Und zwar solange einen User protokollieren bis der Fehler auftritt und dann das Statement auf Auffälligkeiten untersuchen.

gruß