簡體   English   中英

sqlalchemy 空架構,沒有表

[英]sqlalchemy empty schema and no tables

我正在嘗試通過數據庫優先方法使用 sqlalchemy 並為現有數據庫結構生成模型。 db 是標准的 SQLServer(express)。

我可以連接到我的數據庫並通過以下方式查詢它

from sqlalchemy import create_engine, MetaData, Table
from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy.ext.declarative import declarative_base

__connectionString = "DSN=databaseDSN;Trusted_Connection=yes"

db_engine = create_engine('mssql+pyodbc:///?odbc_connect=%s' % __connectionString, echo=True)
db_session = scoped_session(sessionmaker(bind=db_engine))

result = db_session.execute("SELECT * FROM debug.BasicTable")
for row in result.fetchmany(10):
    print(row)

當我嘗試反映下面的數據庫結構時,我看不到任何實際表,並且以下內容引發了 NoSuchTableError

myTable= Table('debug.BasicTable', meta, autoload=True, autoload_with=db_engine)

來自通用教程http://pythoncentral.io/sqlalchemy-faqs/

我應該能夠反映表格對象

Base = declarative_base()
Base.metadata.reflect(db_engine)

meta = MetaData()
meta.reflect(bind=db_engine)

但是 meta.tables 中根本沒有表對象。

這是因為debug.BasicTable最有可能不是您的表的名稱。 您的表的名稱是BasicTabledebug是它的架構。 所以:

Table('BasicTable', meta, schema="debug", autoload=True, autoload_with=db_engine)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM