REPLACE in TEXT Feld

21/09/2007 - 14:22 von Anonymous | Report spam
Hallo,

ich muss ein REPLACE oà. auf einem Text-Feld in einer SQL2000 DB
durchführen. Die Lànge der Datensàtze in diesem Textfeld geht deutlich über
8000 Zeichen hinaus. Somit kann ich das REPLACE leider nicht direkt
ausführen. Auch dieser Lösung:
http://www.sqlteam.com/article/sear...ext-column
funktioniert nur, wenn die Fundstelle des zu ersetzenden Textes in den
ersten 8000 Zeichen ist.

Hat jemand eine Idee, was ich tun kann!?

Vielen Dank und Gruß
Thomas Siwczak
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
21/09/2007 - 15:25 | Warnen spam
Hallo emailadresse,

"" schrieb:

ich muss ein REPLACE oà. auf einem Text-Feld in einer SQL2000 DB
durchführen. Die Lànge der Datensàtze in diesem Textfeld geht deutlich über
8000 Zeichen hinaus. Somit kann ich das REPLACE leider nicht direkt
ausführen.



ich löse das meist mit einem kleinen Skript, welches die Daten ausliest, die
Werte ersetzt und die Daten wieder in die Datenbank schreibt. Es mag auch einen
direkten SQL Weg dafür geben aber das war mir früher zu aufwàndig :)

<%
Dim ConnectionString
ConnectionString = "PROVIDER=SQLOLEDB;SERVER=1.2.3.4;UID=<User>;PWD=<Passwort>;DATABASE=<DB>;"


Dim SqlCommand
SqlCommand = "SELECT <Spaltenliste> FROM <Tabelle> WHERE ..."

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open ConnectionString

Set Recordset = Server.CreateObject("ADODB.Recordset")
Recordset.Open SqlCommand, Connection, 3, 3

Do While Not Recordset.EOF

<Variable> = Recordset.Fields( "..." )
<Variable> = Replace( <Variable>, "abc", "xyz" )

Recordset.Fields( "..." ) = <Variable>
Recordset.Update()

Recordset.MoveNext()

End if

Recordset.Close
Set Recordset = Nothing

Connection.Close
Set Connection = Nothing
%>

Habs jetzt schnell hingeschrieben, könnte also noch ein Fehler drin sein.
Das ganze làuft mit minimalen Änderungen auch als lokales VBScript (einfach
<%, %> und Server. entfernen.

Unter Umstànden musst Du mit GetChunk, bzw. AppendChunk arbeiten, bei Text
sollte es aber nicht notwendig sein.

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen