使用Turbodbc连接到SQL Server,只需选择

时间:2019-07-18 12:43:03

标签: python sql-server turbodbc

我无法让Python Turbodbc连接到Sql Server表(看起来很简单)来读取或写入用户表。但是,我已经建立了ODBC连接,并且可以从中打印对象列表。

1列出服务器到测试连接的对象。似乎可以工作:

from turbodbc import connect, make_options
options = make_options(prefer_unicode=True)
connection = connect(dsn='FPA', turbodbc_options=options)
cursor = connection.cursor()
cursor.execute('''SELECT * FROM sys.objects WHERE schema_id = SCHEMA_ID('dbo');''')

2简单选择:不起作用

cursor.execute('''SELECT * from [dbo].[Kits_Rec];''')    

从#1我得到

来自#2消息:[Microsoft] [SQL Server的ODBC驱动程序17] [SQL Server]无效的对象名称'dbo.Kits_Rec'。

enter image description here

1 个答案:

答案 0 :(得分:0)

SQL Server包含多个数据库,您的dsn“ FPA”可能未指定数据库名称,因此您正在连接到主数据库,而不是包含Kits_Rec表的数据库。

修复该dsn条目以指定正确的数据库,或改用以下语法:

connection = connect(driver="MSSQL Driver",
                     server="hostname",
                     port="1433",
                     database="myDataBase",
                     uid="myUsername",
                     pwd="myPassword")