LINQ to SQL работает только в режиме отладки? - PullRequest
0 голосов
/ 01 апреля 2012

Это мой код:

DataClassesDataContext data = new DataClassesDataContext();
var hey = from p in data.Provas
          select p;
Response.Write(hey.First().title_it);

если я открою этот старт воспроизведения в Visual Studio, он откроет http://localhost:51180/Website1/ и я получу значение, взятое из БД.

Но, если я открою веб-сайт с http://localhost:8080/ (который я обычно открываю с этим), я получу:

System.Data.SqlClient.SqlException: Cannot open database "Website1" requested by the login. The login failed.

Ошибка входа для пользователя 'IIS APPPOOL \ Website1'.

Как я могу настройки? Проблема с IIS?

Ответы [ 2 ]

3 голосов
/ 01 апреля 2012

Как отметил @usr, перед вами ответ.

Когда вы запускаете приложение в режиме отладки Visual Studio, пользователь, подключающийся к базе данных, - это пользователь, вошедший в ПК и работающий с Visual Studio - странно, что этот пользователь (вы!) Является администратором и имеет права администратора с SQL Server (я предполагаю локальный экземпляр).

Когда вы запускаете приложение через локальную установку IIS (которую разумно считать полной версией, а не экспресс-версией), тогда, если вы не измените пул приложений для приложения, оно будет работать как пользователь локальной системы. (прямо сейчас я забыл, какую из них вы можете посмотреть в пуле приложений, и по умолчанию этот пользователь не будет иметь доступа к базам данных в SQL Server.

Чтобы исправить это, вам нужно сделать одно из двух: a) Измените пользователя в пуле приложений на пользователя, обладающего правами на базу данных в SQL Server (если вы хотите получить хорошую практику, вам следует определить явного пользователя) б) Предоставить соответствующие права соответствующей системной учетной записи для доступа к базе данных

(Обратите внимание, что в обоих случаях вам потребуется добавить пользователя в SQL Server с помощью Management Studio или аналогичного)

1 голос
/ 01 апреля 2012

Проверка логина на http://localhost:8080/. Возможно , эта статья поможет вам.

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