| 

.NET C# Java Javascript Exception

1
Hallo Gesellschaft,

ich habe eine Frage bei der ich leider nicht mehr weiterkomme. Ich habe eine ganz normal SELECT-Anweisung, jedoch beinhaltet die Tabelle auch RAW- und CLOB-Datentypen. Bei der ganz normalen SELECT *-Abfrage erhalte ich leider falsche Ausgaben.
Gibt es eine Möglichkeit SELECT * FROM Anweisung mit SELECT TO_CHAR(SUBSTR()) Abfragen zu verbinden, so dass ich alles aus der Tabelle entnehmen und auch lesen kann??

Bedanke mich schon mal bei jedem der mir helfen möchte und wird.

Gruß,
deli_gicik
14.08.2015
deli_gicik 6 1 5
So spontan würde ich sagen, statt "Select *" ein "Select spalte1,spalte2, substr(spalte3, 0, 10), ..., spalteN"
Ansonsten bräuchte ich etwas mehr Infos wie die Tabelle aussieht und was genau abgefragt werden soll.
phg 17.08.2015
So wie du es gesagt hast, habe ich das auch gemacht, jedoch sind es ungefähr 10 Spalten und das Skript soll als Backup genutzt werden.
deli_gicik 19.08.2015
Verstehe, aber mit substr bekommst du eigentlich kein richtiges Backup weil ja teile der CLOB/RAW-Spalten fehlen können und damit vermutlich unbrauchbar sein werden.
phg 19.08.2015
Ich möchte ja nur aus der Datenbank die jeweiligen Zeilen auslesen. So klappt es, ob es bei noch längeren nicht klappt, weiß ich nicht.
deli_gicik 21.08.2015
Du meinst bei noch viel mehr Spalten? Da ist mir eigentlich keine Beschränkung bekannt, es wird nur irgendwann recht anstrengend zu lesen.
phg 21.08.2015
Nein, meine die Länge der CLOB/RAW-Spalten.
deli_gicik 24.08.2015
1 Antwort
0
NUR SO EINE IDEE:
Könnte man nicht einfach ein Trennzeichen vereinbaren und alle Spalten getrennt mit dem Trennzeichen in eine lange Zeichenkette wandeln.
Zumindest das Lesen sollte so möglich sein. Ein Problem könnten RAW-Spalten sein, da diese binär (Bytearrays) gelesen werden müssten. Andere Datentypen VARCHAR, INT, DECIMAL, DATE sollte so funktionieren.
25.08.2015
edvservice 1,3k 1 6
So in der Form select substr(spalte1, 0, 1024), subst(spalte1, 1025, 2048), ...? Klingt eigentlich gut. Zum Speichern in einem anderen Format müsste man dann die Strings noch maskieren, damit das Trennzeichen nicht versehentlich zu früh gefunden wird. Für RAW könnte man Base64 oder ähnliches verwenden.

Ich glaub problematisch sind nur CLOB/RAW extrem recht groß werden können.
phg 25.08.2015
Ich habe es so gemacht:
sql.rows('SELECT Spalte1, TO_CHAR(SUBSTR(Spalte2,0,3999)) AS Spalte2, Spalte3, Spalte4...

Nachteil, je mehr Spalten desto länger die Abfrage.
deli_gicik 26.08.2015
Solange nicht mehr als 4000 Zeichen in Spalte2 stehen passts doch.
phg 26.08.2015

Stelle deine --Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH