Не удается получить доступ к файлу SQL Server на сервере - PullRequest
1 голос
/ 20 марта 2011

Я настраиваю свою службу WCF на сервере.

Серверная ОС - Windows 2008 с SQL Server 2008 Express.

Я пытаюсь получить доступ к моему файлу SQL Server (mdf) для чтения данных с использованием LINQ to SQL.

Я вижу, что DataContext в порядке - но когда я пытаюсь получить информацию о том, что в одной из таблиц я получаю исключение

Не удалось создать пользовательский экземпляр SQL Server из-зане удалось получить путь к данным локального приложения пользователя.Убедитесь, что у пользователя есть локальный профиль пользователя на компьютере.Соединение будет закрыто.

Я не знаю, что мне нужно определить или изменить в IIS 7.5, который я использую на стороне сервера.

Спасибо за любую помощь.

Обновление: Соединение с файлом базы данных в порядке, но получение информации из таблицы является исключением.Строка подключения:

Data Source=.;AttachDbFilename=|DataDirectory|\ServiceData.mdf;
  Integrated Security=SSPI;User Instance=True

Ответы [ 2 ]

2 голосов
/ 20 марта 2011

Если у вас уже есть сервер, почему бы вам просто не присоединить MDF к работающему SQL Server (Express), а затем использовать его как обычную базу данных на вашем сервере?

После того, как вы это сделаетеиспользуйте строку подключения, например:

server=Server\SQLExpress;Database=YourDatabaseName;Integrated Security=SSPI

Мне никогда не нравились подходы AttachDbFileName= и User Instance - мне кажется (ненадежным) взломом, который действительно не имеет смысла, если вы 'работает на сервере.

1 голос
/ 20 марта 2011

Причина, по которой вы получаете это сообщение об ошибке, заключается в том, что ваш код находится в контексте безопасности пользователя, который никогда не входил на сервер. Таким образом, у пользователя нет профиля, и поэтому вы получаете сообщение об ошибке, когда код пытается выполнить запись в несуществующий профиль.

Вы можете использовать подход marc_s или работать как пользователь с профилем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...