- - PR -
SQL ServerとDB2 AS/400をつなぎたい
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-11-05 13:53
こんにちは
現在VB.NETとSQL Server 2000でDBソフトを開発しているのですが DB2 AS/400のデータを参照してSQL Serverと結合したテーブルを作成したいのです。 SQL Serverへの接続にはOLEDataConnectionを使用しています。 DB2はSQL Serverのリンクサーバーとして設定されています。 しかしリンクサーバーからのデータの取得方法がわかりません。 ODBCDataConnectionを使用した別々の接続なら、AS400からもデータが取れるのですが SQL Server Books Onlineを見るとHost Integration Server 2000を使用した取得方法は 書いてあるのですが、他に方法はないのでしょうか? ご存知の方がいましたら教えてください。 | ||||||||
|
投稿日時: 2003-11-06 00:42
Wandayuさん、こんばんは。
「Transact-SQL リファレンス」によれば、
とのことです。 4つのパートの内、該当しないものは省略可能で、確か、 SELECT * FROM リンクサーバ名..スキーマ名.テーブル名 というような書式でOKだったはずです。 | ||||||||
|
投稿日時: 2003-11-06 11:31
きくちゃん さん(?)
回答ありがとうございます。 早速試してみたのですが、 select * from リンクサーバー名.カタログ.スキーマ.テーブル で実行したところ サーバー : メッセージ 7319、レベル 16、状態 1、行 1 OLE DB プロバイダ 'MSDASQL' は無効なブックマーク序数 0 を持つ 'NON-CLUSTERED and NOT INTEGRATED' インデックス 'テーブル名' を返しました。 OLE DB エラー トレース [Non-interface error: OLE/DB provider returned an invalid bookmark ordinal from the index rowset.]。 というエラーが返ってきました。 リンクサーバーの設定ではドライバに OLE DB Provider for ODBCを使用し 製品名(OLE DB データソース)にデフォルトのMSDASQL データソースに「クライアント・アクセス Windows エクスプレス 版 ODBC データ・ソース」で作成したODBC を設定しています。 テーブル名の参照はできるのですが、設定が間違っているのでしょうか? | ||||||||
|
投稿日時: 2003-11-06 12:08
Wandayuさん、こんにちは。
DB2って、カタログ名ってあるんでしたっけ? エラーの意味するところは、ちょっと良く判りませんが、試しに「IBM OLE DB Provider for DB2 Servers」を使用するリンクサーバを、新たに設定してみてはどうでしょうか。 但しこの場合、DB2クライアントソフトウェアに最新のFixPackが適用されていないと、まともに動作しなかったりするかも知れません。 | ||||||||
|
投稿日時: 2003-11-06 15:06
きくちゃんさん
回答ありがとうございます。 >DB2って、カタログ名ってあるんでしたっけ? DB2のことはよくわからないのですが、リンクサーバーのテーブルを参照すると カタログ欄に見覚えのないカタログ名が書いてあったのでそれを使用しました。 >試しに「IBM OLE DB Provider for DB2 Servers」を使用するリンクサーバを、新たに設定してみてはどうでしょうか。 「IBM OLE DB Provider for DB2 Servers」ですが プロバイダ名にないので選べません。 IBMのサイトを探したのですが見つかりませんでした どういったものなのでしょうか? DB2に疎いものですいません・・・ | ||||||||
|
投稿日時: 2003-11-06 20:58
Wandayuさん、こんばんは。
私も、DB2についてそれほど詳しいわけではありませんが、DB2クライアントソフトウェアに含まれています。 もしかすると、インストールする際に選択するようになっていたかも知れません。 | ||||||||
|
投稿日時: 2003-11-07 18:29
きくちゃんさん、こんにちは
無事解決しました。 原因はClient AccessでV4R5用のものを使っていたことでした。 iSeries Access for WindowsのV5R2用にアップデートしたところ、 IBM DB2 UDB For iSeries OLE DB Providerが使用可能になりました。 select文も問題なく通ります。 ありがとうございました。 | ||||||||
|
投稿日時: 2005-02-08 16:32
DBmoto(旧DB2motion)
http://www.climb.co.jp/soft/hitsw/products/index.html#02 |