2012-02-10 2 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 Pipe Provider, 오류 : 40 - SQL Server에 대한 연결을 열지 못했습니다.) –

+0

SQL Server가 원격 연결을 허용하도록 구성되었으며 방화벽에서도 예외가 발생했음을 확인했습니다. –

+0

@FurqanSehgal : 새 연결 시도 문자열 - 거기에'Server =. \ SQLExpress'와 빈'Data Source = '가 있고'Data Source ='도 서버를 가리키고 있습니다. 실제로 보지 못했습니다. 대신에'server =. \ sqlexpress' 그리고'database = master'를 사용해야합니다. –

관련 문제