swe*_*pab 6 python oracle pandas
我正在执行以下代码,执行的目的是在 Oracle 数据库中创建一个查找表以加快我的数据加载速度。我想加载的表只是一个带有 ID 值的向量,所以只加载了一列。
代码如下所示:
lookup = df.id_variable.drop_duplicates()
conn = my_oracle_connection()
obj = lookup.to_sql(name = 'lookup', con = conn, if_exists = 'replace')
Run Code Online (Sandbox Code Playgroud)
执行此操作时出现以下错误:
DatabaseError: sql 'SELECT name FROM sqlite_master WHERE type='table' AND name=?;' 上的执行失败:ORA-01036: 非法变量名/编号
我可以执行 psql.read_sql() 查询,但以上失败。
现在,我不完全知道如何修复它,我对让它工作的技术方面很陌生,所以任何关于采取它的方向的指示都会非常有用。
感谢您的任何时间和输入!
我在使用 cx_Oracle 连接时遇到了同样的问题(我可以使用 .read_sql 函数,但不能使用 .to_sql 函数)
改用 SQLalchemy 连接:
import sqlalchemy as sa
oracle_db = sa.create_engine('oracle://username:password@database')
connection = oracle_db.connect()
dataframe.to_sql('table_name', connection, schema='schema_name', if_exists='append', index=False)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4424 次 |
最近记录: |