- PR -

DB2にアクセスするには

1
投稿者投稿内容
きば
会議室デビュー日: 2004/09/14
投稿数: 8
投稿日時: 2004-09-15 00:00
c#を始めて2ヶ月の初心者です。よろしくお願いします。

現在c#のwebアプリケーションを作成しているのですが、自身はSQLサーバを使用し、
ネットワーク内のDB2サーバにアクセスしてデータの取得を行いたいと考えています。
その際にODBCドライバをインストールし、アプリケーションからDB2サーバへの接続には
成功するのですが、いざAdapterを使用して、DB2サーバ側のテーブルを参照しようとすると「引数が無効です」とのエラーメッセージが表示されてしまいます。もちろんDB2側のテーブル一覧をみることもできません。
 
アプリケーション中のconnectionのプロパティで「新しい接続」を選択し、プロバイダを自分でインストールしたドライバに設定したいのですが、OLE DBの一覧の中に、ドライバを追加することは可能なのでしょうか?もし可能であれば、どのような手順で行えばよいのでしょうか?ちなみに、「IBM DB2 ODBC DRIVER」を追加したいのです。

もしこの他にもデータを取得する良い方法があれば教えていただけませんでしょうか?
的を得ない質問で申し訳ありませんが、よろしくお願いします。

せい
会議室デビュー日: 2003/10/29
投稿数: 10
投稿日時: 2004-09-16 12:32
DB2の場合は、OLEDB ProviderかODBC Driverを使用します。
DB2クライアントをインストールすれば、
OLEDBの一覧の中にDB2用のものが表示されるようになります。
ただし、ODBCは出てきませんのでご注意を。
DB2V8からは、DB2用の.NET Providerもリリースされているようです。
きば
会議室デビュー日: 2004/09/14
投稿数: 8
投稿日時: 2004-09-16 22:26
せいさん
ご回答ありがとうございます。

現在DB2V7を利用しており(先に書くべきでした。すみません。)ODBC Driverをインストールしてみたものの、OLEDB一覧の中には表示されませんでした。。
ODBC Driverをインストールし、アプリケーションのデザインページでのコントロール貼り付け
などができないかと考えたのですが、これは現在利用しているDB2V7では無理なのですね。
コードに直接書くしかなさそうです。
結局バージョンの違いで、できないことをやろうとしていたようです。






きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-09-17 09:21
きばさん、お早うございます。

引用:

現在DB2V7を利用しており(先に書くべきでした。すみません。)ODBC Driverをインストールしてみたものの、OLEDB一覧の中には表示されませんでした。。


私のところでもVersion7(FixPack7)クライアントを使っていますが、OLE DB プロバイダの一覧にありますよ。
インストール時にオプションを指定していなかったのではないですか?
せい
会議室デビュー日: 2003/10/29
投稿数: 10
投稿日時: 2004-09-17 12:55
私もDB2V7(7.2)ですが、一覧には、「IBM OLE DB Provider for DB2 Servers」と
出てきています。インストール時も特になにも設定した記憶がないので、
デフォルトでインストールされるのではないでしょうか。
ちなみに、ADO.NETではODBC-OLEDBブリッジはサポートされていないようです。
きば
会議室デビュー日: 2004/09/14
投稿数: 8
投稿日時: 2004-09-17 16:41
すみません!またまたこちらの説明不足でした。

私の方でも、OLE DBの一覧には、「IBM OLE DB Provider for DB2 Servers」が表示されますが、当初は「IBM DB2 ODBC DRIVER」をその一覧の中に追加しようと考えていました。ですがこちらはせいさんのおっしゃるように、ODBCは表示されないようですね。。
「IBM DB2 ODBC DRIVER」ではDB2の接続に成功し、テーブル内のデータを取得することができるのですが、「IBM OLE DB Provider for DB2 Servers」を利用すると、DB2への接続に成功しても、テーブル名を見ることすらできませんでした。「IBM DB2 ODBC DRIVER」をアプリケーション中のコネクションのプロバイダに設定できれば、デザインウィンドウのコントロールを利用して簡単にテーブルのデータが取得できるのではないかと考えたのですが、やはり無理でした。
やむを得ず同様のアプリケーションを開発された方に質問したところ、DB2V7ではこのやり方はサポートされていないので、コードで書くように、とのアドバイスをいただきました。

せいさん、きくちゃんさん、ご回答ありがとうございました!!
makoto
常連さん
会議室デビュー日: 2004/05/05
投稿数: 40
投稿日時: 2005-02-08 16:36
SQLMiddlewareという手もありますね。

http://www.climb.co.jp/soft/hitsw/products/index.html#04
1

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