0

次の違いについて少し混乱しています。

  1. SQL Server Express
  2. SQL Server Compact
  3. localDB

私の要件は、基本的なRDBMS機能を使用するデスクトップアプリケーションを開発することです。アプリケーションをパッケージ化し、ユーザーが単一の分散パッケージをインストールできるようにする必要があります。SQLServerExpressでさえユーザーにインストールしてほしくない。

この場合、どのDBを使用する必要がありますか?SQLiteは、再コーディングが多すぎるとは見なされません。

ありがとうございました。

4

1 に答える 1

2

SQL Server Expressはフル機能のDBMSですが、データベースのサイズと使用できるリソースに関していくつかの制限があります。マイクロソフトのサイト(SQL Server 2012のエディションでサポートされている機能)でその制限(SQL Serverと比較して)を確認できます。

SQL Server CEは組み込みデータベースです。つまり、ユーザーモードで実行され、展開が簡単で(少数のアセンブリをコピーするだけで済みます)、軽量でありながら高速で、特権の低いユーザーでも実行できます。NHibernateによってサポートされています。ただし、さらに制限があります。私にとって最も注目すべきは、同じデータベースに複数の接続を確立しようとすると問題が発生することです。MSはこれがサポートされていると主張していますが、Windows 2008サーバーでこれを試してみると、失敗します。さらに悪いことに、そのような使用シナリオはDBの破損につながる可能性があります。これは、サービス/ Webサイトの実行中に、一部の管理ツールを使用してデータを更新することが事実上不可能になることを意味します。また、SQL Server ManagementStudioはSQLCEをサポートしなくなったため、Database.NETなどのサードパーティツールを使用する必要があります。また、サブクエリもサポートしていません。

localDBは、それを使用していないので、妥協のように聞こえます。これは、ユーザーモードで実行されるスタンドアロンデータベースです(低特権ユーザーが使用できます)が、その部分の管理者特権が必要になるようにインストールする必要があります。SQLServerExpressの一連の機能を提供します。これはSQLCEよりもはるかに大きく、インストールする必要もあります(単なるバイナリドロップインであるCEとは異なります)。このDBMSの最も短い概要はここにあります。

于 2012-09-03T08:30:12.600 に答える