試行してみましたが解決の糸口が見えず、お知恵を拝借頂けますでしょうか。
目的:
Oracleに格納されたPDFファイルをPDFファイルとして出力したい。
以下試行についてはPL/SQLで実行していますが、難しいようであれば.NetやC++等でツールや
画面等を作成しての出力をする方法も検討したいと考えております。
状況:
Oracleのとあるテーブルに、以下の構成でPDFファイルが③のカラムにバイナリデータとして保存されています。
<テーブル構成>
カラム名(データ型)
①データ番号(NUMBER)
②PDFファイル名(VARCHAR2)
③PDFデータ(LONG RAW)
④PDFデータサイズ(NUMBER)
※一部割愛
試行内容:
①以下サイトを参考に、PL/SQLを作成し、SQL*PLUS上で実行した所、
「-- BLOBデータ列「filedata」のロケータを「v_blob_data」に代入する」の次の行で
「数値または値のエラーが発生しました」とエラー発生。
http://oracle.se-free.com/plsql/d10_blob_get.html
②「v_blob_data 」の型をテーブルと合わせる必要があると考え、blobからlong rawへ変更し再度実行した所、同じ行で
「データ型が一致しません:NUMBERが予想されましたがLONG BINARY」ですとエラー発生
③上記「③PDFデータ(LONG RAW)」の箇所がBLOB型でないのが問題かと考え、
「select ③PDFデータ into v_blob_data from~」の部分を
「select TO_BLOB(③PDFデータ) into v_blob_data from~」と変更して実施するも、同じ行で
「データ型が一致しません:BINARYが予想されましたがLONG BINARYです」とエラー発生
補足情報:
・PDFデータの登録はASP.Netで作成されたツールで行っています。
・該当システムはOSがLinux、DBがOracle、画面がCで作成されています。
・画面では既存の機能として、登録されているPDFを画面表示する機能があります。
(この機能で、取得しようとしたPDFが正しく登録されていることは確認済)
質問自体が初なので、情報が足りない等ありましたらご指摘いただきたく、よろしくお願い致します。