|
|
|
Недопустимое значение ключа "attachdbfilename".
|
|||
|---|---|---|---|
|
#18+
Пытаюсь по книжке как слепой котенок ваять проект (учебный) веб-приложения. В букваре написано: Вот пример строки соединения в случае применения такого подхода: myConnection.ConnectionString = @"Data Source=localhost\SQLEXPRESS;" + "Integrated Security=SSPT;" + @"AttachDBFilename=|DataDirectory|\MyDB.mdf;User Instance=True"; Пишу эту строку в код и получаю сообщение Недопустимое значение ключа "attachdbfilename". При выполнении sqlConn.ConnectionString = ПисанинаИзПримера. Однако если в строке соединения указать полный путь к файлу БД (E:\Visual Studio 2010\Projects\WebApplication1\WebApplication1\App_Data\MyDB.mdf) то соединение открывается нормально. Значит проблема именно со строкой подстановки DataDirectory. Мне кажется что это наверняка часто встречающаяся проблема для начинающих пользователей и она имеет простое решение, но вот никак не пойму какое. Подскажите пожалуйста что я делаю не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2012, 16:38 |
|
||
|
Недопустимое значение ключа "attachdbfilename".
|
|||
|---|---|---|---|
|
#18+
Есть догадка, которую нет возможности проверить. В книжке все манипуляции проводятся с SQL Server 2008 Express, а у меня SQL Server 2012 Express. Но существенно ли это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2012, 16:52 |
|
||
|
Недопустимое значение ключа "attachdbfilename".
|
|||
|---|---|---|---|
|
#18+
LexxxxxПытаюсь по книжке как слепой котенок ваять проект (учебный) веб-приложения. В букваре написано: Вот пример строки соединения в случае применения такого подхода: myConnection.ConnectionString = @"Data Source=localhost\SQLEXPRESS;" + "Integrated Security=SSPT;" + @"AttachDBFilename=|DataDirectory|\MyDB.mdf;User Instance=True"; Пишу эту строку в код и получаю сообщение Недопустимое значение ключа "attachdbfilename". При выполнении sqlConn.ConnectionString = ПисанинаИзПримера. Однако если в строке соединения указать полный путь к файлу БД (E:\Visual Studio 2010\Projects\WebApplication1\WebApplication1\App_Data\MyDB.mdf) то соединение открывается нормально. Значит проблема именно со строкой подстановки DataDirectory. Мне кажется что это наверняка часто встречающаяся проблема для начинающих пользователей и она имеет простое решение, но вот никак не пойму какое. Подскажите пожалуйста что я делаю не так? Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2012, 17:35 |
|
||
|
Недопустимое значение ключа "attachdbfilename".
|
|||
|---|---|---|---|
|
#18+
Deza, Как я понял, Вы предлагаете обойтись без |DataDirectory|? Однако мне как раз интересно использовать |DataDirectory|, так как согласно букварю: "Здесь присутствует еще одна хитрость. Имя файла начинается с | DataDirectory |. Это автоматически указывает на папку AppData внутри каталога веб-приложения. В таком случае не нужно задавать полный путь к файлу, который может перестать быть корректным после перемещения веб-приложения на веб-сервер. ADO.NET всегда будет искать файл по имени MyDB. mdf в каталоге AppData." Конечно можно и здесь пойти обходным путем и построить путь к App_Data самостоятельно, но я вот хочу именно так, как в книжке написано! :) Тем более что в майкрософтовских букварях написано: "Путь может быть абсолютным или относительным, заданным с использованием строки подстановки DataDirectory . При использовании строки подстановки DataDirector y файл базы данных должен существовать в каталоге, на который указывает строка подстановки. Примечание Имена путей удаленного сервера, HTTP и UNC не поддерживаются. Имя базы данных должно быть задано с ключевым словом database или одним из его псевдонимов, как в следующем примере: "AttachDbFileName=|DataDirectory|\data\YourDB.mdf;integrated security=true;database=YourDatabase"" Замена сервера на 2008 (не R2) не помогла! :( Куда копать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2012, 17:56 |
|
||
|
Недопустимое значение ключа "attachdbfilename".
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2012, 21:58 |
|
||
|
Недопустимое значение ключа "attachdbfilename".
|
|||
|---|---|---|---|
|
#18+
Кажется причина найдена. Для того чтобы нормально работало AttachDBFilename=|DataDirectory|\MyDB.mdf нужно в Data Source=localhost\SQLEXPRESS; написать вместо localhost точку, т.е. Data Source=.\SQLEXPRESS; . При использовании строки соединения с полным путем к файлу для ключа AttachDBFilename все работает нормально и с точкой, и с localhost. Вот такая вот не совсем очевидная связь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2012, 23:31 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=37855488&tid=1359456]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 277ms |
| total: | 531ms |

| 0 / 0 |
