1

最初の簡単なデータ ドリブン テストを作成してみます。

  1. MS SQL Management studio で db (UnitTestsDb) を作成し、1 つの db テーブル (UsersTab) も作成しました。

このデータベースを単体テストで使用してみます。コードはここにあります:

[TestMethod()]
[TestProperty("TestCategory","Developer"), 
DataSource("System.Data.SqlClient",
  "Data Source=.\\SQLEXPRESS;AttachDbFilename=UnitTestsDb.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True",
  "UsersTab", DataAccessMethod.Sequential)]
public void UserConstructorTest()
{//...}

しかし、私はこのエラーが発生します:

単体テスト アダプターは、データ ソースへの接続またはデータの読み取りに失敗しました。このエラーのトラブルシューティングの詳細については、MSDN ライブラリの「データ ドリブン ユニット テストのトラブルシューティング」( http://go.microsoft.com/fwlink/?LinkId=62412 ) を参照してください。
エラーの詳細: ファイル UnitTestsDb.mdf の自動命名データベースをアタッチしようとして失敗しました。同じ名前のデータベースが存在するか、指定されたファイルを開くことができないか、ファイルが UNC 共有にあります。

問題があります。SQL Managment Studio で作成された db ファイルを添付する方法です。何かアドバイス?

4

1 に答える 1

1

ここから、次を試すことができます。

  1. 接続文字列を次のように更新します。

Driver={SQL Native Client};Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; データベース=データベース名;Trusted_Connection=はい;

Database パラメータが必要な理由 名前付きデータベースが既に接続されている場合、SQL Server はそれを再接続しません。アタッチされたデータベースを接続のデフォルトとして使用します。

  1. [ID] タブのアプリケーション プールのプロパティで、"Network Service" または "ASP.NET" をセキュリティ アカウントとして設定します。

  2. 「Network Service」または「ASP.NET」アカウントに読み取りと書き込みのアクセス許可を付与していることを確認してください。完全な権限を付与し、後で調整して安全 (または安全でない) 側にします。

于 2010-07-21T10:08:02.873 に答える