開発マシンでSQLServerを使用したことがある場合は、アプリを使用するすべてのコンピューターにSQLServerをインストールする必要があります。この問題を解決するには、いくつかのオプションがあります。
アプリが中央のSQLサーバーにアクセスする必要がない場合(たとえば、アプリがユーザーのDVDを追跡するだけの場合)、代わりにSQL Server Compact Editionを使用して、アプリに埋め込みます。
アプリにある種の一元化されたデータが必要な場合は、最初に専用のSQLサーバーを取得し、そこに必要なものをすべてインストールして、アプリで現在のmyServerAddressをサーバーのアドレスに変更します。サーバーはリモートロケーションからアクセス可能である必要があることに注意してください(ローカルホストへのアクセスを制限するものもあります!)。
Que 2-データベースを他のコンピューターに作成する方法として、セットアップにスキーマファイルを添付する必要がありますか?
繰り返しますが、複数のオプション。たとえば、データベースを.sqlファイルにエクスポートし(DBエクスプローラーでデータベースを右クリックしてオプションを選択Publish to provider
)、他のコンピューターのSQLマネージャーを使用してインポートできます。または、C#コードを使用して同じジョブを実行する.csインストールスクリプトを作成することもできます。
OPのコメントに基づいて編集します。
ソリューションのリンク例:
質問1:インストーラーへのSQLServer CEの埋め込み
質問2:http ://support.microsoft.com/kb/307283
大丈夫ですが、データソースが私の特定のマシン名であるため、その場合は現在の接続文字列が機能します
もちろん、SQLServerCEデータベースファイルを指すように変更する必要があります。おそらく最善の方法は、ハードコーディングせずに、データベースへの相対パスを使用することです。たとえば、次のようになります。
Data Source=|DataDirectory|\MyDb.sdf
、ここで、はアプリケーションのフォルダを|DataDirectory|
指します。App_Data
また、質問に添付したエラー画面マップも参照してください。
エラーは非常に明確です。データベースへの接続の確立に問題がありました。存在しないか、現在のマシンからアクセスできません。