質問

Accessフロントエンドを備えた分散DBアプリケーションを作成しています。基本的に、いくつかのフォームとレポートを含むmde。アクセスmdbを使用してバックエンドテーブルを保持するか、MySQLまたはその他のデータベースを使用する必要がありますか?

役に立ちましたか?

解決

個人的には、SQL Server ExpressまたはMySQLを使用します。 Accessバックエンドよりも優れた拡張性を備えており、Accessから離れる準備ができたら、フロントエンドだけでなくバックエンドも変換せずに実行できます。

他のヒント

SQL Server Expressは適切なソリューションかもしれませんが、かなり厳しい制限もあります。また、ライセンスがニーズに合っていることを確認する必要があります。

同時実行性とスケーラビリティのニーズが限られている場合(たとえば、適度な量のI / Oを持つ10〜15人の同時ユーザー)、MDBバックエンドを使用しても問題はありません。私はAccessのファンではありませんが、経験からこれが通常機能することを知っています。

また、MDBバックエンドの管理はほとんど無料ですが、MySQLまたはSQL Server Expressでは実際のDBA作業が必要になります。絶対に必要としないと合理的に確信していれば、もっと大きなものを選ぶ意味はありません。

実際の展開では、Access / Jet DBエンジンではなく、実際のデータベースを使用する必要があります。

とはいえ、アクセスの素晴らしい点は、単一のMDBファイルをデータベースとコードに分割するツール(メニューを見る)があることです。それを行い、コードを新しいデータソースに向けます。

クエリを少し変更する必要がある場合があります。

SQL Server Expressが最良の選択肢だと思います。 MySQLはバックエンドに適したDBですが、AccessはSQL Serv Express(もちろん、MSが無料であっても独自の製品を使用することを望んでいます)との統合性が高く、Expressエディションは無料であることを考えるとかなり良いです。アプリケーションが後で大幅に拡張する必要がある場合、有料のSQL Serverへのアップグレードは簡単で、ドライバーは同じです。

「分散DBアプリケーション」の意味を定義する必要があると思います。私が理解しているように、この用語は通常、バックエンドの実行からJetを除外します。

ユーザーの人口、動作環境、セキュリティと信頼性の要件などを示すことなく、誰もあなたの質問に実際に答えることはできません。10人のユーザー向けで、基幹業務データでない場合、Jetバックエンドは完璧であり、開発と管理を簡単にします。 100人のユーザーがいる場合は、サーバーバックエンドを使用することをお勧めします。セキュリティに関する重要な考慮事項(HIPAA準拠など)がある場合は、Jetではなく、サーバーレベルのセキュリティが組み込まれたデータベースを使用することをお勧めします。

しかし、Jetバックエンドが問題なく、高速で完全に信頼できるアプリケーションがたくさんあります。

3番目のオプションがあります。通常のAccessバックエンドを使用できるように、 EQLデータのようなものを使用できます。ただし、各ユーザーに独自のコピー(およびそれらの間の同期)を与えて、マルチユーザーのスケーラビリティの問題を解決してください。そうすれば、「本物」を使用する複雑さを感じる必要がなくなります。 DBバックエンド。

MySQLを選択するには、各クライアントにMySQL Connector(ODBC)をインストールする必要があります。追加のコンポーネントを配布したくない場合は、SQL Server Expressをお勧めします。さらに、ADOはMS SQLでより適切に動作します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top