1

ASP.NET ソリューションに接続文字列があります...

Data Source=.\SQLEXPRESS;AttachDbFilename="F:\Prueba Documento Digital\Prueba Documento Digital\App_Data\BaseDeDatos.mdf";Integrated Security=True;User Instance=True

は私の USB フラッシュ ドライブ上にあるため、正確なルートが指定されていることに気付くかもしれませんが、ソリューションを別の場所に移動するとどうなりますか (ソリューションの名前は Prueba Documento Digital です)。

~/App_Data... のようなものを試していましたが、うまくいきませんでした... どうすればよいですか?

4

4 に答える 4

3

データベースを App_Data フォルダーに配置し、DataDirectory 経由でアクセスできます。

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\BaseDeDatos.mdf;Integrated Security=True;User Instance=True

デフォルトでは、asp.net は DataDirectory ディレクティブを検出すると App_Data フォルダーをチェックします (ただし、 を呼び出して DataDirectory を変更しますAppDomain.SetData) 。

于 2013-01-28T03:34:54.140 に答える
2
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\BaseDeDatos.mdf;Integrated Security=True;User Instance=True
于 2013-01-28T03:37:44.763 に答える
1

それは簡単で、サーバーアドレスを指定し、その中でデータディレクトリにアクセスしてデータベースのファイル名を指定します。データベースファイルをApp_Dataフォルダに入れます

Data Source=.\SQLEXPRESS;AttachDbFilename=|dataDirectory|\BaseDeDatos.mdf;Integrated Security=True;User Instance=True.

このコードでは、AttachDbFilenameという名前のデータベースファイルを検索しますBaseDeDatos.mdf

于 2013-01-28T03:37:45.463 に答える
1

そもそもAttachDbFileNameプロパティと非推奨のユーザー インスタンス機能の使用をやめてください。アプリケーションを起動するたびにデータベースの新しいコピーを作成しますか?

代わりに、を使用して、実際の Express インスタンス上にデータベースを直接作成しますCREATE DATABASE BaseDeDatos ... FOR ATTACH ...。次に、アプリケーションは常にデータベースの適切なコピーを参照します (.mdf ファイルを USB フラッシュ ドライブに移動しないことを強くお勧めします。ポータブル開発が必要な場合は、Azure などを使用してください)。

Data Source=.\SQLEXPRESS;Initial Catalog=BaseDeDatos;Integrated Security=True;
于 2013-01-28T04:19:04.657 に答える