0
我在oracle(lro_dummy)中有一個自定義類型。我也有一個程序。我看起來像這樣:cx_Oracle.OBJECT中的值缺失
procedure dummyLro
(
i_dummy in lro_dummy,
o_dummy out lro_dummy
)is
begin
o_dummy := lro_dummy('asdf');
end dummyLro;
現在我想從python與cx_Oracle調用此過程。這看起來是這樣的:
def test(db_con):
cur = db_con.cursor()
try:
procedure_params = {}
procedure_params["i_dummy"] = cur.var(cx_Oracle.OBJECT, typename="lro_dummy")
procedure_params["o_dummy"] = cur.var(cx_Oracle.OBJECT, typename="lro_dummy")
cur.callproc("test.dummyLro", [], procedure_params)
是o_dummy
後具有價值,因爲
str(procedures_params["o_dummy"])
回報
'<cx_Oracle.OBJECT with value <cx_Oracle.Object ???.LRO_DUMMY at 0x10492c9c0>>'
但我不能訪問我的屬性。屬性在
procedure_params["o_dummy"].type.attributes
列出,但我無法找到
procedure_params["o_dummy"]
我是怎麼錯的價值?
我使用Python 3.6
,cx_Oracle 5.3
,InstantClient 11.2
,Oracle-Server 11
procedure_params [「o_dummy」] .type.attributes?中列出的屬性是什麼? –
它返回包含一個項目的'cx_Oracle.ObjectAttribute DUMMY'數組。 name屬性的值是'DUMMY' – Lee
所以你應該可以通過procedure_params [「o_dummy」]來訪問它。DUMMY? –