WebUtil ist CLIENT_TEXT_IO.PUT_LINE beim schreiben von CSV-Dateien
Sind wir die Migration unserer Oracle forms und Oracle reports von 6i auf 10g über Windows 7. Aber wenn wir verändert der neue PC ' s mit Windows 7, Benutzer berichteten mehrere Berichte und einige Formen, die Sie erzeugt CSV-Dateien, die Sie generieren, unvollständige Daten oder Dateien in leer -keine Aufzeichnungen, nur die überschriften-.
Schaut sich um, dann finden wir heraus, dass, wenn wir BETWEEN CLAUSE
wie diese:
SELECT id, name, lastname FROM employee WHERE date_start BETWEEN :P_INIT_DATE AND :P_FINAL DATE
Die resultierende Datei war leer oder mit Unterlagen, die mit nicht übereinstimmenden Daten, so dass wir folgerte gab es ein problem zwischen Windows 7 Datum das Verständnis und die Oracle-Datenbank oder was auch immer, das wissen wir noch nicht. Wir lösen könnten all dies tun, ein Doppel-Konvertierung TO_DATE(TO_CHAR(:P_DATE))
aber jetzt, wenn wir wollen, generare eine CSV-Datei mit forms 10g mit CLIENT_TEXT_IO.PUT_LINE
, wir Experimentieren ein seltsames Verhalten. Webutil beginnt das schreiben einer Datei, aber wenn diese erreicht bestimmte Anzahl von Zeilen überschreibt es die gleiche Datei ab Beginn der CSV-Datei wieder. Also, wenn Sie die Datei in excel öffnen, Sie sehen nur die letzten X Zeilen.
Ich würde wirklich apprecieate jede Hilfe zu beheben diese Probleme. Es ist keine bestimmte Frage, die ich nur erklären, das problem, das wir haben, auf der Suche nach Hilfe
- Weiß nicht - aber das könnte helfen: forums.oracle.com/forums/thread.jspa?threadID=566110
Du musst angemeldet sein, um einen Kommentar abzugeben.
CLIENT_TEXT_IO caches Datensätze vor dem schreiben Sie Ihre Datei. Ich habe gesehen, dass mehrere unterschiedliche Schwellenwerte in den Bereich, den Sie zitieren. Wenn Ihr Formular-code Probleme SYNCHRONISIEREN; jeder so viele Einträge geschrieben, der cache geleert werden, jede SYNCHRONISIEREN. Ich bin mir nicht schreiben großer Dateien im moment, aber in den letzten 100 Datensätze pro SYNCHRONISIEREN hat geklappt. Überprüfen Sie Ihr Timing sorgfältig; 100 möglicherweise werden zu wenige Datensätze pro SYNCHRONISIEREN. Da die Nummer, die ich gesehen habe, variiert von shop zu shop, ich würde Wetten es ist NICHT im Zusammenhang ausschließlich auf die Anzahl der Datensätze, aber wie viele bytes Sie Sachen in Ihrem cache.