- PR -

リンクサーバーでAS400に接続しSQL文を発行したい

1
投稿者投稿内容
ちょいハゲ
会議室デビュー日: 2007/10/10
投稿数: 3
投稿日時: 2007-10-22 16:44
SQLSERVER: SQLSERVER2005
CA:V5R4M0
AS400側ライブラリー:AALIB
AS400側DB名:TOKUIM

リンクサーバーにAS400を定義しましたが(接続確認はOKでした)SQL文(SELECT)の書き方が解りません。色々試したのですがダメでした。
宜しければお教え願いませんでしょうか宜しくお願いします。

SQLSERVER側設定
リンクサーバ:AS400
プロバイダー:IBM DB2 UDB for iseries IBMDA400 OLE DB Provider
データソース:127.0.0.1
プロバイダー:null(指定なし)
場所:null(指定なし)
カタログ:null(指定なし)

SQL文
通常はselect * FROM 'リンクサーバー名'.'カタログ名'.'スキーマ名'.'テーブル名'
と指定するのだと思いますがAS400ターゲットだとどう当てはめれば良いのでしょうか
お教えください。宜しくお願いします。
ともこ
大ベテラン
会議室デビュー日: 2007/09/14
投稿数: 111
投稿日時: 2007-12-04 10:41
こんにちは

私は、
SQLServer2000SP4に対してリンクサーバーでAS/400へアクセスしています。
設定方法は、
 プロバイダ名:Microsoft OLEDB PROVIDER FOR ODBC DRIVER
 製品名:AS400
 データソース:S1023548
 プロバイダ文字列:MSDASQL
としています。

リンクサーバー名はAS400、カタログ名名はS1023548、スキーマ名:HDATALIB、
テーブル名:HME010P、の場合、
SELECT * FROM AS400.S1023548.HDATALIB.HME010Pと指定したらデータを取得できていますよー。

ただ、フィールドがDBCSはそのままだと取得できないので強引に、
SELECT * FROM OPENQUERY(AS400,'SELECT TRIM("DBCSフィールド") FROM HDATALIB.HME010P')
としています。

ちなみに質問ですが、SQLServer2005だと、DBCSはそのまま取得できるのでしょうか?

1

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