14

c#(または基本的に.Net)でソフトウェアを開発する場合、VisualStudioをクライアントにインストールしません。クライアントは、.Net Framework(1.0、1.1、2.0、3.0など)がインストールされている必要があります。これで準備完了です。

同様に、VC2008でアプリを作成する場合は、Visual C ++ 2008ランタイム(MSサイトから無料で入手可能、約4〜5Mb)が必要です。したがって、基本的には、ランタイム環境が必要です。しかし、SQL Server 2008ランタイムはありません(または私はそれを認識していませんか?)。

それで、私の質問は、私のソフトウェアがSQL Server 2008を使用している場合、それが機能するためにクライアント側でどのランタイム(または他のもの)が必要になるかということです。

また、もう1つ、展開で使用できると思われるSQL Server Expressエディションがあるようですが、ソフトウェアが5、10、または20Mbの場合、ギグについてインストールする必要があることを知っていると、ちょっと重いようです。ユーザーはそれを実行できます。

最後に、SQL Server 2008 Developer Edition(私はそうですが、エンタープライズ版はわかりません)を使用していて、SQL Server Expressをクライアントにインストールした場合、ソフトウェアがExpressでサポートされていない機能を使用していても問題は発生しません。版?(データベースの数、同時接続など)。

それで?それにはどのようなランタイムが必要ですか?また、SQL Server Expressのインストールが唯一のオプションである場合、Express Editionでサポートされていない機能を使用しているとどうなりますか?確かに、各クライアントで開発者版のフルインストールを続けることはできません!

編集:これが役に立った場合、私の現在のプロジェクトはライブラリ管理システムであり、クライアント(これを作成している図書館員のコンピューター)がインストールされるため、ここではサーバークライアントのケースはありません。では、彼のコンピューターにsql expressをインストールする必要がありますか?また、YvesR彼の回答で指摘されているように、そのリンクには3つのエディション(メインエディション)しか表示されませんが、http://msdn.microsoft.com/en-us/library/cc645993%28v=SQL.110%29.aspxにはさらに多くのエディションが表示されます詳細な比較。それで、私が今説明したこの特定のシナリオでは、クライアントのマシンにエディションをデプロイしてエクスプレスするだけで十分でしょうか?

さて、エクスプレス版で利用できないいくつかの機能について私が言ったことについて、 http://msdn.microsoft.com/en-us/library/cc645993(v = SQL.110) .aspx#CrossBoxScale はエクスプレス版が制限されていることを示していますサイズ10Gbのデータベースに対して、上記のシナリオではそれで十分であることがわかりましたが、他の場合にそれ以上が必要な場合はどうなりますか?Express Editionよりも、どのように展開すればよいのでしょうか。

最後に、http://www.microsoft.com/sqlserver/en/us/get-sql-server/how-to-buy.aspxには、コンパクトと開発者の2つのエディションが表示されます。開発者については知っていますが、このコンパクトエディションとは何ですか。 ?そしてもっと重要なのは、なぜこれらがここにまとめられていないのか、リストされていないのですか?

編集2:その4Gb、制限、10Gbではありません。10GbはSQLServer2008 R2 Express以降、4GbはSQL Server2008Expressにあります。
marc_s:ありがとうございます!

4

4 に答える 4

8

アプリケーションでデータを永続化するために SQL Server データベースを使用する場合は、

a. クライアントが LAN 経由で中央の SQL Server に接続するクライアント サーバー インフラストラクチャ

b. または、クライアントにインストールされたSQL Serverエディションを使用します(これはあなたが望むものです)。これには、SQL Server Express エディションまたは MSDE (デスクトップ エディション) のみを使用できます。

詳細については、このブログ記事http://searchsqlserver.techtarget.com/tip/SQL-Server-2005-Express-vs-Desktop-Engine-MSDEまたは google を参照してください。MSDE に関する MS 自体からの多くの情報があります。

編集: 2012 年以降、MSDE はなくなりましたが、SQL Server 2012 Express は MSDE のようなモードをもたらします。ここを参照してください: http://www.microsoft.com/sqlserver/en/us/editions/2012-editions/express.aspx

そして、ここでわかるように: http://www.microsoft.com/sqlserver/en/us/editions.aspx、デスクトップ アプリケーションの imho で使用できない機能を使用するべきではありません。

于 2012-07-14T06:51:47.777 に答える
3

では、少しバックアップしましょう。ソフトウェア クライアントごとに独自のローカル データベースを持つ必要がありますか? この場合、クライアントにデータを保存するはるかに簡単な方法があります (1 つのアプローチとして、ファイルへのシリアル化をお勧めします)。

各クライアントが中央データベースに接続することが要件である場合、.net コア ライブラリ以外のランタイム コンポーネントは必要ありません。

于 2012-07-14T06:51:34.627 に答える
2

.NET フレームワークがインストールされている以外に、データベース アクセスに必要なクライアント ランタイムはありません (いずれにせよ、すべての .NET 実行可能ファイルに必要です)。

データベースをクライアントと同じマシンに常駐させたい場合、無料のオプションは SQL Server Express または SQLite などです。

于 2012-07-14T06:50:53.107 に答える
1

Windows アプリケーションの場合、次の 2 つの方法があります。

  1. コンピュータをサーバーとして割り当てずに、各クライアントが個別に使用するデスクトップ アプリケーション。SSMSクライアント用のアプリケーションをインストールするだけです。更新/削除/挿入操作は個別に行われます。

  2. クライアント サーバー アプローチ、SSMSコンピューターに DB をインストールして接続します。このコンピュータはクライアントにサーバーとしてサービスを提供します。次に、任意のクライアント コンピューターに exe ファイルをインストールし、クライアントが IP を使用してサーバーに接続されていることを確認します。

于 2012-07-14T08:59:41.257 に答える