我正试图通过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)')

我看过下面的帖子,并try 将我的驱动程序更改为{sql server},以前在SAS中使用ODBC链接进行连接,这部分是我上述代码的基础,所以我不认为我需要安装任何其他东西.

pyodbc.Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')

Pyodbc - "Data source name not found, and no default driver specified"

谢谢

推荐答案

我就是这样做的...

import pyodbc 
cnxn = pyodbc.connect("Driver={SQL Server Native Client 11.0};"
                      "Server=server_name;"
                      "Database=db_name;"
                      "Trusted_Connection=yes;")


cursor = cnxn.cursor()
cursor.execute('SELECT * FROM Table')

for row in cursor:
    print('row = %r' % (row,))

相关资源:

  • 一百

  • 一百

Sql相关问答推荐

如何将varchar传递给tvf并使用该参数来查询结果SQL服务器

将SEMI JOIN、ANTI JOIN转换为非连接SQL

SQL是否可以计算每年的所有日期变化?

如何在SQL中按每个子组的顺序更新数据?

如何隐藏聚合JSON数组元素的键

对表进行多项 Select 以返回最大值和时间

改进的SQL子字符串提取

当active=1时,是否可以创建id为的唯一索引?

PostgreSQL中递归CTE查询的故障过滤

从重复值中获取最新值

配置单元查询失败:无法识别';附近的输入;LEFT'';(select子句中的';';col'

SQL OR子句如何在JOINON查询中工作?

连续天跟踪购买情况(将标记返回到另一列?)

给定 3 个键列,从一个表中 Select 另一表中不存在的所有数据

根据要过滤的列的值进行联接和分组

正则表达式忽略特定数据部分的分隔符

如何通过子 Select 在一次更新(并行数组)中多次更新相同的行

在给定列中具有特定值的行与 SQL 中的总行数的比率

连续日期的SQL

使用 json_agg 从 SQL 查询获取 [null] 响应