2016-04-14 18 views
0

AS400にはDB2データベースがあります。リンクされたサーバーを追加しましたが、すべてうまくいっていましたが、一部の選択クエリを実行していてもテーブルがロックされることがありました。 SQL Serverのテーブルヒントについて考えると、リンクされたサーバークエリ(select * from ...など)はテーブルヒントをサポートしていますか?リンクされたサーバーのクエリのヒント

答えて

0

疑問がありますが、わかりません。

openquery()または4つの部分名を使用していますか?そのような4つの各部の名称使用

クエリ:

select * from LNKSVRNAME.IBMINAME.MYSCHEMA.MYTABLE where somecolumn = '00335'; 

MYTABLEからすべての行を引き戻すと、MS SQL Server上WHEREフィルタリングを行います。

select * from openquery(LNKSVRNAME, 'select * from MYSCHEMA.MYTABLE where somecolumn = ''00335'''); 

は、IBM Iにクエリーを送信し、MYTABLEからのみ一致する行がMS SQL Serverに引き戻される:OPENQUERY()ので、などを用いて対照的に

、。

テーブルが排他的にロックされている場合は、できることはあまりありません。ただし、行ロックを実行している場合。場合は注意

select * from openquery(LNKSVRNAME, 'select * from MYSCHEMA.MYTABLE where somecolumn = ''00335'' FOR READ ONLY USE CURRENTLY COMMITTED'); 

:あなたは、私はこのような何かそう

  • FOR READ ONLY
  • SKIP LOCKED DATAまたはUSE CURRENTLY COMMITTEDまたはWAIT FOR OUTCOME句IBMは、以下のDB2を見てみたいことがありあなたは実際にAS/400、と話しています3210はあなたが利用できるすべてのものです。しかし、IBM iの比較的最近のバージョンを実行している比較的最近のIBM POWERシステムと話しているなら、私が示したconcurrent-access-resolution節が利用できるはずです。

関連する問題