2012-02-10 18 views
0

次のコードを使用してDBを作成しました。接続されたDBにアクセスできません

Dim conn As New SqlConnection("Server=.\SQLExpress;Data Source=;Integrated Security=SSPI") 
Dim cmd As New SqlCommand("", conn) 

cmd.CommandText = "CREATE DATABASE MyDBTest22 ON (FILENAME = 'D:\dbTestATTTTTTT.mdf'), (FILENAME = 'D:\dbTestATTTTTTT_log.ldf') FOR ATTACH" 

conn.Open() 
cmd.ExecuteNonQuery() 
cmd.Dispose() 
conn.Dispose() 

これはエラーなしで実行されましたが、SSMSを開いたときにサーバーに接続されたファイルが表示されませんでした。また、私は接続しようとしましたが、ファイルが存在しないと言いますが、上記のコードを再実行しようとすると、Fileはすでに存在しています。

私のやり方が間違っていますか? SSMSを使用して、SQL Server Express 2005のインスタンスに添付されていることを確認したいと思います。

おかげ

答えて

2

あなたは、接続文字列にに接続するためのデータベースを逃している - あなたは、ファイルを添付したい場合は、私がmasterデータベースへの接続をお勧めします:

Dim conn As New SqlConnection("Server=.\SQLExpress;Database=master;Integrated Security=SSPI") 
+0

今エラーが変更:SQL Serverへの接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからなかったか、アクセスできませんでした。インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認します。 (プロバイダー:Named Pipes Provider、エラー:40 - SQL Serverへの接続を開けませんでした) –

+0

SQL Serverがリモート接続を許可するように構成されており、ファイアウォールでも例外が発生しています。 –

+0

@FurqanSehgal:文字列 - そこには 'Server =。\ SQLExpress'と空の' Data Source = 'と' Data Source = 'もサーバーを示しています。代わりに、 'server =。\ sqlexpress'と' database = master'を使用する必要があります –

関連する問題