2

SQL Serverデータベースを使用してC#アプリケーションを開発しました。アプリケーションを公開してテストしようとすると>>それは自分のマシン(SQL Serverデータフォルダー内のデータベースを含む)で正しく機能します>>しかし、その公開されたアプリを別のマシンに移動すると機能しません。

データベースと一緒にプロジェクトをデプロイする最も簡単な方法を知りたい

私はこの接続文字列を自分のapp.config:で使用しています

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name="cs" 
         providerName="System.Data.ProviderName" 
         connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\Data\KBank.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" />
  </connectionStrings>
</configuration>

デプロイされたアプリでデータベースを配置し、データベースの接続文字列を動的に変更するにはどうすればよいapp.configですか?

ユーザーのマシンでプロジェクトを開いたときに表示される例外は次のとおりです。

ファイルC:\ Program Files(x86)\ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ Data \ KBank.mdfに自動名前付きデータベースを接続しようとして失敗しました。同じ名前のデータベースが存在するか、指定したファイルを開くことができません。 、またはUNC共有上のその場所

SQLデータベースを読み取れないようです

4

2 に答える 2

3

アプリケーションは、接続文字列で指定されているデータベースファイルを見つけることができません。これは、データベースがデータファイルではなく自動名前が付けられているためです。あなたがする必要があるのは、データベースをパッケージに添付されたデータファイルにして、デプロイされたときにデータベースがそれに沿って移動するようにすることです。これを行うには、Visual Studio IDEの[公開]タブで[アプリケーションファイル]を選択し、データベースファイルの公開ステータスを[自動を含める]から[データファイル]に変更してから、検証します。これにより、公開およびデプロイ時にデータベースファイルがアプリケーションに追加されます。プロジェクトプロパティにアクセスするには、1)VisualStudio2010/2012の場合-[プロジェクトメニュー]->[プロパティ]->[

これがお役に立てば幸いです。そうでない場合は、もう一度説明しようと思います。祝福されたまま

于 2013-10-23T18:07:59.667 に答える
1

問題を解決しました>問題は、プロジェクトソリューションにローカルデータベースを追加しなかったことです。そのため、別のマシンでプロジェクトを試行すると、アプリケーションはパスを持つ指定された接続を見つけることができませんでした。

C:\ Program Files(x86)\ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ Data \ KBank.mdf; Integrated Security = True; Connect Timeout = 30; User Instance = True

しかし、ローカルデータベースをプロジェクトソリューションに追加すると、接続文字列パスは次のようになりました。

| DataDirectory | \ KBank.mdf

プロジェクトファイルに正常に添付されていますありがとうございます

于 2012-07-27T13:35:07.627 に答える