• 締切済み

LONG RAW型のイメージデータ取り出しについて

oracle10g環境で、LONG RAW型のカラムにイメージ(.JPG)が登録されております。 PL/SQLより、LONG RAW型のイメージデータを取り出したいのですが。 OO4Oでの取り出しあるのですが。PL/SQLで実現したいのです。 サイト検索しても見当たらないよう状態です。 PL/SQLで取り出す方法を教えていただきたいのですが。

  • okabu
  • お礼率100% (2/2)
  • Oracle
  • 回答数1
  • ありがとう数1

みんなの回答

  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.1

こんにちわ。 http://docs.oracle.com/cd/E16338_01/appdev.112/b56260/datatypes.htm#CJAEGDEB 上記のマニュアルにある通り、PL/SQL でLONG RAW 変数の上限は32760 Byte になります。 なので、PL/SQL でLONG RAW のデータを扱うのは難しいと思います。 どうしてもと言う事であれば、TO_BLOB で一度BLOB 型に変換する事になるかと。

okabu
質問者

お礼

お礼が遅くなり申し訳ございませんでした。To_BLOBを使ってやってみます。

関連するQ&A

  • LONG RAW型について

    > はじめまして。 > C言語でLONG RAWに対して > SQLExecDirectを用いて UPDATE A SET DAT=HEXTORAW('***'); > ***は2000バイト以上 > を行なったところエラーとなってしまいました。 > LONG RAW型は2Gバイトまで対応していると思うのですがどうしてでしょうか? HEXTORAW関数がRAW値(2000バイトまで)を返すからだと思われるのですが 2000バイト以上のバイナリデータを扱うにはどうしたらよいのでしょうか? バージョン情報 OS:WindowsNT Oracle8 : 8.0.5.0.0 ODBC : 8.0.5.1b.0

  • オラクルのLONG RAW型のテーブルの操作方法と容量計算の仕方

    オラクル8.1.6で、LONG RAW型のカラムがあるテーブルへのインサート、アップデートの方法を教えてください。 Pro*Cで作成したツールはあるのですが、自分が少し扱えるPL/SQLでツールを持ちたいのです。BLOB型などはパッケージを使うということまではわかったのですが、LONG RAW型については、サイト検索しても見当たらないように思います。 また、テーブルの容量計算も通常のVARCHAR型やNUMBER方とは違うようです。VARCHAR型と同様の方法で計算してみたのですが、実際にPro*Cでテストデータをロードしてみたところ、見積もり以上のの容量を消費するようです。 よろしくお願いします。

  • OracleのLONG型への insert について

    お世話になります。 ASP + Oracle8.0.5で開発中のシステムがあるのですが、 ASP上のテキストエリアに文章を記述して、OracleのテーブルのLONG型のカラムに対して insertを行うとエラーが起こってしまいます。 正しくは、全角で2000文字までは入力できるのですが、 それを越えてしまうと、ORA-01461エラー(LONG値はLONG列にのみバインドできます)という エラーが起こってしまい、カラムに対してinsertすることができません。 テーブルを見直してみたのですが、ちゃんとLONG型に設定してありました。 LONG型のカラムにデータを登録する際、4000バイト以上の文字列は挿入できないでしょうか? でもLONG型って、2GBまで使用できるはずでしたよね? ご教授のほど、よろしくおねがいします。

  • ブロンズからPL/SQL 開発者の資格取得を目指していいか

    ORACLE MASTER Bronze Oracle Database 11gは取得しました。 次はORACLE MASTER Silver Oracle PL/SQL Developerの資格を取得したいと思います。 ですが、先にORACLE MASTER Silver Oracle Database 11gを取得しておいた方が、PL/SQLの資格を取得するにあたって知識の習得が楽になるのでしょうか?

  • long型へのINSERTについて

    はじめましてアオツキと申します。 わたしはシステム開発を行なっていて、JAVAとOracleを使用しています。 質問させていただきたい内容は、テーブルのLONG型項目にに対してINSERT文を発行したときに起こるエラーを回避する方法です。 insert into testtable (longstr) values ('*' ×10000文字) を発行したところ「ORA-01704: 文字列リテラルが長すぎます 」 というエラーが発生しました。 このエラーを回避するため http://www.shift-the-oracle.com/oerrs/ora-01704.html 上記のURLを参考にし10000文字を分割して insert into testtable (longstr) values (TO_CLOB('*' ×3500文字) || TO_CLOB('*' ×3500文字) || TO_CLOB('*'×2000文字)) と分けてINSERT文を発行したのですが、 「ORA-22835: CLOBからCHAR、またはBLOBからRAWへの変換には、バッファーが小さすぎます(実際: 10503、最大: 4000)」 というエラーが発生しました。 このエラーについて http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19212-01/e19400.htm 上記のURLの原因と処置を呼んだのですが意味が理解できませんでした。 どなたかテーブルに長文を登録する方法をご教授いただけないでしょうか? ご回答お待ちしています。 開発環境 JAVA eclipse SQL実行 eclipseプラグイン DBViewer ORACLE 10g OJDBCドライバ ojdbc14.jar

  • テーブル更新時にお知らせ

    いつもお世話になります。 早速質問させていただきます。 1日に2、3回更新されるあるテーブルがあるのですが、そのテーブルが書き換わった(insert,update) タイミングで音を鳴らすなどして、管理者にお知らせしたいのです。 只今pl/sqlとOracleのトリガの組み合わせで只今試行錯誤している状況です。 この組み合わせで実現できますでしょうか? 既にPGMで実現できたのですが、常駐監視部分が気に入らなく、何とかOracleの機能で 実現できないかと考えています。 宜しくお願いします。 サーバ環境: Oracle8i Windows2000Server

  • PL/SQLとPL/pgSQLの違い

    こんにちは。 現在の環境がOracle8iで、次のシステムがPostgreSQLで構築されることになりました。 今後に向けてPL/SQLを勉強しようと思ったのですが、PostgreSQLにはPL/pgSQLというストアドプロシージャが有ると言うことを知りました。 そこで質問なのですが、PL/SQLとPL/pgSQLは何か大きな違いは有るのでしょうか? PL/SQLの勉強をすれば、PL/pgSQLも出来るようになるのかを教えていただけますでしょうか。

  • 7.3.4から10gへのバージョンアップ時のoo4o使用アプリに関して

    現在Oracle 7.3.4でDBが組んであり、VB6にてoo4oにて接続しているアプリケーションがあります。 このデータベース及びクライアントをOracle10gにバージョンアップすると、当然oo4oのバージョンも新しくなるかと思われるのですが、この時、アプリ側では以前のままにて動作出来ますでしょうか? それとも何らかの対策が必要でしょうか?

  • ACCESS2000で作成したクエリーをOracle9i用にコンバート

    ACCESS2000で作成したクエリーをSQL文にして、Oracle9iで使用できるようにコンバート(oo4o用) したいのですが、フリーソフトでコンバートできるツールはないでしょうか? どなたか知っていれば教えてくださいませ。

  • あいまい条件抽出についてのSQL文について

    あいまい条件抽出についてのSQL文について hiroです。 SQL文について、教えてほしいのですが、 下記のようなDatabaseがあったとします。 tableA:カラムA:ABCDE,BCDEA tableB:カラムB:??C?? この場合、例えば、 SELECT * FROM DataBase WHERE tableA.カラムA like tableB.カラムB みたいな感じで、カラムAのABCDEだけを検索するような仕組みを作ることは 可能でしょうか? ※上のSQL文では引っ張れないのは理解できています。 わかる方がいらっしゃいましたら、SQL文を教えてください。 よろしくお願いします。 環境:Oracle 11g