Einzelnen Beitrag anzeigen

MatthiasR

Registriert seit: 21. Apr 2005
193 Beiträge
 
#1

"Unterminated quoted string ..." bei Insert von RT

  Alt 11. Mär 2009, 13:02
Datenbank: PostgreSQL • Version: 8.3 • Zugriff über: ZeosLib
Ich habe bei meinen aktuellen PostgreSQL-Tests folgendes Problem beim Exportieren bestehender Datenbank-Tabellen aus unserer bisherigen Pervasive-Datenbank nach Postgres:

Wir speichern bisher u.a. RTF-Dokumente in Stringfeldern. Wenn ich diese jedoch über einen Insert-Befehl in ein varchar-Feld einfügen will, bekomme ich bei manchen Datensätzen den besagten Fehler:
Zitat:
SQL Fehler: ERROR: unterminated quoted string at or near "'{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1031{\ \fonttbl{\\f0\\fnil Arial;}}{\\colortbl ;\\red0\\green0\\blue0;}\\viewkind4\\uc1\\pard\\c f1\\f0\\fs22 Lab\\par }"
LINE 1: ... 20050906, 2, 100111, 16460237, 0, '*', 'lab', 5, '{\\rtf1\\...
Ich weiß echt nicht, was ich da falsch mache. Beim zusammenstellen des Insert-Skripts verwende ich die Funktion QuotedStr und ersetze ausserdem jeden Backslash durch den doppelten Backslash:
QuotedStr(StringReplace(Value, '\', '\\', [rfReplaceAll])); Wenn ich mir im Debugger über Strg + F7 ansehe, was in meiner Query.SQL-Liste drinsteht, dann schaut das so aus:
'INSERT INTO kartei (kk_kulikz, kk_patnr, kk_datum, kk_scheinnr, kk_plnr, kk_zeit, kk_satznr, kk_arztkz, kk_plkuerzel, kk_termnr, kk_text01, kk_text02, kk_text03, kk_text04, kk_text05) VALUES (1, 1, 20050906, 2, 100111, 16460237, 0, '*', 'lab', 5, '{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1031{\\fonttbl{\\f0\\fnil Arial;}}'#1'{\\colortbl ;\\red0\\green0\\blue0;}'#1'\\viewkind4\\uc1\\pard\\cf1\\f0\\fs22 Lab'#1'\\par }'#1#0'', '', '', '', '');'#$D#$A Die Steuerzeichen #1 stehen in der bisherigen Pervasive-Datenbank ebenfalls drin, wozu die sind, weiß ich jedoch nicht. Allerdings scheinen die nicht die Ursache zu sein, da es wiederum auch RTF-Datensätze gibt, die ich erfolgreich einfügen kann, und die ebenfals diese Sonderzeichen enthalten.

Was könnte nun die Ursache dafür sein?
  Mit Zitat antworten Zitat