Итак, я пытаюсь использовать 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, я вижу «каталог безопасности» со всеми видами шаткости, о которых я мало что знаю. Возможно, эти сертификаты/отпечатки пальцев играют роль.
Итак, я признаю, что здесь полный нуб, и буду признателен за любую помощь. Если я сказал что-то бессмысленное, или если есть другая информация, которая может быть применима, я сделаю все возможное, чтобы уточнить.