powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как вызвать хранимую процедуру Oracle, возвращающую Boolean?
10 сообщений из 10, страница 1 из 1
Как вызвать хранимую процедуру Oracle, возвращающую Boolean?
    #37832265
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка у меня вот такая:
"Invalid column type: 16"
Код вот такой:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
    public void debug_exec(){
        try{
            Connection connection = ds.getConnection();
            CallableStatement callableStatement = connection.prepareCall("begin ? := test.debug_try_boolean(?); end;");
            callableStatement.registerOutParameter(1, OracleTypes.BOOLEAN);
            callableStatement.setString(2, "Hello");

            OracleCallableStatement ocs = callableStatement.unwrap(oracle.jdbc.OracleCallableStatement.class);
            callableStatement.execute();

            Boolean boolout=ocs.getBoolean(1);
            
            ocs.close();
            callableStatement.close();
            connection.close();
        }
        catch(Exception e){
            errors=e.getMessage();
        }
    }


Функция на Oracle вот такая:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
function debug_try_boolean(some_str in varchar2) return boolean AS
begin
if some_str is not null then
  return true;
else
  return false;
end if;
end debug_try_boolean;


Вот пример: http://docs.oracle.com/cd/E18283_01/appdev.112/e13995/oracle/jdbc/OracleCallableStatement.html
Не пойму что не так.
Что не так-то? Почему ошибка возникает?

Вот StackTrace:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
SEVERE: java.sql.SQLException: Invalid column type: 16
	at oracle.jdbc.driver.OracleStatement.getInternalType(OracleStatement.java:3950)
	at oracle.jdbc.driver.OracleCallableStatement.registerOutParameterInternal(OracleCallableStatement.java:135)
	at oracle.jdbc.driver.OracleCallableStatement.registerOutParameter(OracleCallableStatement.java:304)
	at oracle.jdbc.driver.OracleCallableStatement.registerOutParameter(OracleCallableStatement.java:393)
	at oracle.jdbc.driver.OracleCallableStatementWrapper.registerOutParameter(OracleCallableStatementWrapper.java:1569)
	at com.sun.gjc.spi.base.CallableStatementWrapper.registerOutParameter(CallableStatementWrapper.java:96)
	at com.imc.medfin.server.dao.factory.OracleFactory.OracleCoreFactory.debug_exec(OracleCoreFactory.java:386)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052)
	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124)
	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5388)
	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:619)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:571)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:162)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:144)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:861)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800)
	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:370)
	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5360)
	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5348)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:214)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
	at $Proxy240.debug_exec(Unknown Source)
	at com.imc.medfin.server.mediator.servermediator.process.upload.UploadArchivesSessionBean.debugExecSqlProc(UploadArchivesSessionBean.java:141)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052)
	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124)
	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5388)
	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:619)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:571)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:162)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:144)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:861)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800)
	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:370)
	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5360)
	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5348)
	at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:206)
	at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:79)
	at $Proxy228.debugExecSqlProc(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie.dispatchToMethod(ReflectiveTie.java:144)
	at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:174)
	at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:528)
	at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:199)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1624)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1486)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:990)
	at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:214)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:742)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:539)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2324)
	at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)
	at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)

SEVERE: 	at oracle.jdbc.driver.OracleStatement.getInternalType(OracleStatement.java:3950)
SEVERE: 	at oracle.jdbc.driver.OracleCallableStatement.registerOutParameterInternal(OracleCallableStatement.java:135)
SEVERE: 	at oracle.jdbc.driver.OracleCallableStatement.registerOutParameter(OracleCallableStatement.java:304)
SEVERE: 	at oracle.jdbc.driver.OracleCallableStatement.registerOutParameter(OracleCallableStatement.java:393)
SEVERE: 	at oracle.jdbc.driver.OracleCallableStatementWrapper.registerOutParameter(OracleCallableStatementWrapper.java:1569)
SEVERE: 	at com.sun.gjc.spi.base.CallableStatementWrapper.registerOutParameter(CallableStatementWrapper.java:96)
SEVERE: 	at com.imc.medfin.server.dao.factory.OracleFactory.OracleCoreFactory.debug_exec(OracleCoreFactory.java:386)
SEVERE: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
SEVERE: 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
SEVERE: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
SEVERE: 	at java.lang.reflect.Method.invoke(Method.java:601)
SEVERE: 	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052)
SEVERE: 	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124)
SEVERE: 	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5388)
SEVERE: 	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:619)
SEVERE: 	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800)
SEVERE: 	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:571)
SEVERE: 	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:162)
SEVERE: 	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:144)
SEVERE: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
SEVERE: 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
SEVERE: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
SEVERE: 	at java.lang.reflect.Method.invoke(Method.java:601)
SEVERE: 	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:861)
SEVERE: 	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800)
SEVERE: 	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:370)
SEVERE: 	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5360)
SEVERE: 	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5348)
SEVERE: 	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:214)
SEVERE: 	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
SEVERE: 	at $Proxy240.debug_exec(Unknown Source)
SEVERE: 	at com.imc.medfin.server.mediator.servermediator.process.upload.UploadArchivesSessionBean.debugExecSqlProc(UploadArchivesSessionBean.java:141)
SEVERE: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
SEVERE: 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
SEVERE: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
SEVERE: 	at java.lang.reflect.Method.invoke(Method.java:601)
SEVERE: 	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052)
SEVERE: 	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124)
SEVERE: 	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5388)
SEVERE: 	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:619)
SEVERE: 	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800)
SEVERE: 	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:571)
SEVERE: 	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:162)
SEVERE: 	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:144)
SEVERE: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
SEVERE: 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
SEVERE: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
SEVERE: 	at java.lang.reflect.Method.invoke(Method.java:601)
SEVERE: 	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:861)
SEVERE: 	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800)
SEVERE: 	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:370)
SEVERE: 	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5360)
SEVERE: 	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5348)
SEVERE: 	at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:206)
SEVERE: 	at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:79)
SEVERE: 	at $Proxy228.debugExecSqlProc(Unknown Source)
SEVERE: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
SEVERE: 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
SEVERE: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
SEVERE: 	at java.lang.reflect.Method.invoke(Method.java:601)
SEVERE: 	at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie.dispatchToMethod(ReflectiveTie.java:144)
SEVERE: 	at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:174)
SEVERE: 	at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:528)
SEVERE: 	at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:199)
SEVERE: 	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1624)
SEVERE: 	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1486)
SEVERE: 	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:990)
SEVERE: 	at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:214)
SEVERE: 	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:742)
SEVERE: 	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:539)
SEVERE: 	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2324)
SEVERE: 	at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)
SEVERE: 	at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)
...
Рейтинг: 0 / 0
Как вызвать хранимую процедуру Oracle, возвращающую Boolean?
    #37832266
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл сказать, валится на строчке:
callableStatement.registerOutParameter(1, OracleTypes.BOOLEAN);
...
Рейтинг: 0 / 0
Как вызвать хранимую процедуру Oracle, возвращающую Boolean?
    #37832291
