11

私の顧客のIBM AS/400(別名iSeries、現在IBM i)に接続する必要があります。サーバー...Sql Server 2008 R2からIBM iサーバーに接続

私はすべてのパラメータが必要です(AS/400プログラマーが私に与えた)が、私は使用する必要があるドライバを把握できません。 !

IBM AS/400 ClientAccess 5.8ドライバ(最新のOS用パッチあり)をインストールしましたが、今度はSql Server 2008 R2(x64)サーバーに新しいLinked Serverを設定しようとしています。

最初の問題:どのドライバを使用しますか?

私は非常に多くの選択肢があり(多分これらの作品のどれも!!):

IBM DB2 UDB for iSeries IBMDASQL OLE DB Provider 
IBM DB2 UDB for iSeries IBMDA400 OLE DB Provider 
IBM DB2 UDB for iSeries IBMDARLA OLE DB Provider 

...または多分他の一般的なOLEDB/ODBCドライバー!

第二の問題:私は明らかに私は私のパラメータを設定する必要があり、私のLinked Serverのプロバイダを選択するには、私は、どのような場合でも、私のパラメータ(!どのフィールドで私が意味する)

を置くべき ...

  • ADMINユーザのユーザ名
  • ADMINユーザのパスワード
  • AS/400サーバーのIPアドレス
  • :しかし、私はこれだけを持っています
  • 私のデータが格納されている「メイン」のアーカイブ、(ACG_DATV2のようなもの)

第三の問題の名前:どのように私は私のクエリを記述する必要がありますか?どのようにAS/400の "アーカイブ"とテーブルを参照するのですか?

読み込みクエリの作成方法がわかりません。どこにテーブルとビュー(?!)が格納されていますか、どのように参照できますか?

ありがとうございます!

答えて

15

あなたが望むものを達成する方法はたくさんあると思いますが、私はあなたの場合に何をするか説明しようとします。

このバージョンのIBM ClientAccess(およびパッチもあります)では、正しいデータプロバイダを使用している場合、Sql Server 2008 R2リンクサーバーに接続する際に問題はありません。

まず第一に、このようにあなたのリンクサーバーを設定しよう:

  • リンクサーバー名:何をしたい、それだけでカスタム名(例:MYAS400)です
  • プロバイダ:IBM DB2 UDB for iSeries IBMDASQL OLE DB Provider
  • 製品名:重要ではない、何か
  • iSeries Access OLEDB Driverのようなデータソース:AS/400サーバーのIPアドレス(例: 192.168.0.1

ウィザードまたはSQLコードを使用してリンクサーバーを構成すると、初めてAS/400サーバーのデータにアクセスする必要がある場合は、一般的なiSeriesウィンドウを使用して信任状を求められます私の例を見てください)。

文字列の大文字小文字を区別せずに、ユーザー名(ユーザーID)と相対パスワードを設定してください!!一般的なヒントとして

enter image description here

(しかし、これは唯一の私の経験に関連している!)、特殊文字と上部/下部ケースの区別を回避しようと...

あなたがここに到着した場合(問題なしLinked Serverの作成時に)、Linked Serverが動作するはずです(最初の問題と2番目の問題が解決されます)。最初のクエリを作成しましょう!

リンクサーバーが作成されたら、アーカイブ、ライブラリ、もちろん正しい表とリンクサーバー(名前で)を正しく参照するだけでいいです:この情報を使って、次のようなクエリを作成してください(これは通常のT-SQL構文です):

SELECT 
    (Field1) 
    , (Field2) 
    , * 
FROM (Linked Server Name).(Catalog Name).(Library).(TableName) 

あなたはおそらく不足している唯一の情報は、「アーカイブ」です:あなたは簡単にそれがあなたの新しいリンクサーバー内のカタログツリーを閲覧見つけることができるか、単にiSeries Access Navigatorを使用しますツール!

だから、あなたのケースでは、私は、クエリが(多かれ少なかれ)されるべきだと思う:S242DA0Aは私の場合に有効であることを

SELECT 
    FILIO 
    , DTVLD 
    , DTVLA 
    , SEQZA 
    , CFIMP 
    , PADRE 
    , TPVLD 
    , CMVLD 
    , * 
FROM MYAS400.S242DA0A.ACG_DATV2.ANLE200F 

注...

ものことを忘れないでください:

  • AS/400は、おそらくSSMSを閉じて再オープンした場合にも、資格情報を頻繁に要求します。
  • パフォーマンス... ...何か他のことについてお話してください:) ...あなたのSQL Serverテーブルのテーブルを抽出し、そこからクエリを実行してください! SELECT (Fields) INTO myTable FROM (AS/400 table)
  • 私はこのプロセスを何度も試してみましたが、私は多くの問題を抱えていませんでした。決してデータを更新しようとしなかった!

GOOD LUCK!

+0

ありがとう、私はそれを試みている! –

+0

あなたはWindows 7 x64でもそれは大丈夫だと思いますか?私は問題がたくさんあると思っていましたが、まだこの解決策を試しています! :) –

+1

あなたは、iSeries ClientAccess(5。8):私はあなたがサービスパックについて話していたと思います(バージョンは4.0.100.1124 - V5R4M0でなければなりません):私が知っている限り、最近のOSの問題を修正します! – MAXE

関連する問題