0

Progress OpenEdge データベースに接続する Linked Server セットアップを使用した SQL Server データベースのセットアップがあります。次のようなコードを使用して、一部の OpenEdge テーブルの SQL Server ビュー (SSRS で使用するため) を作成しました。

CREATE VIEW accounts AS SELECT * FROM OPENQUERY(myLinkedServerName, 'SELECT * FROM PUB.accounts')

CREATE VIEW client AS SELECT * FROM OPENQUERY(myLinkedServerName, 'SELECT * FROM PUB.clients')

何らかの理由で、クエリはテーブル全体を戻し、Progress 側でクエリを実行するのではなく、SQL 側でフィルタリングするように見えます。

状況を改善する理由または方法を知っている人はいますか?

ありがとう

4

1 に答える 1

0

ネイティブのOpenEdgeSQLクエリとして実行すると、さらに高速になりますか?(sqlexpコマンドラインツールを使用して、proenvプロンプトからクエリを実行できます。)

そうでない場合は、データベースでUPDATESTATISTICSを実行する必要があることが問題である可能性があります。

http://knowledgebase.progress.com/articles/Article/20992

また、dbtoolを実行してフィールド幅を調整する必要がある場合もあります(OpenEdgeフィールドはすべて可変幅であり、過剰に詰め込むことができます。これにより、SQLクライアントが適合します)。

http://knowledgebase.progress.com/articles/Article/P24496

于 2012-09-19T10:00:59.353 に答える