通过pandas io SQL将表加载到Oracle

2024-03-29 06:38:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我执行下面的代码,执行的目的是在Oracle数据库中创建一个查找表,以加速我的数据加载。我要加载的表只是一个带有ID值的向量,因此只加载了一列。在

代码如下:

lookup = df.id_variable.drop_duplicates()

conn = my_oracle_connection()
obj = lookup.to_sql(name = 'lookup', con = conn, if_exists = 'replace')

执行此操作时出现以下错误:

DatabaseError: Execution failed on sql 'SELECT name FROM sqlite_master WHERE type='table' AND name=?;': ORA-01036: illegal variable name/number

我可以执行一个psql.read_sql()以上查询失败。在

现在,我不知道如何去修复它,我对技术方面的工作是相当陌生的,所以任何指向哪个方向的指示都会得到极大的赞赏。在

感谢您的任何时间和意见!在


Tags: 数据代码name目的id数据库dfsql
1条回答
网友
1楼 · 发布于 2024-03-29 06:38:27

我在使用cx_-Oracle连接时也遇到了同样的问题(我能够使用.read_sql函数,但不能使用.to\u 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)

相关问题 更多 >