質問のタイトルで述べたように; SQL データベースに接続されている Visual Studio プロジェクトであるデスクトップ アプリケーションがあります。このプロジェクトの exe ファイル (セットアップ ファイル) を作成したいのですが、データベースを添付するにはどうすればよいですか?
ありがとう。
ソリューションの同じ問題: SQL データベースを使用した Visual Studio 2010 アプリの迅速な展開
質問のタイトルで述べたように; SQL データベースに接続されている Visual Studio プロジェクトであるデスクトップ アプリケーションがあります。このプロジェクトの exe ファイル (セットアップ ファイル) を作成したいのですが、データベースを添付するにはどうすればよいですか?
ありがとう。
ソリューションの同じ問題: SQL データベースを使用した Visual Studio 2010 アプリの迅速な展開
SQL サーバーの場合は、データベースをファイルにスクリプト化し、カスタム アクションを使用して、変数で指定されたデータベース サーバーに対してそのスクリプトで osql を呼び出すことをお勧めします。
MDF をコンテンツ ファイルとしてプロジェクトに追加します。インストーラーはコンテンツ ファイルをインストール フォルダーにコピーするため、アプリケーションでそのデータベースを正しく使用することが問題になります。SMOがそのお手伝いをできるかもしれません。
セットアップ中にのみデータベースを作成し、必要に応じて作成と初期化のためにスクリプトを実行し
ます。これを実現するには、カスタム スクリプトとカスタム ダイアログ ボックスを使用します。
SQL Server Express データベースでxcopy 配置を使用できます。言及されたリンクから:
アプリケーションを SQL Server Express の Xcopy 配置機能で動作させるには、アプリケーションで使用する接続文字列に適切なパラメーターが含まれていることを確認する必要があります。
データ ソース パラメーターを使用しますが、コンピューター名をピリオド (.) または (ローカル) に変更します。SQL Server Express が常に名前のないインスタンスにインストールされることが確実でない限り、インスタンスの名前も指定する必要があります。
初期カタログまたはデータベース パラメータを使用しますが、パラメータに値を設定しないでください。
AttachDBFileName パラメーターを追加し、.mdf ファイルの名前とパスに設定します。Attachdbfilename は、実行時にデータベースを接続できるようにし、データベース名を自動生成する SqlClient 接続文字列オプションです。DataDirectory キーワードを使用すると、データベース ファイルの相対パスを指定できます。Attachdbfilename は、データベースの移植性にも役立ちます。Attachdbfilename の詳細については、Visual Studio 2005 のドキュメントを参照してください。
次の接続文字列は、アプリケーションの実行可能ファイルと同じフォルダーにある MyDb.mdf データベース ファイルを、ローカル コンピューターで実行されている SQL Server Express インスタンスにアタッチします。
@"Data Source='.\SQLExpress'; Initial Catalog=; Integrated
Security=true; AttachDBFileName='" |DataDirectory| +
@"\MyDb.mdf'"