gpt4 book ai didi

python - 如何从cx_Oracle中的callfunc获取自定义对象?

转载 作者:太空宇宙 更新时间:2023-11-03 16:03:16 26 4
gpt4 key购买 nike

我有一个返回自定义对象的 PL/SQL 函数 my_function:

CREATE OR REPLACE TYPE "TP_ACTION" AS OBJECT
(
  stop_time timestamp,
  user_name varchar2(64),
  error_msg tp_message_l,

CONSTRUCTOR FUNCTION TP_ACTION(
   usrnm in varchar2 := null
) RETURN SELF AS RESULT,

  MEMBER PROCEDURE doClose(pi_session_MD5 IN  VARCHAR2),
  member procedure setRunStatus(status in varchar2),
)

因此在 python 中我调用该函数:

var_type = cursor.var(cx_Oracle.OBJECT, typename='TP_ACTION')
cursor.callfunc('my_function', var_type, params)

之后我得到了异常:

 cx_Oracle.NotSupportedError: Variable_TypeByPythonType(): unhandled data type.

是否可以通过调用 PL/SQL 函数来获取自定义对象?或者也许还有其他方法可以得到它?

最佳答案

绑定(bind) Oracle 对象的功能仅在 cx_Oracle 的未发布(开发)版本中可用。这是调用返回对象的函数所必需的。如果您可以使用开发版本,您的代码就可以工作;否则请等待正式发布。

关于python - 如何从cx_Oracle中的callfunc获取自定义对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40105683/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com