Microsoft SQLデータベースと対話するアプリケーション(c#、. net)を起動しています。複数のクライアントが同時にデータにアクセスする機能が必要なので、サービスベースのデータベース(.mdf)を使用します。ローカルデータベース(.sdf)を使用してアプリケーションを開発し、展開時にサービスベースのデータベースに簡単に切り替えることはできますか?それは、このタイプの開発が通常どのように行われるのですか?
5 に答える
.config ファイルでデータベースへの接続文字列を指定することで、データ ソースを制御できます。
異なる接続文字列を使用して、.config ファイルのデバッグ バージョンとリリース バージョンを作成することもできます。Debug はローカル マシンを指し、Release は運用環境にできます。
開発ショップはさまざまですが、ローカルで SQL Express を使用してアプリを開発し、運用環境用に SQL Server のフル インストールを使用するのが一般的です。
私がアドバイスする唯一のことは、開発環境用に選択した DB が、本番環境で期待するものと同じ機能をサポートしていることを確認することです。たとえば、本番環境で Oracle を使用する予定がある場合は、開発ボックスで SQL Express を使用しないでください。
両方のバックエンドのデータベース スキーマがまったく同じである場合、サービス ベースのデータベースに移行する準備ができたら、接続文字列を変更するだけで済みます。スキーマのわずかな変更が問題を引き起こす可能性がある (そしておそらくそうなる) ことに注意してください。
複数のクライアントがある場合は、SQL Server Express (.mdf ファイル) を使用する必要があります。SQL Server Compact (.sdf ファイル) は、Windows などのクライアント マシンに展開され、スタンドアロンで実行されるアプリケーションを構築する場合に便利です。ローカル データベースを使用するフォーム アプリケーション。SQL Server Compact は MS Access .mdb ファイルまたは SQLite、いわゆる「組み込みデータベース」の単なる代替手段ですが、SQL Server Express は実際のデータベース サーバーです (ただし、大規模な商用アプリケーションには適さないという制限があります)。 Web アプリケーションやスマート クライアント アプリなど、複数のクライアントが中央データベースを使用する場合に使用されます (ただし、後者はローカルの組み込みデータベースを利用することもできます)。
SQL Compact Edition を使用したいのですが (データベース ファイルの拡張子は .sdf だとおっしゃいました)、そうですか? 代わりに MSSQL Express Edition を使用できます。これは、完全な MSSQL Server のように機能し、無料であり、開発者のマシンにインストールするのがそれほど難しくないためです (私は個人的にこのオプションを好みます)。この 2 つには違いがあります (ここで説明されているように: http://blog.sqlauthority.com/2009/04/22/sql-server-difference-between-sql-server-compact-edition-ce-and-sql-server -特急版/ )。ただし、データベースにトリガー/プロシージャ/ビューなどの機能が必要ない場合でも、CE を使用できます。