2013-08-09 3 views
0

Я вытягиваю свои волосы поверх этого. У меня есть устаревшее приложение (asp.net 2.0), которое я только что переместил на другую машину, и я пытаюсь подключить его к базе данных SQL Server 2000 на машине SAME, но она не работает каждый раз с общей ошибкой:Приложение .NET не будет подключаться к SQL Server 2000

При установлении соединения с SQL Server возникла связанная с сетью или конкретная ошибка экземпляра. Сервер не найден или не был доступен. Проверьте правильность имени экземпляра и настройте SQL Server для удаленного подключения.

Что странно, это только .net-приложения (окна или веб-приложения). Я могу подключиться просто отлично - с помощью Windows или проверки подлинности SQL-сервера - из Enterprise Manager, Query Analyzer, Server Explorer в visual studio. Это также прекрасно работает на XP машине, эту новую установку в на Win 7

  • Я проверил, что TCPIP включена для SQL Server и прослушивает порт 1433.
  • Сервер настроен для аутентификации в смешанном режиме. Я попытался использовать оба метода подключения. Я даже удалил смешанный режим и просто попробовал проверку подлинности Windows, и он все еще не работал.
  • Я проверил дважды. Я использую правильное имя сервера \ имя экземпляра и верные учетные данные.
  • Порт 1433 открыт на брандмауэре (не так уж важно - такой же машине)
  • Я перезагрузил, проверил сервисы и т. Д. - как я уже сказал, я знаю, что он работает, потому что я могу подключиться другими способами.

Любые идеи? Что было бы по-другому в использовании строки соединения через ADO.NET?

ОБНОВЛЕНИЕ: Это было почти смешно - я узнал, как ответить на него здесь через несколько минут после публикации этого вопроса (хотя я и не подозревал, что это было связано раньше): How to specify a port number in SQL Server connection string?.

У этой новой машины уже был установлен SQL Server 2008 Express до 2000 года, и хотя 2000 «говорит», что он прослушивает 1433, возможно, это не так. Во всяком случае, я изменил порт по умолчанию для установки в 2000 году (до 1633 в случайном порядке), а затем изменил строку подключения с именем сервера \ имя экземпляра на имя сервера, порт. И он загружен.

Надеемся, что это позволит предотвратить кто-то, имеющий последние несколько часов я просто сделал ....

+0

Если он работает на XP, а не на Win7, возможно, разрешает логин NLTMv1: в реестре создайте значение DWORD под названием «LmCompatibilityLevel» ниже HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa и установите его в «1». – FrankPl

+0

Как вы обращаетесь к машине? Попробуйте «localhost», IP-адрес, имя компьютера. Вы указали протокол, например TCP, в строке подключения? Этот протокол включен для экземпляра? – FrankPl

+0

Спасибо за ваши предложения FrankPI - см. Обновление. Если бы я знал, что был установлен другой экземпляр SQL-сервера (неиспользуемый), я бы поставил его на вопрос - проблема решена! – Marco

ответ

0

Ответил это с большим количеством некоторых исследований на этом сайте через несколько минут: смотрите обновление вопрос для деталей!

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