gpt4 book ai didi

python - 连接到 Linux 上的 MSSQL Server 2008

转载 作者:IT王子 更新时间:2023-10-29 01:27:03 27 4
gpt4 key购买 nike

我想知道如何从 Linux 机器连接到 MSSQL Server 2008。我目前确实安装了 FreeTDS - 但是,我没有任何运气让 bsqldb 工作。我目前已经能够使用以下 python 代码(在 Windows 中)连接到此数据库:

import pyodbc
cnxn = pyodbc.connect("DRIVER={SQL Server};"
+"SERVER=something.example.com;"
+"DATABASE=exampledatabase;"

我相信我的 Windows 凭据正在此处传递。有人对在 Linux 中使用什么有什么建议吗?

最佳答案

您是否拥有所需的所有软件?这是 Ubuntu 12.04 所需要的:

sudo apt-get install php5-odbc php5-sybase tdsodbc

您是否在 Linux 服务器上配置了这些文件? (这些取自 Ubuntu 12.04 服务器)

/etc/odbc.ini

# Define a connection to the MSSQL server.
# The Description can be whatever we want it to be.
# The Driver value must match what we have defined in /etc/odbcinst.ini
# The Database name must be the name of the database this connection will connect to.
# The ServerName is the name we defined in /etc/freetds/freetds.conf
# The TDS_Version should match what we defined in /etc/freetds/freetds.conf
[mssql]
Description = MSSQL Server
Driver = freetds
Database = MyDatabase
ServerName = mssql
TDS_Version = 8.0

/etc/odbcinst.ini

# Define where to find the driver for the Free TDS connections.
[freetds]
Description = MS SQL database access with Free TDS
Driver = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/i386-linux-gnu/odbc/libtdsS.so
UsageCount = 1

/etc/freetds/freetds.conf

# The basics for defining a DSN (Data Source Name)
# [data_source_name]
# host = <hostname or IP address>
# port = <port number to connect to - probably 1433>
# tds version = <TDS version to use - probably 8.0>

# Define a connection to the MSSQL server.
[mssql]
host = mssql_server_ip_or_domain_name
port = 1433
tds version = 8.0

我读过几个关于导致问题的 tds 版本的帐户。似乎 8.0 字最好,但我也看到有人说他们可以使用 7.5 和 7.0。

然后测试你的连接:

isql mssql username password

根据您的环境,您的用户名可能必须采用以下格式:域\用户名

发出命令后,您应该看到如下内容:

+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>

我认为您的连接命令应该是这样的(注意:我不懂 Python):

cnxn = pyodbc.connect('DRIVER=freetds;SERVER=FOOBAR;PORT=1433;DATABASE=T2;UID=FOO;PWD=bar;TDS_Version=8.0;')

关于python - 连接到 Linux 上的 MSSQL Server 2008,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18474538/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com