Получение данных с SQL Server через VPN с помощью PYMSSQL

Итак, я пытаюсь использовать pymssql для подключения к базе данных SQL Server из моего Linux-окна. Доступ к базе данных возможен только из частной сети моей компании. Он настроен на прием аутентификации SQL Server, и с моего компьютера с Windows я могу подключиться и запросить его, когда я вхожу в VPN (Cisco Anyconnect — это клиент, установленный на компьютере с Windows).

Сценарий Python работает правильно при запуске на Linux-машине, подключенной к Интернету на работе. Я не пробовал это на своей машине с Windows (потому что прямо сейчас у меня нет Python на этой машине).

На моем домашнем компьютере с Linux я скачал OpenConnect, который, кажется, отлично работает для установления VPN-соединения. Когда я запускаю свой скрипт с этой машины, находясь в VPN, я успешно подключаюсь к базе данных. Если тестовый запрос, который я использую в сценарии, предназначен для создания таблицы или обработки данных в базе данных, он работает. Однако я не могу ПОЛУЧИТЬ какие-либо данные, т. Е. Если я запускаю запрос на выборку, я получаю [].

(Кроме того, возможно, стоит упомянуть, что первое, что я попытался сделать, прежде чем выяснить, как получить VPN-клиент на моей машине с Linux (сначала я возился с программами Cisco, что было кошмаром), было ssh с моей машины Windows внутри частной сети на мою домашнюю машину с Linux при переадресации порта с моей домашней машины с Linux на 1433 на машине SQL Server. Затем вместо использования pymsswl.connect() для подключения к машине SQL SERVER я подключился к мой локальный порт. Я наблюдал в этом случае то же поведение, собственно, что и через VPN. Меня не особенно удивило, что я не мог получить данные обратно в этом случае, так как он перегружен, и я мог видеть, что SQL Server не знает куда отправить данные....хотя я действительно просто размышляю там в любом случае...)

Я также должен упомянуть, что, когда я щелкаю по папке Cisco на своем компьютере с Windows, я вижу «каталог безопасности» со всеми видами шаткости, о которых я мало что знаю. Возможно, эти сертификаты/отпечатки пальцев играют роль.

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


person user1973518    schedule 13.01.2013    source источник


Ответы (1)


Вы входите в систему с аутентификацией SQL Server? И как вы выполняете свои запросы? Sproc имеет подразумеваемые права, что означает, что если вы используете таблицу, к которой у вас нет доступа, она все равно будет работать, но простой выбор откажет в доступе, длинный выстрел, но кто знает.

Вот ссылка, по которой Pinal Dave рассказывает о похожей ошибке и подробно описывает, как проверить работоспособность экземпляра, а также ряд других шагов по устранению неполадок, которые вы должны попробовать. http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql-server-microsoft-sql-server-error/

person Useless_Wizard    schedule 12.11.2013