RTF in SQL Datenbank

Springstil

Benutzer
Beiträge
17
Hallo zusammen,

ich habe in unsere Datenbank Textfelder im RTF Format... LEIDER!

Das sind hinweise zu Kunden usw. Natürlich kann ich mir die in Excel ausgeben, und dann mit F2 und enter "Übersetzen" lassen.. Das dauert aber selbst mit einem Makro Ewigkeiten da es einiges an daten sind, und das Makro dies nicht durch zieht sondern nach einiger zeit stehen bleibt.

Gibt es eine Möglichkeit das in der Datenbank direkt zu übersetzen? Eingesetzt wird MSSQL 2016 und die How To´s die ich so im netz gefunden habe bringen mich leider nicht viel weiter.

Beispiel:
{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil\fcharset0 Arial;}}
\viewkind4\uc1\pard\fs18 Lieferung mit Lieferschein 510879
\par }
 
Werbung:
Mglw. reicht es anhand der RTF Doku aus, alle Inhalte in curly Braces und mit Backslash zu entfernen.
Das ginge unter MSSQL wahrscheinlich mit REGEXP Funktionen.
Dabei müsste man wohl etwas genauer schauen, wie das escaped werden muss, wenn echte Inhalte mit braces oder backslash auftreten.

Wenn man schon so einen Dreck in den Textfeldern stehen hat, darf man leider auch von anderem Dreck, Kodierungsfehlern usw. ausgehen. Man wird also ein 100% clean nicht erreichen.
 
Werbung:

Hab ich mal ausprobiert. Bekomme leider die meldung:

Code:
Meldung 537, Ebene 16, Status 3, Zeile 2
Ein ungültiger Längenparameter wurde an die LEFT- oder SUBSTRING-Funktion übergeben.
eingegeben habe ich folgendes:

Code:
  SELECT top 100
    ABBigdatSOG.Wert,
    [dbo].[RTF2TEXT](ABBigdatSOG.Wert) AS [TextFromRTF]
FROM
    dbo.ABBigdatSOG

Zumindest sehe ich kurzzeitig das es "gut" aussieht. Also bevor die Fehlermeldung kommt sehe ich kurz das es anscheint im Klartext steht.

EDIT:

Ich konnte identifizieren welche Spalte die Probleme macht.. Das Problem scheint zu sein, wenn nur ein Leerzeichen drin steht. Wurde also mal gelöscht und ein Leerzeichen blieb zurück.. Lässt sich das irgendwie anpassen das es trotzdem läuft?

und einmal kam es bei
Code:
    {\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil\fcharset0 MS Sans Serif;}}
\viewkind4\uc1\pard\f0\fs17 VK-Preise und Artikelnummern hinzugef\'fcgt / AB an Kd. und in PAZ / JP 27.04.20
\par
\par 5% HM Rabatt laut Herr Widmer/Herr Behr nachgetragen /UN am 24.07.2020
\par }
vor..

Mglw. reicht es anhand der RTF Doku aus, alle Inhalte in curly Braces und mit Backslash zu entfernen.
Das ginge unter MSSQL wahrscheinlich mit REGEXP Funktionen.
Dabei müsste man wohl etwas genauer schauen, wie das escaped werden muss, wenn echte Inhalte mit braces oder backslash auftreten.

Wenn man schon so einen Dreck in den Textfeldern stehen hat, darf man leider auch von anderem Dreck, Kodierungsfehlern usw. ausgehen. Man wird also ein 100% clean nicht erreichen.

Das ist allerdings Dreck... Kommt aus einer über 10 Jahren alten Warenwirtschaft, da die Damen damals im Büro gerne Farbig was in das Notizfeld schreiben wollten... Muss dazu sagen war vor meiner zeit :p Ich muss die daten nur für die Neue Warenwirtschaft aufbereiten
 
Zuletzt bearbeitet:
Zurück
Oben