sqlalchemy orm ddl(cx_oracle.databaseerror)ora-00904 ::无效标识符
我已经根据 sqlAlchemy 文档准备了测试用例: https://docs.sqlalchemy.org/en/ 14/orm/tutorial.html#declare-a-mapping
安装版本:
cx-Oracle==8.2.1
psycopg2-binary==2.9.1
SQLAlchemy==1.4.21
数据库版本:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
DDL:
import urllib
from sqlalchemy.orm import declarative_base
from sqlalchemy import Column, Integer, String
from sqlalchemy import create_engine
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(VARCHAR2(10))
fullname = Column(VARCHAR2(10))
nickname = Column(VARCHAR2(10))
def __repr__(self):
return "<User(name='%s', fullname='%s', nickname='%s')>" % (
self.name, self.fullname, self.nickname)
PASSWORD = 'pass'
conn_str = (f"oracle+cx_oracle://AIM:{urllib.parse.quote_plus(PASSWORD)}@host:1521/?service_name=service")
engine = create_engine(conn_str)
Base.metadata.create_all(engine)
我得到了非常奇怪的错误:
sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-00904: : invalid identifier
[SQL:
CREATE TABLE users (
PRIMARY KEY (id)
)
]
(Background on this error at: https://sqlalche.me/e/14/4xp6)
I've prepared test case based on sqlAlchemy documentation:
https://docs.sqlalchemy.org/en/14/orm/tutorial.html#declare-a-mapping
installation versions:
cx-Oracle==8.2.1
psycopg2-binary==2.9.1
SQLAlchemy==1.4.21
DB Version:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
DDL:
import urllib
from sqlalchemy.orm import declarative_base
from sqlalchemy import Column, Integer, String
from sqlalchemy import create_engine
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(VARCHAR2(10))
fullname = Column(VARCHAR2(10))
nickname = Column(VARCHAR2(10))
def __repr__(self):
return "<User(name='%s', fullname='%s', nickname='%s')>" % (
self.name, self.fullname, self.nickname)
PASSWORD = 'pass'
conn_str = (f"oracle+cx_oracle://AIM:{urllib.parse.quote_plus(PASSWORD)}@host:1521/?service_name=service")
engine = create_engine(conn_str)
Base.metadata.create_all(engine)
And I get really weird error:
sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-00904: : invalid identifier
[SQL:
CREATE TABLE users (
PRIMARY KEY (id)
)
]
(Background on this error at: https://sqlalche.me/e/14/4xp6)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论