簡體   English   中英

在 python 的 oracle 數據庫中插入數據

[英]Insert data in oracle database in python

我無法使用 python 腳本中的動態查詢將數據插入數據庫

def execute_query(self, qo):
    query_string = "INSERT INTO " +dep_table+ " (client, sis, entity_name_1, entity_name_2, flag_dep,process, flag_dep_det) VALUES (%s, %s, %s, %s, %s, %s, %s)" % ("'CO'","'"+qo.db_src+"'","'"+qo.table_src+"'","'"+qo.table_des+"'","'"+qo.check_func+"'","'"+qo.table_des+"'","'NULL'")+";"
    cursor.execute(query_string)

我收到了這個錯誤:

ERROR: Failed to set dependencies informations : ORA-00933: SQL command not properly ended

與數據庫的連接沒問題,但我無法插入。

在您正在創建/執行的字符串末尾刪除分號。

它不應該是 SQL 語句的一部分,而是在某些客戶端工具中用於指示語句的結束,以便客戶端可以將其發送到數據庫以執行。

我找到了問題connection.commit()的解決方案

您可以在 Python 中使用format方法,如下所示:

def execute_query(self, qo):
    query_string = "INSERT INTO {0} (client, sis, entity_name_1, entity_name_2, flag_dep,process, flag_dep_det) VALUES ('{1}', '{2}', '{3}', '{4}', '{5}', '{6}', {7})".format(dep_table, 'CO', qo.db_src, qo.table_src, qo.table_des, qo.check_func, qo.table_des, 'NULL')
    cursor.execute(query_string)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM