SQLAlchemy不返回SQL Server数据库中的所有表名

2024-05-18 07:55:05 发布

您现在位置:Python中文网/ 问答频道 /正文

当我下载这个example database, AdventureWorksLT2012_Data,并尝试访问sql alchemy中的表名时,通过

from sqlalchemy import create_engine
engine = create_engine("mssql+pyodbc://sa:PASSWORD_HERE@localhost:1433/AdventureWorksLT?driver=FreeTDS")
engine.table_names()

我得到['BuildVersion', 'ErrorLog']。但是,这是数据库中缺少的表。在

例如,执行此查询将给出预期的表名。。。在

^{pr2}$

我明白了

['BuildVersion', 'Address', 'Customer', 'CustomerAddress', 'Product', 'ProductCategory', 'ProductDescription', 'ProductModel', 'ProductModelProductDescription', 'SalesOrderDetail', 'SalesOrderHeader', 'ErrorLog']

这是一个错误,还是我忽略了什么?如果我创建了一个新的数据库,并且表的名称与上面相同,那么engine.table_names()就可以正常工作了。在


Tags: from数据库sqldatanamessqlalchemyexamplecreate
1条回答
网友
1楼 · 发布于 2024-05-18 07:55:05

查看对应的database creation script,从engine.table_names()获得的两个表是在[dbo]模式中创建的。其他的在[SalesLT]模式中创建。在

因此,engine.table_names()似乎只列出了调用时有效的默认模式的表,在本例中正好是[dbo]。在

相关问题 更多 >