Отражение таблиц от Postgres до Oracle с помощью SQLAlchemy отправляет синтаксис Postgres на Oracle - PullRequest
0 голосов
/ 16 июня 2020

Мне несколько раз удавалось отражать структуры таблиц от одного rdbms к другому. Но не сегодня. Приведенный ниже код заполняет объект метаданных из Postgres, а затем пытается воссоздать его из Oracle. Но sql, отправленное на Oracle, находится на диалекте Postgres, что в этом случае правильно не работает с «ORA-00907: отсутствует правая скобка». Думаю, я делал это много раз раньше, и SQLAlchemy прекрасно переводит синтаксис Oracle. Что я делаю не так, чем еще можно это объяснить? Postgres - 11,2, Oracle - 18,9, Python - 3,7,4, cx_ Oracle - 7.0.0, psycopg2 - 2.7.6.1.

С уважением, Нильс

#create table cookies
#(
#    cookie_id bigserial,
#    cookie_name varchar(50),
#    cookie_recipe_url varchar(255),
#    cookie_sku varchar(55),
#    quantity integer,
#    unit_cost numeric(12,2),
#    constraint cookies_pkey primary key (cookie_id)
#);
from sqlalchemy import MetaData, create_engine
postgrese = create_engine("postgresql+psycopg2://pgd01:5432/db01",echo=True)
oraclee = create_engine("oracle+cx_oracle://@ora01", echo=True, max_identifier_length=128)
metadata = MetaData()
metadata.reflect(postgrese)
metadata.create_all(oraclee)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...