ferc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Niky4000,
подозреваю что

Код: java
1.
2.
callableStatement.setString(1, "Hello");
callableStatement.registerOutParameter(2, OracleTypes.BOOLEAN);
...
Рейтинг: 0 / 0
Как вызвать хранимую процедуру Oracle, возвращающую Boolean?
    #37832297
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Niky4000,

См. Oracle JDBC FAQ и здесь
...
Рейтинг: 0 / 0
Как вызвать хранимую процедуру Oracle, возвращающую Boolean?
    #37832351
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А понятно. Это просто Oracle JDBC драйвер не поддерживает Boolean. Oracle рекомендует сделать обёртку вокруг функций, возвращающих boolean, конвертирующий boolean в тип, поддерживаемый JDBC драйвером.
...
Рейтинг: 0 / 0
Как вызвать хранимую процедуру Oracle, возвращающую Boolean?
    #37832389
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В SQL нет типа boolean
...
Рейтинг: 0 / 0
Как вызвать хранимую процедуру Oracle, возвращающую Boolean?
    #37832659
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А в PL/SQL есть. И мне показалось странным, что Oracle JDBC драйвер почему-то не поддерживает его передачу, тем более, что существует константа OracleTypes.BOOLEAN.
...
Рейтинг: 0 / 0
Как вызвать хранимую процедуру Oracle, возвращающую Boolean?
    #37832733
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Niky4000А в PL/SQL есть. И мне показалось странным, что Oracle JDBC драйвер почему-то не поддерживает его передачу, тем более, что существует константа OracleTypes.BOOLEAN.
Более того - и не планируют

Do Oracle's JDBC drivers support PL/SQL tables/result sets/records/booleans?
No. It is not feasible for Oracle JDBC drivers to support calling arguments or return values of the PL/SQL types TABLE (now known as indexed-by tables), RESULT SET, RECORD, or BOOLEAN. There are currently no plans to change this. Instead people are encouraged to use RefCursor, Oracle Collections and Structured Object Types...
...
Рейтинг: 0 / 0
Как вызвать хранимую процедуру Oracle, возвращающую Boolean?
    #37832752
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GarrickБолее того - и не планируют

Do Oracle's JDBC drivers support PL/SQL tables/result sets/records/booleans?
No. It is not feasible for Oracle JDBC drivers to support calling arguments or return values of the PL/SQL types TABLE (now known as indexed-by tables), RESULT SET, RECORD, or BOOLEAN. There are currently no plans to change this. Instead people are encouraged to use RefCursor, Oracle Collections and Structured Object Types...
Ты говорил уже))
...
Рейтинг: 0 / 0
Как вызвать хранимую процедуру Oracle, возвращающую Boolean?
    #37833263
Фотография Virtual Student
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Niky4000,
Я делал так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
            
            conn = ds.getConnection();
            CallableStatement cs = conn.prepareCall("BEGIN SPCALC(?,?,?,?); END;");
            cs.setString(1, a);
            cs.setDate(2, b);
            cs.registerOutParameter(3, OracleTypes.BOOLEAN);
            cs.registerOutParameter(4, OracleTypes.CURSOR);
            cs.execute();
            Boolean isA = (Integer)cs.getObject(3);
            ResultSet rset = (ResultSet)cs.getObject(4);
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как вызвать хранимую процедуру Oracle, возвращающую Boolean?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]