2015-05-15 2 views
2

Я использую sqlalchemy и хочу отразить структуру таблицы некоторых глобальных временных таблиц.Отражение глобальных таблиц глобальных таблиц с использованием Pythons SQLAlchemy

from sqlalchemy import MetaData 
... 
meta = MetaData() 
meta.reflect(bind = engine, only = ['tt_employees'], schema = schema) 

включить 'эхо = True' при установлении соединения:

db_engine = create_engine(engine.url.URL(**params), echo=self._echo) 

я могу отразить все таблицы для глобальных временных таблиц, за исключением. Это из-за способа SQLAlchemy выглядит для таблиц в размышляют():

INFO sqlalchemy.engine.base.Engine 
SELECT table_name 
FROM all_tables 
WHERE nvl(tablespace_name, 'no tablespace') NOT IN ('SYSTEM', 'SYSAUX') 
AND OWNER = :owner 
AND IOT_NAME IS NULL 
AND DURATION IS NULL 

Продолжительность временных таблиц Oracle Global является «SYS $ SESSION» поэтому никаких глобальных временных таблиц не отражают.

Version Info

  • SQLAlchemy 1.0.4 py27_0
  • Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit

Что я могу сделать по этому поводу?

+0

Какая версия SQLAlchemy и Oracle вы используете? – ninesided

+0

Добавлен вопрос. – user2579685

ответ

0

прилагая к метаданным через MetaData.Tables(), кажется, работает, но предполагаю, есть лучшее решение:

Test = [sqlalchemy.Table(t, meta, autoload=True, autoload_with=_engine, schema=_schema) 
     for t in schedule.tables.values] 
Смежные вопросы