我正试图通过python连接到SQL,以便在Microsoft SQL server上的一些SQL数据库上运行一些查询。从我在网上和这个论坛上的研究来看,最有前途的图书馆似乎是pyodbc。所以我做了以下代码
import pyodbc
conn = pyodbc.connect(init_string="driver={SQLOLEDB}; server=+ServerName+;
database=+MSQLDatabase+; trusted_connection=true")
cursor = conn.cursor()
并得到以下错误
Traceback (most recent call last):
File "C:\Users...\scrap.py", line 3, in <module>
conn = pyodbc.connect(init_string="driver={SQLOLEDB}; server=+ServerName+; database=+MSQLDatabase+; trusted_connection=true")
pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
我看了下面的帖子,并尝试将驱动程序更改为{sql server},并且之前在SAS中使用ODBC链接进行了连接,这部分是我上面的代码所基于的,因此不需要安装其他任何东西。
Pyodbc - "Data source name not found, and no default driver specified"
谢谢
在客户端和服务器之间的数据源连接中,通常有两种类型:使用驱动程序的ODBC和使用提供程序的OLEDB。而在编程世界中,连接到数据源的路径是一个regular debate问题。
您正在使用提供程序
SQLOLEDB
,但将其指定为驱动程序。据我所知,pyodbc和pypyodbc模块都不支持Window OLEDB连接。但是,adodbapi使用Microsoft ADO作为底层组件。下面是连接参数的两种方法。另外,我string format您的变量作为连接没有在字符串中正确打断引号。您会注意到我将大括号加倍,因为它在连接字符串中是必需的,
string.format()
也使用它。对之前所说的话稍加补充。您可能想要返回一个数据帧。这将作为
我就是这样做的。。。
相关资源:
https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-SQL-Server-from-Windows
http://blogs.msdn.com/b/cdndevs/archive/2015/03/11/python-and-data-sql-server-as-a-data-source-for-python-applications.aspx
相关问题 更多 >
编程相关推荐