- - PR -
ODBC接続にてDB2からBLOB型のデータを取得したい
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-01-19 23:21
質問させてください。
現在、VB.Net2005にてDB2 V5からデータを取得して OracleにInsertしようと試みているのですが、 DB2からBLOB型の列のデータを取得しようとすると、 エラーが発生して取得できず困っています。 BLOB型以外の列に関しては取得できています。 VB.NetからのDB2への接続は、ODBCにて行っています。 デバッグにて、エラーが発生している場所は、 データアダプタでFillメソッドを実行している箇所です。 上記の現象に、お心当りの方はお知恵をお貸し下さい。 よろしくお願いします。 | ||||
|
投稿日時: 2007-01-20 10:31
エラー(例外)メッセージと、BLOB 型のデータを受けようとしているカラムに設定した、.NET 側の型を教えてください。
_________________ | ||||
|
投稿日時: 2007-01-20 12:09
Jitta様、返信ありがとうございます。
エラー(例外)メッセージは、例外発生箇所でのExeption.Messageで、 「不明な SQLの 種類です - -95」です。現在、開発環境におりませんので、 自分の記憶している内容ですが。。。 .NET側の型は、空のデータセットにSQLにて取得したデータを対応する.NET側の型で そのまま格納したいので、特に指定はしておりません。 また、暗黙的型変換がまずいのかとも思い、Byte型の配列で 受けようともしたのですが、同様のエラーが発生しました。 よろしくお願いします。 | ||||
|
投稿日時: 2007-01-20 14:58
では、DB2のエラー コード -95 について、調べてみて下さい。
_________________ | ||||
|
投稿日時: 2007-01-20 22:18
Jittaさん、お世話になります。
エラーコード-95について調べてみたのですが、エラーコード-95については 分かりませんでした。自分の記憶違いかもしれません。 ただ、-95に近い-97のエラーの情報で言うと、 「ステートメント内で指定されているデータ・タイプは、プロシージャーまたは関数に対して指定できません。 LONG VARCHAR などのデータ・タイプは列に対してのみ指定でき、パラメーターとして指定することはできません。」 となっていたので、エラーコード-97だったのかもしれません。 エラーを返しているのは、ODBCドライバのようなのでODBCによる接続で BLOB型のデータを取得するのは無理なのでしょうか? それとも何か方法があるのでしょうか? よろしくお願いします。 | ||||
|
投稿日時: 2007-01-21 00:08
IBM OLEDB DB2 プロバイダを、使用されてみてはいかがでしょうか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2007-01-21 01:01
じゃんぬねっと様、返信ありがとうございます。
MSDNライブラリ等をのぞいてみても、BLOB型のOdbcTypeから.NET FrameWork型への 変換がサポートされていない雰囲気が自分として読み取れましたので、 やはり、ODBCではだめなんですかね。。。 IBM OLEDB DB2 プロバイダですね。了解しました。試してみたいと思います。 作業が明後日になると思いますので、結果が出ましたら、この場でご報告したいと 思います。 | ||||
|
投稿日時: 2007-01-22 23:29
お世話になります。
OLEDB接続にてDB2に接続を試みてみようとしたのですが。。。 IBM OLEDB DB2 プロバイダが見つからないのです。。。 DB2のクライアントをインストールしているのですが、 IBM OLEDB DB2 プロバイダはインストールされていないんですね。 この場で解決のご報告をさせていただきたかったのですが、 出直してきます。。。 |