Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana cara memanggil fungsi tersimpan fnd_concurrent.wait_for_request dengan benar melalui API modul cx_Oracle?

Saya tidak melihat kesalahan dengan kasus uji ini:

import cx_Oracle
import os
import sys

"""

create or replace function my_wait_for_request
  (request_id IN number default NULL,
          interval   IN number default 60,
          max_wait   IN number default 0,
          phase      OUT varchar2,
          status     OUT varchar2,
          dev_phase  OUT varchar2,
          dev_status OUT varchar2,
          message    OUT varchar2) return boolean
as
begin
  phase := 'my phase';
  status := 'my status';
  dev_phase := 'my dev_phase';
  dev_status := 'my dev_status';
  message := 'my message';
  return(true);
end;
/

show errors

"""

if sys.platform.startswith("darwin"):
    cx_Oracle.init_oracle_client(lib_dir=os.environ.get("HOME")+"/Downloads/instantclient_19_8")

username = os.environ.get("PYTHON_USERNAME")
password = os.environ.get("PYTHON_PASSWORD")
connect_string = os.environ.get("PYTHON_CONNECTSTRING")

connection = cx_Oracle.connect(username, password, connect_string)

cursor = connection.cursor()

lc_phase = cursor.var(str)
lc_status = cursor.var(str)
lc_dev_phase = cursor.var(str)
lc_dev_status = cursor.var(str)
lc_message = cursor.var(str)

bool_result = cursor.callfunc('my_wait_for_request', bool, [123456789,5,15,lc_phase,lc_status,lc_dev_phase,lc_dev_status,lc_message])

print('my_wait_for_request result: ', bool_result)
print(lc_phase.getvalue(),lc_status.getvalue(),lc_dev_phase.getvalue(),lc_dev_status.getvalue(),lc_message.getvalue())

Outputnya adalah:

my_wait_for_request result:  True
my phase my status my dev_phase my dev_status my message



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tambahkan Indikator Ordinal ke Tanggal di Oracle

  2. Bagaimana cara menambahkan sumber data Oracle di jboss 6.2

  3. Kesalahan:Pengkodean karakter tidak kompatibel:UTF-8 dan ASCII-8BIT

  4. Cara mengurangi jam dari tanggal di Oracle sehingga mempengaruhi hari juga

  5. Jumlah atau jenis argumen yang salah dalam panggilan ke prosedur dengan menggunakan zxJDBC