【问题标题】:Python/PyODBC Connect to SQL Server 2008 DB by IP with Trusted ConnectionPython/PyODBC 通过 IP 和可信连接连接到 SQL Server 2008 DB
【发布时间】:2013-01-10 23:00:55
【问题描述】:

如果有人问过这个问题,我提前道歉,虽然我找到了类似的问题,但我找不到正确的答案。

我正在尝试通过使用可信连接的 IP/端口连接到 SQL Server 2008 数据库。

另一个复杂点是:数据库在美国以外,通常我们通过 Citrix 登录。登录 citrix 后,它使用我们的 Windows 凭据(不确定这是否会影响问题)。

我尝试了几种不同类型的连接字符串

驱动程序=SQL Server
驱动程序=SQL 本机客户端
Driver=SQL Server Native Client 10.0

我也尝试过不同的格式,包括端口,以及在使用 IP 路由时弄乱网络库。

我希望有人可以帮助我理解两件事。

1) (最重要的是)我如何弄清楚如何正确连接而无需简单的反复试验。我尝试检查 connectionstrings.com 但这并没有太大帮助。我一直无法在网上找到任何东西。

2)如果有人可以帮助我解决连接字符串。

这是我正在做的一个例子:

cn = pyodbc.connect(r'DRIVER={SQL Native Client};Server=1.1.3.4,1234;Network    Library=DBMSSOCN;Initial Catalog=Test;UID=DOM\me;Pwd=pass')

非常感谢任何帮助/指导。

【问题讨论】:

    标签: python sql-server-2008 pyodbc


    【解决方案1】:

    如果您想使用受信任的连接,则无需指定用户或密码,而是使用参数Trusted_Connection=yes。有关文档,请参阅 here

    这样的事情过去对我有用:

    cn = pyodbc.connect('DRIVER={SQL Native Client};
                         Server=1.1.3.4; DATABASE=mydb; 
                         Trusted_Connection=yes;')
    

    【讨论】:

    • 嗨,马蒂,很抱歉没有早点回来。我已经被问题淹没了,还没有机会回到代码中。我会尽快发布。感谢您抽出宝贵的时间,甚至调查一下。
    • 它可能不起作用的另一个原因是 IP 地址格式的格式 - 您是否尝试过使用冒号而不是逗号来分隔端口号?
    • 是的,我也试过了,不幸的是,它也没有用。
    【解决方案2】:

    找到here一些解释、相关链接和示例代码。

    【讨论】:

    • 您通常不想提供链接作为 SO 答案,因为大多数情况下该链接将过时并且将来无法正常工作。这实际上发生在您的链接上。它不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    • 2011-01-24
    相关资源
    最近更新 更多