3

SQLServerデータベースを必要とするプロジェクトの作業を開始しました。LINQ to SQLを使用するフロントエンドアプリケーションをc#.Net3.5で構築します。

ユーザーのグループがすべて、主に読み取り専用でデータベースにアクセスできるように、ネットワーク共有でデータベースをホストする必要があります。

SQL Server Compactはローカルマシンで実行するように設計されており、私の会社は本格的なSQLServerのコストを負担するつもりはありません。

SQL Server Expressを介して実行する必要があることを実現する方法はありますか?

もしそうなら、これを設定する方法についての最良のガイドはどれですか?

ありがとう

4

2 に答える 2

3

(無料の)SQL Server Expressを使用すると、必要な処理が実行されますが、ネットワーク共有ドライブを介してアクセスすることはありません。サーバーはIPアドレス(または同等のDNS)によって配置されます。

C#アプリケーションは、データベースファイルとの間で読み取りを行わずにサービス(SQL Server)と通信します。このサービスは、データベースとの対話を処理します。SQL Serverサービスのみが、ファイルが実際にどこにあるかを知る必要があります。クライアントマシンはそれを知らないので、気にする必要はありません。

あなたのバックグラウンドがファイルベースのデータベース、つまりMS Accessだけである場合は、SQLサーバーの動作について少し考え方を変える必要があります。

于 2012-08-14T14:21:25.477 に答える
1

SQL Server Expressインスタンスをインストールし、データベースへのアクセスが必要なすべてのユーザーにSQL ManagementStudioExpressをインストールできます。Express Editionは、使用されるプロセッサの数、使用されるメモリの最大量、およびデータベースの最大サイズに関する制限がある標準のSQLサーバーです。これらの制限が気にならない場合は、問題なく機能するはずです。

複数のクライアントからdbファイルにアクセスするためのデータベースストレージとしてネットワーク共有を使用することはお勧めできません。SQLサーバーインスタンスは、読み取りアクセスと書き込みアクセスの両方で、データベースに直接アクセスする唯一のインスタンスである必要があるためです。同じデータベースにアクセスするようにSQLServerの複数のインスタンスを構成することは、おそらく機能しません。機能する場合は、データベースファイルに大混乱を引き起こす可能性があります。

于 2012-08-14T14:10:41.533 に答える