0

我无法让 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 Driver 17 for SQL Server][SQL Server]无效的对象名称“dbo.Kits_Rec”。

在此处输入图像描述

4

1 回答 1

0

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

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

connection = connect(driver="MSSQL Driver",
                     server="hostname",
                     port="1433",
                     database="myDataBase",
                     uid="myUsername",
                     pwd="myPassword")
于 2019-07-18T12:55:30.923 回答