Suchen & Ersetzen von Unicode Character

4 views
Skip to first unread message

BUG!

unread,
Aug 19, 2009, 9:16:17 AM8/19/09
to FlowHeater
Hallo Herr Stark,

ist in der aktuellen Version möglich, dass man nach Unicode Zeichen
sucht und diese entfernt/ersetzt?

In einer unserer SQL Tabelle/ Spalte (String) sind Zeilenumbrüche.
Diese möchten wir gerne beim Export entfernt bekommen.
Es handelt sich um folgendes Zeichen:
- Windows: Alt +0010
- HTML Entity (decimal): 
- UTF-8 (binary): 00010000

Folgendes ist mir noch beim Benutzen des FlowHeaters auf der Read
Seite aufgefallen:
Wenn man auf der Readseite (SQL Adapter) eine Abfrage mit Join über
mehrere Tabellen setzt, wird die Anzahl der max. Spalten limitiert.
FlowHeater gibt keinen Hinweis, dass die max. Spaltenanzahl
überschritten ist. Man kann die Felder auf der WRITE Seite zwar zu
ordnen, werden jedoch nicht berücksichtigt.

Vielleicht kann man hier einen Hinweis setzen oder die max.
Spaltenanzahl erweitern.

Vielen Dank

Mit freundlichen Grüßen

flowheater

unread,
Aug 20, 2009, 2:20:45 AM8/20/09
to FlowHeater
Hallo,

On 19 Aug., 15:16, "BUG!" <cyo...@googlemail.com> wrote:
> Hallo Herr Stark,
>
> ist in der aktuellen Version möglich, dass man nach Unicode Zeichen
> sucht und diese entfernt/ersetzt?
>
> In einer unserer SQL Tabelle/ Spalte (String) sind Zeilenumbrüche.
> Diese möchten wir gerne beim Export entfernt bekommen.
> Es handelt sich um folgendes Zeichen:
> - Windows: Alt +0010
> - HTML Entity (decimal): &#16;
> - UTF-8 (binary): 00010000


das können Sie problemlos mit dem .NET Script Heater durchführen. Hier
mal ein Code Beispiel wie das geht.
// Script Anfang
public object DoWork()
{
if (InValues.Length != 1)
throw new ArgumentException("ein Eingangsparameter erwartet!");


string s = (string)InValues[0].GetString();

// Die Zeilen mit // werden nicht berücksichtigt!
//char search = (char)0x41; // = 01000001 = Zeichen A
//char search = (char)10; // 10 dezimal

// Die nächste Zeile wäre in diesem Beispiel aktiv!
char search = '\n'; // Zeilenumbruch

// das angegebene Zeichen wird mit diesem ersetzt.
char replace = ' '; // Leerzeichen

return s.Replace(search, replace);
}
// Script Ende

Ziehen Sie einfach einen .NET Script Heater auf die FlowHeater
Definition und fügen oben stehenden Script Code hinein.


>
> Folgendes ist mir noch beim Benutzen des FlowHeaters auf der Read
> Seite aufgefallen:
> Wenn man auf der Readseite (SQL Adapter) eine Abfrage mit Join über
> mehrere Tabellen setzt, wird die Anzahl der max. Spalten limitiert.
> FlowHeater gibt keinen Hinweis, dass die max. Spaltenanzahl
> überschritten ist. Man kann die Felder auf der WRITE Seite zwar zu
> ordnen, werden jedoch nicht berücksichtigt.
>
> Vielleicht kann man hier einen Hinweis setzen oder die max.
> Spaltenanzahl erweitern.

Im FlowHeater gibt es eine theoretische Obergrenze von ca.
2.000.000.000 (Milliarden) Objekten. Also Felder, Pipes, Heaters, etc.
zusammen. Sie werden eher am Hauptspeicher sowie der
Leistungsfähigkeit der CPU scheitern :-)

Evtl. könnte es aber sein, dass der zugrunde liegende Datenbank
Treiber ein Problem hat. Für eine weitere Analyse bräuchte ich etwas
genauere Angaben.
- Verwendete Adapter für READ/WRITE?
- Um wie viele Felder handelt es sich?
- Evtl. die gespeicherte FlowHeater Definition
- Wie viele Tabellen werden verknüpft?
- Kommen evtl. doppelte Feldnamen vor?
- etc.

--
gruß
Robert Stark
http://www.flowheater.de
http://www.flowheater.net
Reply all
Reply to author
Forward
0 new messages