python调用oracle存储过程传入多参数_Jython zxJDBC/Python cx\u oracle调用oracle的存储过程时参数的数目或类型错误...

在尝试使用Django构建一个应用,该应用通过ZXJDBC和Jython调用Oracle存储过程来插入/获取数据时遇到问题。错误发生在`ALEX_TEST_PKG`包的`test0`过程中,提示输入参数类型错误。尝试了Python和cx_Oracle库,问题依然存在。Django错误日志显示PL/SQL错误:错误地调用了'TEST0'过程。寻求解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

尝试制作一个django测试应用程序,它将使用存储的oracle过程来插入/获取数据。在

在zxJDBC中使用jython,但同样的错误也适用于python和cx_oracle。在

以下是一些暗号:

在模型.py在from django.db import models

from django.db import connection

class ALEX_TEST_PKG():

def get_data(self, inparam1):

cursor = connection.cursor()

ret = cursor.callproc("ALEX_TEST_PKG.test0", inparam1)

cursor.close

return ret

在视图.py在

^{pr2}$

oracle的程序:CREATE OR REPLACE PACKAGE BODY ALEX.alex_test_pkg

IS

PROCEDURE test0 (inparam1 IN integer)

IS

BEGIN

insert into alex_debug(col1) values(inparam1);

END test0;

END alex_test_pkg;

/

Django错误日志:Environment:

Request Method: POST

Request URL: http://localhost:8000/form/

Django Version: 1.3.1

Python Version: 2.7.0

Installed Applications:

['django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.sites',

'django.contrib.messages',

'django.contrib.staticfiles',

'django.contrib.admin',

'dbtest']

Installed Middleware:

('django.middleware.common.CommonMiddleware',

'django.contrib.sessions.middleware.SessionMiddleware',

'django.middleware.csrf.CsrfViewMiddleware',

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware')

Traceback:

File "C:\Python27\lib\site-packages\django-1.3.1-py2.7.egg\django\core\handlers\base.py" in get_response

111. response = callback(request, *callback_args, **callback_kwargs)

File "E:\WatchTower\workspace3\erwtwe\erwtwe\dbtest\views.py" in message

19. ret = my_util.get_data(request.POST['inparam1'])

File "E:\WatchTower\workspace3\erwtwe\erwtwe\dbtest\models.py" in get_data

7. ret = cursor.callproc("ALEX_TEST_PKG.test0", inparam1)

Exception Type: DatabaseError at /form/

Exception Value: ORA-06550: line 1, column 7:

PLS-00306: wrong number or types of arguments in call to 'TEST0'

ORA-06550: line 1, column 7:

PL/SQL: Statement ignored

任何帮助都会得到认可。我已经三天没用了。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值