2012-02-11 10 views
0

次のコードを使用して、データベースをSQL Serverに接続しています。問題は、新しいファイルを作成してコードに添付しても、SSMSを使用してファイルをデタッチして同じコードを再度実行するとエラーになります。デタッチ後のDBの添付

エラーは次のとおりです。

"E:\ dbForATTWithPWD.mdf" 物理ファイルを開くことができません

。オペレーティング システムエラー2: "2(エラーが見つかりません)" は

コードがある:なぜそれが起こっている

Dim conn As New SqlConnection("Server=MyHomeServer\SQLExpress;Database=master;Integrated Security=SSPI") 
Dim cmd As New SqlCommand("", conn) 
cmd.CommandText = "CREATE DATABASE MyHomeWithPWD ON (FILENAME = 'e:\dbForATTWithPWD.mdf'), (FILENAME = 'e:\dbForATTWithPWD_log.ldf') FOR ATTACH" 
conn.Open() 
cmd.ExecuteNonQuery() 
cmd.Dispose() 
conn.Dispose() 

。すべてのアクセス許可は初回でも同じです。

また、DBをuid saとpwd abc123で使用する必要がある場合、接続文字列はどのようにする必要がありますか? ありがとう

答えて

0

デタッチした後、そのmdbファイルに何もアクセスしていないことを確認してください。私はおそらくSQLServerのインスタンスをシャットダウンし、再起動します。また、SSMSで切り離して再接続できることを確認したいと思います。

あなたの接続文字列は、 "サーバー= YOURSVR;データベース= DB; Trusted_Connection = False;ユーザーID = sa;パスワード= abc123;

+0

ありがとうございます!私はSSMSを介してそれを接続しようとしましたが、動作しますが、私のコードでは、物理ファイルを開くことができません。新しく作成された問題はありません。 –

+0

パスワードセクションが正常に機能し、DBがマスターに置き換えられました –

関連する問題