【发布时间】:2019-12-18 14:01:56
【问题描述】:
我想我又要在这里发疯了... :)。我正在尝试做这个星球上最简单的事情,但由于某种我不知道的原因它不起作用。我有一个 python 脚本,它使用 pypyodbc 连接到 mssql 数据库并做一些事情。当我将数据插入数据库时,它可以工作。当我尝试提取它时,它失败了。我做错了什么?
import pypyodbc as mssql
msConnErr = None
try:
msconn = mssql.connect('DRIVER={SQL Server};SERVER=server_name;DATABASE=database;TRUSTED_CONNECTION=True')
print('Source server connected')
srcCursor = msconn.cursor()
except:
print('Source server error')
msConnErr = True
srcCursor.execute("SELECT * FROM schema.table")
srcResult = srcCursor.fetchall()
print(srcResult)
连接正常,因为我收到了一条成功的消息。我还可以看到我的脚本使用 sql server management studio 连接到正确的数据库,所以我知道我在正确的环境中工作。我得到的错误是:
UndefinedTable: relation "schema.table" does not exist
LINE 1: SELECT * FROM schema.table
表存在,我必须指定架构,因为我在不同的架构中具有相同的表名(数据生命周期)。我可以使用 sql server management studio 从中提取数据,但 python 失败得很惨。使用相同的驱动程序在其中插入 3500 万行不会失败。没有其他查询有效,即使 SELECT @@VERSION 失败,SELECT TOP (10) * FROM schema.table 失败等等......
有什么想法吗?
【问题讨论】:
标签: python sql-server select odbc