mac*_*how 4 python t-sql sql-server sqlalchemy pyodbc
当我下载这个示例数据库,AdventureWorksLT2012_Data,并尝试访问sql炼金术中的table_names时,通过
from sqlalchemy import create_engine
engine = create_engine("mssql+pyodbc://sa:PASSWORD_HERE@localhost:1433/AdventureWorksLT?driver=FreeTDS")
engine.table_names()
Run Code Online (Sandbox Code Playgroud)
我得到['BuildVersion', 'ErrorLog'].但是,这是数据库中缺少的表.
例如,执行此查询会给出预期的表名...
rs = engine.execute("SELECT name FROM sys.Tables")
[row['name'] for row in rs]
Run Code Online (Sandbox Code Playgroud)
我明白了
['BuildVersion', 'Address', 'Customer', 'CustomerAddress', 'Product', 'ProductCategory', 'ProductDescription', 'ProductModel', 'ProductModelProductDescription', 'SalesOrderDetail', 'SalesOrderHeader', 'ErrorLog']
Run Code Online (Sandbox Code Playgroud)
这是一个错误,还是我忽略了什么?如果我创建一个新数据库,以及具有相同名称的表,则按engine.table_names()预期工作.