3

ファイル サーバー上の同じデータベースを使用する Windows ベースのアプリケーションの複数の同時ユーザー用のデータベース ソリューションを選択する必要があります。

Windows OS ファイル サーバー上に存在するデータベースが必要です。

  1. 個々の MS Windows マシン (主に Windows 7) で実行されている複数のアプリケーションで共有する必要があります。
  2. ファイル サーバーによって利用可能になります。
  3. データベース サーバー/エンジン (内部の政治的ルールのため) または Web ページ サーバーを使用できません。
  4. WPF アプリケーションのセットには C# を使用することをお勧めします。
  5. 現在、一連の MS Access ファイルを含む一連の VB アプリケーションを使用しています。これらのアプリケーションの 1 つに問題があり、書き直す必要があります。
  6. 現在、約半ダースの *.mdb ファイル (一部はリンク テーブル付き) のセットは、約 400 MB です。推定 10 ~ 20 MB/年の成長。
  7. 現在、それぞれが自分の PC で最大約 10 人の同時ユーザー。将来、これに関する多くの変更を期待しないでください。
  8. すべてのアプリは、データベースへのデータの読み取りと書き込みの両方を行います。
  9. 現在、何人か (約 4 人) が Access でアドホック クエリを作成しています。彼らは引き続き何らかの方法でクエリを作成できる必要があります。
  10. エンド ユーザーによるデータベース構造の変更 (テーブル/列の追加) を防止したい。
  11. フリーソフトウェア。

私が知っている選択肢は次のとおりです。

  1. .mdb ファイルにアクセスします (現状)。
  2. SQLite。
  3. SQL サーバー CE。

必要な特性の多くまたはすべてに適合する、機能する可能性のある他のシステムはありますか? 検討しているシステムについて知っておくべき特定の「落とし穴」はありますか?

4

1 に答える 1

1

まあ、「データベースサーバー/エンジンが使えない」というのは大変なことです。「無料」も同様です。

あなたのリストの中で、すべての要件をほぼ満たしているのは Access だけだと思います。無料ではありませんが、すでにお持ちのようですので、少なくとも追加料金はかかりません。

Access は基本的に 3 つの異なるバンドル製品です。

  • Jet データベース エンジン
  • クエリ、フォーム、およびレポート用の RAD 環境
  • VBA プログラミング環境

データベース エンジンのみを使用している場合は、SQL Server CE でテストを行うのが理にかなっています。

SQLite に切り替えると、アプリケーション コードで追加のチェックが必要になる可能性があります。SQLite は、データ型ではなくストレージ クラスをサポートします。どういう意味ですか?これは、SQLite がこれを許可することを意味します。

sqlite> create table foo (n integer);
sqlite> insert into foo values ('wibble');
sqlite> select n from foo;
wibble

HyperSQLも別の可能性です。JDBC のみをサポートし、サーバー コンポーネントなしで実行される場合があります。(ドキュメントはそれについてすぐには明確ではありませんでした。) これに切り替えるには、SQL Server CE よりも多くの作業が必要になると思います。

H2Firebirdも参照してください。

于 2012-08-19T01:08:20.523 に答える