【发布时间】:2012-12-27 08:49:11
【问题描述】:
所以,我正在尝试使用 pymssql 从我的 Linux 机器连接到 SQL Server 数据库。只能从我公司的专用网络内部访问该数据库。它被设置为接受 SQL Server 身份验证,并且在我的 Windows 机器上,当我登录到 VPN 时,我能够连接和查询它(Cisco Anyconnect 是安装在 Windows 机器上的客户端)。
python 脚本在工作时插入互联网的 linux 机器上运行时可以正常工作。我还没有在我的 Windows 机器上尝试过(因为现在,我在那台机器上没有 python)。
在我家的 linux 机器上,我下载了 OpenConnect,它似乎可以很好地建立 VPN 连接。当我在这台机器上运行我的脚本时,在 VPN 上,我成功连接到数据库。如果我在脚本中使用的测试查询是创建表或操作数据库中的数据,那么它可以工作。但是,我无法检索任何数据,即,如果我运行选择查询,我会得到 []。
(另外,也许值得一提的是,在弄清楚如何在我的 linux 机器上安装 VPN 客户端之前,我尝试做的第一件事(起初我在搞砸 Cisco 的东西,这是一场噩梦),是从我的私有网络中的 windows 机器 ssh 到我的家庭 linux 机器,同时将我的家庭 linux 机器上的端口转发到 SQL Server 机器上的 1433。然后而不是使用 pymsswl.connect() 连接到 SQL SERVER 机器,我连接到我的本地端口。实际上,在这种情况下,我观察到与通过 VPN 相同的行为。在这种情况下,我无法取回数据,我并不感到特别惊讶,因为它超负荷了,我可以看到 SQL服务器不知道将数据发送到哪里......虽然我真的只是在那里推测......)
我还应该提到,当我在 Windows 机器上的 Cisco 文件夹中单击时,有一个“安全目录”,其中包含我不太了解的各种古怪之处。也许这些证书/指纹在起作用。
所以,我承认这里完全是菜鸟,并希望得到任何帮助。如果我说了一些毫无意义的话,或者如果有其他可能适用的信息,我会尽力澄清。
【问题讨论】:
标签: sql-server connection vpn pymssql