使用Turbodbc连接到SQL Server,简单选择



我无法让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][ODBC 驱动程序 17 for SQL Server][SQL Server]无效的对象名称'dbo。Kits_Rec'。

在此处输入图像描述

SQL Server 包含多个数据库,您的 dsn "FPA" 可能没有指定数据库名称,因此您连接到 master 数据库而不是包含 Kits_Rec 表的数据库。

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

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

最新更新