尝试制作一个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
任何帮助都会得到认可。我已经三天没用了。在