【问题标题】:How to execute the PL/SQL code stored in .sql files using cx_Oracle and Python如何使用 cx_Oracle 和 Python 执行存储在 .sql 文件中的 PL/SQL 代码
【发布时间】:2020-03-16 03:44:32
【问题描述】:

我的要求是使用python执行存储在多个.sql文件中的PL/SQL代码。

我的假设是“curs.execute(sql_command)”可以工作,但问题是我必须将输入参数也传递给过程。

请告诉我如何使用 python 执行存储在 .sql 文件中的存储过程,所有存储过程都存储在单独的文件中,即每个文件只包含一个存储过程。

【问题讨论】:

标签: python database-connection cx-oracle


【解决方案1】:

如果每个存储过程都存储在单独的 .sql 文件中,则相当简单:

sql = open(fileName).read()
connection = cx_Oracle.connect("user/password@dsn")
cursor = connection.cursor()
cursor.execute(sql)

但是请注意,如果存储在文件中的 SQL 包含尾部斜杠 (/),则需要先将其删除。同样,如果存储在文件中的 SQL 不是存储过程而是创建表语句,例如,您将需要去掉结尾的分号 (;)。

如果需要调用存储过程,可以这样做:

cursor.callproc("TheProcedureName", (arg1, arg2, arg3))

【讨论】:

    猜你喜欢
    • 2012-04-25
    • 2019-06-23
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    相关资源
    最近更新 更多