3

Microsoft は、Access 用のデータベース ドライバである Jet の 64 ビット バージョンをリリースしないことを選択しました。誰かが良い代替案を知っていますか?

以下は、私が必要としている Jet がサポートする特定の機能です。

  • 複数のユーザーがネットワーク経由でデータベースに接続できます。
  • ユーザーは Windows エクスプローラーを使用して、破損の危険を冒さずに、開いているデータベースをコピーできます。アクセスは現在、私の顧客が必要とするものに対して十分な信頼性でこれを行っています。
  • .Net を必要とせずに C++ でうまく動作します。

うまくいかないと私が考えた代替案(私の理解は間違っているかもしれませんが):

  • SQLite: 複数のユーザーがネットワーク経由でデータベースに接続すると、データベースが破損します。
  • Firebird: 使用中のデータベースをコピーすると、元のデータベースが破損する可能性があります。
  • SQL Server: 使用中のファイルはロックされており、コピーできません。
  • VistaDB: これは .Net 固有のようです。
  • 32 ビットでコンパイルして WOW64 を使用する: 64 ビット機能をまったく使用しない場合でも、64 ビットでコンパイルする必要がある別の依存関係があります。
4

7 に答える 7

12

幸いなことに、過去2年間で状況は変化しました。

Office 2010は64ビットバージョンで利用できるため、Microsoftは64ビットバージョンのJetEngineを作成する必要がありました。Microsoftカスタマーサービスのブログによると、Microsoft Access Database Engine 2010 Redistributableには64ビットドライバーが含まれており、MicrosoftAccessデータベース形式の最新バージョンにアクセスできます。

于 2010-06-15T21:50:31.020 に答える
2
  • ユーザーは、破損の危険を冒さずに、開いているデータベースをコピーできます。

複数のユーザーやプロセスが変更しているデータベースファイルでは、これを行うことはできません。

于 2008-09-23T18:31:03.993 に答える
1

私がやろうとしていることは、私の64ビットアプリケーションがCOMを介して通信できるJetに接続する別の32ビット実行可能ファイルを作成することです。

これは、Jetであるため、「Jetのように機能する」という私の一般的な要件を満たしています。私の顧客は64ビットのメリットを享受していませんが、他の要件はより重要です。

于 2008-09-24T01:50:59.943 に答える
1

検討できるもう 1 つの代替手段は、SQL Server Compact Edition (CE) です。これには64ビットバイナリがあると思います。

また、データベースのコピーについては Orion と Kev に同意します。

于 2008-09-23T18:25:14.757 に答える
1

@Orion: 同意しました。OP は SQL 2005 Express を使用することをお勧めします (可能であれば)。「使用中」のファイルをコピーできる何らかのバックアップツールを使用せずに、使用中/接続中にDBをコピーできることは、SQLでは問題外です。

もう 1 つの方法は、ローミング マシンへのバックアップと復元を自動化することですが、これは、ファイルのコピーを取得するだけには程遠いものです。

于 2008-09-23T17:58:55.477 に答える
1

探しているのは、移植可能な .mdf ファイルを含む SQL Server Express です。コピーの制限を回避するには、問題のソフトウェアが接続を開いたままにしないようにする必要があります (つまり、切断されたデータ アクセス レイヤーを作成します)。

于 2008-09-23T17:50:54.763 に答える
1

http://www.vistadb.net/を見てみてください

于 2008-09-23T17:53:11.543 に答える