1

AccessからSQLServerへのデータの移動に関して多くの質問を見てきましたが、別のルートに行きたいと思います。理由は次のとおりです。

私はSQLServer2008バックエンドとAccess2007フロントエンドを使用して大規模なプロジェクトに取り組んできました。週末に自宅からフロントエンドでいくつかの作業を実行できるようにしたいのですが、そこからSQL Serverにアクセスできません(VPNまたはその他)。リンクテーブルをSQLServerから、SQLServerデータのスナップショットをインポートした別のAccessデータベースファイルに変更したいと思います。次に、月曜日の朝に来て、リンクをSQLServerに戻します。

私の問題は、Linked Table Managerに移動してリンクを変更しようとすると、[ODBC SelectDataSource]ダイアログだけが表示されることです。Accessデータベースにリンクしようとすると、ODBCを使用して別のAccessファイルにリンク、インポート、またはエクスポートできないと表示されます。

ある考えが浮かびましたが、まだ試していません。誰かがそれが良いか悪いかを教えてくれるかもしれません:リンクを削除し、他のAccessファイルに再作成して、クエリ/フォーム/レポートの機能を失うことはありませんか?

4

2 に答える 2

1

私の提案は、コンピュータに SQLExpress (無料) をインストールすることです。その後、すべてのデータをマシンで使用できるようになります。メイン サーバーにパブリケーションを作成し、ローカル マシンをこのレプリケーションにサブスクライブさせます (マシンで行われたデータ変更を保存/同期する必要がない場合は、基本的な「スナップショット」レプリケーションを使用できます)。

次に、接続文字列をネットワークの MSSQLSERVER からローカルホストの SQLEXPRESS サーバー インスタンスに変更して、アプリを機能させるだけです。

何らかの理由で、オフライン中にデータベース モデルを変更する必要がある場合は、ローカル サーバーで変更を行う前に、メイン サーバーの登録を解除する必要があります。オフィスに戻ったら、メイン サーバーで同じ変更が行われていることを確認してください。私のアドバイスは、変更を T-SQL に書き込んでファイルに保存し、作業に戻ったらメイン サーバーに対してそのファイルを起動することです。

私の意見: 週末に働きすぎないでください。または、クライアントにその分の料金が請求されるようにしてください。

于 2009-03-28T17:23:32.727 に答える
0

テーブルをリンクするには、テーブルを削除して完全に再作成する必要があります。リンク テーブル マネージャーを使用して ODBC リンクを更新しても、まだ ODBC を使用している場合は確実に機能しません。これは、更新されないテーブル リンク定義にキャッシュされたデータがあるためです (たとえば、リンク テーブル マネージャーを使用してテーブル リンクを更新すると、列の数が更新されますが、必ずしも更新可能なビューが得られるとは限りません (元のビューが更新可能であると仮定します)。

ただし、機能が失われるかどうかは明らかではありません。それはすべて、SQL Server ビューとストアド プロシージャで、アプリケーションのロジックがサーバー側にどの程度あるかによって異なります。Jet バックエンドにリンクすると、これらのどれも機能しません。

于 2009-03-28T05:13:46.163 に答える