Ведение журнала ошибок WCF и ошибка SQL Exception 4060 - PullRequest
0 голосов
/ 16 июня 2010

Я пытался скомпилировать / запустить пример приложения WCF с веб-сайта Ювала Лоуи (автора по программированию служб WCF и основателя IDesign) в течение нескольких дней. Пример приложения использует библиотеку Juval's ServiceModelEx, которая регистрирует ошибки / ошибки в базе данных SQL "WCFLogbook". К сожалению, когда пример приложения выходит из строя, я получаю следующую ошибку:

Исключение SQL 4060: «Не удается открыть базу данных \ "WCFLogbook \" запрашивается при входе в систему. Не удалось войти в систему. \ R \ nЛогин не удалось пользователь 'Bill-PC \ Bill'. "

Я подтвердил, что база данных SQL WCFLogbook была создана и предоставил все необходимые разрешения для моего (Bill-PC \ Bill) доступа к базе данных. Кроме того, порт 8006 и порт 1433 были открыты в брандмауэре. TCP / IP был включен, и «Разрешить удаленные подключения к этому серверу» был проверен Я использую следующую конечную точку в файле App.Config:

<client>
     <endpoint name="LogbookTCP"
        address="net.tcp://Bill-PC:8006/LogbookManager"
        binding="netTcpBinding"
        contract="ILogbookManager"
     />
</client>

К сожалению, SQL - это «мир», в который мне раньше не приходилось рисковать, и я ужасно расстроен отсутствием успеха. Есть ли у кого-нибудь еще предложения о том, как заставить это работать? Я что-то пропустил?

Ответы [ 2 ]

1 голос
/ 16 июня 2010

Не удается открыть базу данных "WCFLogbook", запрошенную при входе в систему

Сообщение об ошибке довольно ясно.Я понимаю ваше разочарование, но сначала я доверяю сообщению об ошибке, а потом - вашему расследованию.Сообщение об ошибке говорит, что база данных не существует, или ее нельзя открыть, или пользователь не имеет к ней доступа.Вы должны шаг за шагом проверить, что:

  • ваша служба WCF подключается к ожидаемому вами экземпляру SQL Server
  • эта база данных WCFLogbook существует в экземпляре SQL Server, к которому вы подключаетесь.Обратите внимание, что если вы установили экземпляр параметров сортировки с учетом регистра, то имя учитывает регистр
  • база данных WCFLogbook находится в режиме онлайн
  • при входе в систему Bill-PC \ Bill разрешено подключение к базе данных.
0 голосов
/ 16 июня 2010

SQL Exception 4060: "Cannot open database \"WCFLogbook\" requested by the login. The login failed.\r\nLogin failed for user 'Bill-PC\Bill'."

Совершенно очевидно, что у вас есть ошибка входа в вашу базу данных.Где выкидывает исключение?В вашем клиентском приложении или в вызове службы WCF?

Причина, по которой я спрашиваю, - указать вам, где отлаживать;если исключение исходит из договора о сбое при вызове WCF, оно, скорее всего, происходит в самой службе.Если это в клиентском приложении, то, очевидно, именно в этом проблема.

Какую версию SQL вы используете?Если у вас есть SQL Express, то по умолчанию у вас должно быть достаточно прав для запуска приложения.Ваш пользователь администратор?Вам может потребоваться открыть базу данных как администратор, а затем убедиться, что Bill-PC \ Bill имеет логин и сопоставлен со схемой dbo в базе данных WCFLogbook.

...