Python 连接 MS SQL SERVER
2017-12-21 本文已影响133人
ryang420
-
安装jaydebeapi到本地环境
pip install JayDeBeApi
jaydebeapi 的具体使用手册请见:https://pypi.python.org/pypi/JayDeBeApi/ -
下载jtds.jar并放到工程某个目录,我是用的是jtds-1.3.1.jar
-
编写如下代码,轻松访问:
import jaydebeapi
conn = jaydebeapi.connect(
"net.sourceforge.jtds.jdbc.Driver",
"jdbc:jtds:sqlserver://database_host_name:1433",
["username", "password"],
"/Users/.../libs/jtds-1.3.1.jar"
)
curs = conn.cursor()
try:
curs.execute("select top 2 id from dbname.dbo.tablename")
print(curs.fetchall()[0])
finally:
curs.close()
conn.close()
总结:
为什么不适用pymssql和pyodbc来访问?因为如果你的数据是安装在服务器上,并且只能通过域账户登录数据库,你的本机是Mac或者Linux,那么用pymssql和pyodbc就比较麻烦。尤其是在公司的数据库,很多都配置了域账号来登录一系列Apps,包括MSSQL。在jdbc url后面加上domain=yourdomainname就可以了。
jdbc:jtds:sqlserver://database_host_name:1433;domain=your_domain_name