我已经创建了一个存储过程usuarios_get,我在甲骨文控制台中测试它,并正常工作。这是存储过程的代码。
create or replace PROCEDURE USUARIOS_GET(
text_search in VARCHAR2,
usuarios_list out sys_refcursor
)
AS
--Variables
BEGIN
open usuarios_list for select * from USUARIO
END USUARIOS_GET;python代码如下:
with connection.cursor() as cursor:
listado = cursor.var(cx_Oracle.CURSOR)
l_query = cursor.callproc('usuarios_get', ('',listado)) #in this sentence produces error
l_results = l_query[1]错误如下:
NotSupportedError: Variable_TypeByValue():未处理数据类型VariableWrapper
我还尝试过使用其他带有out参数号类型的存储过程,并在python代码listado= cursor.var(cx_Oracle.NUMBER)中进行修改,并得到了相同的错误
NotSupportedError: Variable_TypeByValue():未处理数据类型VariableWrapper
我的同事
有谁能帮我吗?
谢谢
发布于 2019-04-23 02:31:31
Anthony的解决方案适用于Django 2.2和Oracle 12c。谢谢!在网上其他地方找不到这个解决方案。
dcursor = connection.cursor()
cursor = dcursor.connection.cursor()
import cx_Oracle
out_arg = cursor.var(cx_Oracle.NUMBER)
ret = cursor.callproc("<procedure_name>", (in_arg, out_arg))https://stackoverflow.com/questions/41526352
复制相似问题