- PR -

C#+OLE Oracle BLOB型を取得できますか?

投稿者投稿内容
かい
常連さん
会議室デビュー日: 2003/05/27
投稿数: 34
投稿日時: 2005-06-13 17:16
きくちゃんさん、返信ありがとうございます。

引用:

ご覧の通り、私のサンプルでは OleDbDataReader を使用していませんでしたね。

引用:

Buff = Comm.ExecuteScalar()





下記のようにExecuteScalar()を使用しても、前回記載したエラー
(エラーを特定できません....)が発生してしまいました。

byte [] outBuff = new Byte[4];
dbCmd.CommandText = "SELECT GAZOU FROM EMPLYEE" ;
outBuff = (byte[])dbCmd.ExecuteScalar() ;

ExecuteScalar()を使用すると、PL/SQLパッケージを使用しなくても
すむということだったのでしょうか?
できれば、もう少し教えて頂けませんか?

よろしくお願いします。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-06-13 18:21
かいさん、こんばんは。

引用:

ExecuteScalar()を使用すると、PL/SQLパッケージを使用しなくても
すむということだったのでしょうか?


というか、「データ型はサポートされていません。」というエラーメッセージは、OleDbDataReader が出しているらしかったので。

で、件のサンプルですが、データ型は件名にもある通り LONG RAW 型でしたね。BLOB 型だと PL/SQLパッケージを使用する以外に方法が無かったかも知れません。

#だとしたら、LONG RAW型では扱えないような巨大なデータを扱わない限り、BLOB 型じゃなくても良いような気もしますが、それは別の話ですね。
かい
常連さん
会議室デビュー日: 2003/05/27
投稿数: 34
投稿日時: 2005-06-13 21:09
きくちゃんさん、こんばんわ。

今回は、何度もアドバイスを頂きありがとうございました。

引用:

で、件のサンプルですが、データ型は件名にもある通り LONG RAW 型でしたね。BLOB 型だと PL/SQLパッケージを使用する以外に方法が無かったかも知れません。



やはり、そうですか。
LongRawであれば、取得することができました。

引用:

#だとしたら、LONG RAW型では扱えないような巨大なデータを扱わない限り、BLOB 型じゃなくても良いような気もしますが、それは別の話ですね。



その方向でも、検討してみようと思っています。
(50〜100バイトのバイナリデータですので)

お世話になりました。

スキルアップ/キャリアアップ(JOB@IT)