首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用带有'Windows凭据'的Linux上的python连接到MS SQL Server

作为一个云计算领域的专家,我可以帮助您解决这个问题。

首先,要在Linux上使用Python连接到MS SQL Server,需要使用一个库来实现。一个常用的库是pyodbc。您可以使用以下命令安装它:

代码语言:txt
复制
pip install pyodbc

接下来,您需要安装一个ODBC驱动程序来连接到MS SQL Server。您可以使用FreeTDS驱动程序,它是一个开源的驱动程序,可以在Linux上使用。您可以使用以下命令安装它:

代码语言:txt
复制
sudo apt-get install freetds-dev freetds-bin

然后,您需要配置/etc/freetds/freetds.conf文件,以便它指向您的MS SQL Server。以下是一个示例配置:

代码语言:txt
复制
[global]
    tds version = 7.0

[myserver]
    host = myserver.example.com
    port = 1433
    tds version = 7.0

接下来,您可以使用以下代码来连接到MS SQL Server:

代码语言:python
代码运行次数:0
复制
import pyodbc

server = 'myserver.example.com'
database = 'mydatabase'
username = 'myusername'
password = 'mypassword'

cnxn_string = f"DRIVER={{FreeTDS}};SERVER={server};DATABASE={database};UID={username};PWD={password}"

cnxn = pyodbc.connect(cnxn_string)

cursor = cnxn.cursor()

cursor.execute("SELECT * FROM mytable")

row = cursor.fetchone()
while row:
    print(row)
    row = cursor.fetchone()

请注意,您需要将myserver.example.commydatabasemyusernamemypassword替换为您自己的MS SQL Server的详细信息。

最后,如果您想要在Linux上使用Windows凭据,您可以使用winewinbindwine是一个兼容层,可以让您在Linux上运行Windows应用程序。winbind是一个身份验证和授权服务,可以让您在Linux上使用Windows凭据。您可以使用以下命令安装它们:

代码语言:txt
复制
sudo apt-get install wine winbind

然后,您可以使用以下命令来配置winbind

代码语言:txt
复制
sudo nano /etc/samba/smb.conf

[global]部分中,您需要添加以下行:

代码语言:txt
复制
netbios name = MYDOMAIN
workgroup = MYWORKGROUP
security = domain

然后,您需要重启winbind服务:

代码语言:txt
复制
sudo service winbind restart

现在,您可以使用以下代码来连接到MS SQL Server,并使用Windows凭据进行身份验证:

代码语言:python
代码运行次数:0
复制
import pyodbc

server = 'myserver.example.com'
database = 'mydatabase'
trusted_connection = 'yes'

cnxn_string = f"DRIVER={{FreeTDS}};SERVER={server};DATABASE={database};Trusted_Connection={trusted_connection}"

cnxn = pyodbc.connect(cnxn_string)

cursor = cnxn.cursor()

cursor.execute("SELECT * FROM mytable")

row = cursor.fetchone()
while row:
    print(row)
    row = cursor.fetchone()

请注意,您需要将myserver.example.commydatabaseMYDOMAINMYWORKGROUP替换为您自己的MS SQL Server的详细信息和域名。

希望这个答案能够帮助您解决问题。如果您有任何其他问题,请随时告诉我。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券