2016-08-30 3 views
1

私はOpenQueryを使用してクエリを実行している、異常なエラーを取得しています。どのように克服するテーブルからレコードのレコードロックを取得するエラー

これは私のクエリです:

select * from OpenQuery("CAPITAOC",'SELECT per.*             
              FROM pub."re-tenancy" AS t 
               INNER JOIN pub."re-tncy-person" AS per 
               ON t."tncy-sys-ref" = per."tncy-sys-ref" 
               INNER JOIN pub."re-tncy-place" AS place 
               ON t."tncy-sys-ref" = place."tncy-sys-ref" 
             WHERE t."tncy-status" = ''CUR'' and place."place-ref"=''GALL01000009''') 

これはエラーメッセージです:

OLE DB provider "MSDASQL" for linked server "CAPITAOC" returned message "[DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]Failure getting record lock on a record from table PUB.RE-TNCY-PERSON.". OLE DB provider "MSDASQL" for linked server "CAPITAOC" returned message "[DataDirect][ODBC Progress OpenEdge Wire Protocol driver]Error in row.". Msg 7330, Level 16, State 2, Line 1 Cannot fetch a row from OLE DB provider "MSDASQL" for linked server "CAPITAOC".

は、どのように私はこのデータを読むのですか?

答えて

1

レコードロックエラー: マルチユーザー環境では、他のユーザーセッションがそのレコードにアクセスできないように更新中のレコードをロックすると便利です。これにより、データの「ダーティリード」が防止されます。この問題を克服するために

、私はこの記事を見てお勧め: http://knowledgebase.progress.com/articles/Article/20255

The Transaction Isolation Level must be set prior to any other transactions within the session.

そして、これはあなたのレコードをロックしている人を見つける方法です: http://knowledgebase.progress.com/articles/Article/19833

また、私はしたいと思いますSQL Explorerのようなものを使用している場合を除き、更新を自動コミットしないと、変更をコミットするまでデータベーステーブルがロックされる可能性があります。

+0

_外部リソースへのリンクが推奨されていますが、リンクの周りにコンテキストを追加して、仲間のユーザーには何か、なぜそれがあるのか​​が分かります。ターゲットサイトに到達できない場合や、永続的にオフラインになる場合は、常に重要なリンクの最も関連性の高い部分を引用してください。 – Bugs

関連する問題