2012-02-11 2 views
0

Я использую следующий код для присоединения моей базы данных к SQL Server. Проблема в том, что я создаю новый файл и присоединяю его через свой код, но когда я отсоединяю файл с помощью SSMS и снова запускаю тот же код, он дает ошибку.Присоединение БД после его отсоединения

Ошибка:

Невозможно открыть физический файл "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? Thanks

ответ

0

Постарайтесь убедиться, что ничто иное не обращается к этому файлу mdb после его отсоединения. Я бы, вероятно, выключил этот экземпляр SQLServer и перезапустил. Кроме того, я бы удостоверился, что вы можете отсоединиться и снова подключиться к SSMS.

Для вашей строки подключения попробуйте следующее: «Сервер = YOURSVR; Database = DB; Trusted_Connection = False; ID пользователя = пароль; пароль = abc123;

+0

Спасибо! Я пытался подключить его через SSMS, он работает, но через мой код он говорит, что не может открыть физический файл. У недавно созданного нет проблем. –

+0

Секция паролей работала нормально, БД была заменена мастером –

Смежные вопросы