![]() |
1
10
您必须获得Kerberos票证才能使其工作。您的示例没有指定是将Linux系统设置为通过Kerberos进行身份验证,还是在代码命中连接字符串之前已获得Kerberos票证。 如果您的Linux系统设置为通过Kerberos进行身份验证,那么作为概念证明,您可以从命令行使用kinit获取Kerberos票证。以下是通过WSL在Windows上运行Ubuntu的python3中对我有用的内容。python代码:
这告诉你如果你没有票。由于它使用票证,因此不必在脚本中指定用户或密码。它将忽略两者。 现在我们运行它:
您还可能成功地从python代码中获取Kerberos票证,该代码在您建立此连接之前运行,但这超出了此答案的范围。搜索python Kerberos模块可能会为您找到一个解决方案。 似乎还可以设置Linux系统,以便在用户登录时自动获得可以传递给其他进程的Kerberos票证。这也超出了这个答案的范围,但在Linux登录时搜索自动Kerberos票证可能会产生一些线索。 |
![]() |
2
8
我最终使用了pymssql库,它基本上是FreeTDS驱动程序之上的pyodbc。它是现成的。 奇怪的是,我怎么这么难找到这个图书馆。。 |
![]() |
3
7
我为同一项任务找到了两种方法。我有一个带有AD auth的MSSQL服务器。
您可以使用JVM。
加载并安装JAVA
https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
。同时安装JPype1版本0.6.3
这个版本对我来说太慢了。
您还可以使用
通过FreeTDS的pyodbc
。要创建FreeTDS连接,请在Linux上安装FreeTDS
然后打开它
之后,可以使用pyodbc
它的工作速度快得多 |
![]() |
4
3
我试图做同样的事情,在阅读了OPs的答案后,我测试了pymssql,并注意到它只适用于以下内容:
意识到这就是pymssql所需的全部内容后,我回到pyodbc,并能够使用它:
我只是想感谢你发布这篇文章,因为它对我帮助很大!!!!:) |
![]() |
5
0
通过Linux生成windows身份验证非常复杂。EasySoftDB(商业版)曾经能够处理这个问题,FreeTDS有一些复杂的支持。 https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/using-integrated-authentication 我的建议是不要使用Windows身份验证,而是使用SQL身份验证。实际上,除了在连接字符串中提供用户名和密码之外,没有任何安全性差异。但这会让你的生活轻松很多。 |
![]() |
PHPLover · “支持PHP扩展或功能的端口”实际上是什么意思? 10 月前 |