1

データベースにいくつかの画像が保存されていますが、これらの画像の名前がありません。

を使用してこれらの画像をどのように読み取ることができるかについて、誰かが考えていますutl_file.fopen()か?

4

1 に答える 1

1

UTL_FILEは、PL/SQLパッケージ内からOSファイルを操作するためのパッケージです。データベース列(おそらくBLOB)に画像が保存されています。したがって、UTL_FILEはタスクにとって完全に間違ったツールです。

実際、データベースはBLOB列の内容に実質的に関心がなく、Oracleは画像をレンダリングするための機能をあまり重視していません。必要なのは、クエリを発行して関連する列を選択し、画像を表示できるクライアントツールに返すことです。


「画像はLONG​​形式で保存されます(long rawでもblobでもありません)。」

その後、あなたは本当に運が悪いです。LONGの組み込みサポートは、LOBのサポートよりもさらに少なくなります。

オラクルは、LONGデータ型が扱いにくいため、ずっと前にLOBを廃止しました。LOBは15年以上前にOracle8で導入されましたが、LONGを使用する理由は実際にはありません。私が感謝していることは、あなたの現在の窮状には役立たない。


ちなみに、あなたが言うとき、あなたは何を心に留めていますか:

「オラクル自体でこの画像を表示するために使用できるその他の方法」

「Oracle自体」はデータストアです。データの取得と表示はクライアントの仕事です。これは、SQL * plusやTOADなどの開発者向けツール、またはアプリケーションの場合があります。画像をレンダリングするIDEを知りません。ある場合は、LONGに画像が保存される可能性はほとんどありません。

したがって、あなたの唯一の選択肢は、C#で自分で何かを書くことだと思います(それがあなたの選択した言語である場合)。この場合、C#でのLONGの操作に関するこの回答を読む必要があります。

于 2012-07-31T12:45:24.537 に答える