web-dev-qa-db-ja.com

MS-Accessのリンクテーブルを介したSQLServer 2008 R2のリンクサーバー?

Visual FoxProには非常に古いデータソース(ファイルベース)があり、現在ODBCデータソースを介してリンクテーブルを介して使用しています。最近、最新の更新により問題が発生し始めました。私たちのアンチウイルススイートは、この方法での接続を停止しています。この問題がない同じドライバを使用しない他のODBCデータソースがあります。

また、Visual FoxProドライバーODBCドライバーは、Windows 7でサポートされなくなったため、レジストリの使用に苦労しています。

Visual FoxProデータソースをSQLサーバーのリンクサーバーとして追加し、次にMS-Accessデータベースに追加して、影響を受けるテーブルをそれに再リンクすることで、この問題の解決策が考えられますか?注:MS-Accessデータベースは、VBAとクエリを使用してデータを取得および操作します。

1
leeand00

リンクサーバーのテーブルのラッパーであるビューをSQLServerで作成することで、これを回避できるはずです。もちろん、リンクサーバーのセキュリティ構成の追加レイヤーを処理する必要があります。これにより、Accessユーザーが適切な資格情報を使用して外部データに接続していることを確認できます(ユーザーごとのデータであろうと、 FoxProデータにアクセスするすべての人に使用される資格情報)。

AccessはSQLServer向けのクエリを生成するため、パフォーマンスに注意してください。最初は少しおしゃべりになる傾向があります。次に、SQLServerはFoxProからデータをフェッチするためのクエリを生成します。クエリ生成のレイヤーが非常に多いため、パフォーマンスは大きなテーブルの問題になる可能性があり、診断や改善はかなり困難になります。

FoxProデータのほとんどが静的な履歴データである場合は、SQLServerに取り込むことをお勧めします。それでも読み取り/書き込みアクティビティが発生している場合は、リンクサーバーのアプローチを採用するか、SSISまたはその他のETLを介してSQLServerのデータを定期的に更新する必要があります。

3
db2