12. September 2008

PL/SQL Paket "LOB_WRITER_PLSQL": Patch 0.5.2 verfügbar

English title: PL/SQL package LOB_WRITER_PLSQL: Patch version 0.5.2 available

Gestern habe ich nach einem Hinweis durch einen Kollegen einen Fehler im Package LOB_WRITER_PLSQL meines "PL/SQL-Betriebssystem-Paketes" (OS_COMMAND) behoben. Der Fehler tritt nur auf Windows-Plattformen auf und äußert sich dadurch, dass Binärdateien (Prozedur WRITE_BLOB) nicht korrekt geschrieben werden. Ursache ist das verwendete Paket UTL_FILE; die Prozedur FOPEN benötigt auf Windows den OPEN_MODE 'wb' (anstelle von 'w') um korrekt arbeiten zu können. Auf Unix/Linux-Plattformen macht das keinen Unterschied. Das ist in der jüngsten Version 0.5.2 behoben. Der "Patch" betrifft nur das Paket LOB_WRITER_PLSQL.
Yesterday a collegue found a bug in my PL/SQL packages for operating system interaction "OS_COMMAND". The error is in the LOB_WRITER_PLSQL package and occurs only on Windows platforms: Binary files are not written correctly into the file system - the resulting files are corrupt. The reason is the procedure FOPEN in the UTL_FILE package - if you want to write binary content on windows platforms make sure that you provide the OPEN_MODE 'wb' and not just 'w'. On Unix/Linux platforms this does not make a difference. The newest version 0.5.2 corrects this. Only the package LOB_WRITER_PLSQL is affected by the "patch".
Wer nicht neu herunterladen möchte, kann auch direkt selbst korrgieren ...
If you don't want to download again you can also correct yourself ...
procedure write_blob(
  p_directory varchar2,
  p_filename  varchar2,
  p_data      blob
) is
:
  v_file := utl_file.fopen(
    location => p_directory,
    filename => p_filename,
    open_mode => 'wb',
    max_linesize => 32000
  );
  :
Alle anderen finden die korrigierte Version 0.5.2 wie immer auf Sourceforge.
You find the corrected version 0.5.2 as usual on Sourceforge.

Keine Kommentare:

Beliebte Postings