Получение ошибки разрешения при попытке подключения к базе данных sql

У меня есть сервер sql на выделенной машине, на котором работает SQL 2008. У меня есть IP-адрес коробки, настройка базы данных на нем.

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

Запрос разрешения типа «System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089» завершился неудачно.

Администратор сообщил мне, что для моего IP-адреса был предоставлен удаленный доступ SQL.

Кто-нибудь знает, что случилось?


person Matt    schedule 31.03.2010    source источник


Ответы (6)


  • Ваша строка подключения верна?

Используете ли вы строку подключения, подобную показанной здесь connectionstrings.com

  • Ваше имя пользователя и пароль верны?

имя пользователя=xxx;pwd=xxx;

  • Вы используете доверенное или недоверенное соединение?

Trusted_Connection=True;

  • Можете ли вы пропинговать сервер, о котором идет речь?
person CResults    schedule 31.03.2010
comment
Моя строка подключения имеет вид connString = Data Source=ipAddressHere; Исходный каталог=dbName;Идентификатор пользователя=пользователь;Пароль=пароль; SqlConnection conn = новое SqlConnection(); conn.ConnectionString = connString; соединение.Открыть(); База доступна, логин и пароль верные. Что вы подразумеваете под «определенным подключением по IP»? Как узнать, доверенное соединение или нет? - person Matt; 31.03.2010
comment
Можете ли вы объяснить Tusted_Connection=Truel; немного... Куда это делось? - person Matt; 31.03.2010
comment
Доверенное соединение — это когда сервер базы данных знает, кто вы, по вашему логину или группе Windows (а не по имени пользователя/паролю). Определенно подключение по IP - сервер настроен на прием подключений по IP, а не только по именованным каналам. - person CResults; 31.03.2010

Возможно, потребуется немного больше информации о вашей среде.

Активный каталог? Убедитесь, что клиент SQL запущен под учетной записью домена и находится в том же домене, что и пользователи, пытающиеся получить к нему доступ.

Дайте нам знать, если это не AD или если это не сработает, и мы продолжим попытки оттуда.

(Кроме того, я не уверен в том, что «для моего IP-адреса был предоставлен удаленный доступ». Вам нужны фактические учетные данные для входа.)

person Jay    schedule 31.03.2010

Настроен ли SQL Server для разрешения удаленных подключений, но с использованием соответствующего протокола - я бы предположил TCP/IP. Если это новая установка, возможно, этот шаг был пропущен.

После подтверждения базовой конфигурации шаги, перечисленные CResults, должны привести вас к этому.

person Chris W    schedule 31.03.2010

Чтобы принудительно использовать TCP/IP (если ваш клиент по умолчанию использует что-то другое), попробуйте добавить это в строку подключения «;Network Library=dbmssocn», чтобы она выглядела примерно так:

Data Source=ipAddressHere;Initial Catalog=dbName;User Id=user;Password=pass;Network Library=dbmssocn

or

Data Source=tcp:ipAddressHere,1433;Initial Catalog=dbName;User Id=user;Password=pass
person Fredrik Johansson    schedule 24.05.2010

Чтобы исключить любые проблемы типа системного администратора, я бы рекомендовал подключиться с помощью SQL Management Studio на вашем клиентском компьютере. Если это недоступно, используйте Visual Studio Server Explorer, чтобы инициировать подключение.

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

person Joel Mansford    schedule 27.05.2010

Это оказалось проблемой безопасности .NET. Сейчас решено..

person Matt    schedule 28.05.2010