ORA-01804 when calling function from java client
Hi All,
we changed a PL/SQL-function that is called from a java client from using sysdate to localtimestamp. The function works fine in TOAD, but when called from the java client ist throws an ora-01804: failure to initialize timezone information.
Any suggestions?
Alexander
The change was only made to a local variable in a function that was called from the original function that got the parameters from the java client.
I changed it from localtimestamp to systimestamp and it works fine.
Do i have to make any settings about the time zone in the jdbc thin client ?
Similar Messages
-
Hi',
I am trying to call OSB from java client,
The OSB proxy Service type is "WSDL Web Service", I am able to get response from SOAP UI with below request, Please help me with Java code,
I have been Googling a lot for this however didnt got enough.
Thanks
Yatan
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://core.xxx.com/schema/ServiceHeader/V1.0" xmlns:v11="http://core.xxx.com/schema/Customer/V1.0" xmlns:v12="http://core.xxx.com/schema/Customer/V1.0">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-2" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>weblogic</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">welcome1</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
<v1:GMWSHeader>
<v1:SourceId>String</v1:SourceId>
<v1:TransactionId>String</v1:TransactionId>
<v1:TransactionTimeStamp>1967-08-13</v1:TransactionTimeStamp>
<v1:ServiceVersion>LATEST</v1:ServiceVersion>
</v1:GMWSHeader>
</soapenv:Header>
<soapenv:Body>
<v11:GetDetailsRequest>
<v11:Condition>
<v12:SellingSource>?</v12:SellingSource>
<v12:FulfillingFCNNbr>?</v12:FulfillingFCNNbr>
</v11:Condition>
</v11:GetDetailsRequest>
</soapenv:Body>
</soapenv:Envelope>Thanks Guys, I tried the ways you mentioned I am getting below error, this error is coming in both weblogic clientgen and webservice proxy from jdeveloper,
I understand that this error has something to do with my process however not sure why is it coming, I will really appreciate if you can provide me some pointers.
error:
Buildfile: C:\JDeveloper\OSBClient\TestOSBClient\build.xml
javaFromWSDL:
[clientgen]
*********** jax-ws clientgen attribute settings ***************
wsdlURI: http://localhost:8001/xx/som/contracts/CustomerContract?wsdl
packageName : com.osb.client
destDir : C:\OSB
*********** jax-ws clientgen attribute settings end ***************
[clientgen] Consider using <depends>/<produces> so that wsimport won't do unnecessary compilation
[clientgen] parsing WSDL...
[clientgen]
[clientgen]
[clientgen] [ERROR] A class/interface with the same name "com.osb.client.SOMMessage" is already in use. Use a class customization to resolve this conflict.
[clientgen] line 89 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
[clientgen]
[clientgen] [ERROR] (Relevant to above error) another "SOMMessage" is generated from here.
[clientgen] line 51 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
[clientgen]
[clientgen] [ERROR] A class/interface with the same name "com.osb.client.TaskCompletionMessage" is already in use. Use a class customization to resolve this conflict.
[clientgen] line 82 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
[clientgen]
[clientgen] [ERROR] (Relevant to above error) another "TaskCompletionMessage" is generated from here.
[clientgen] line 76 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
[clientgen]
[clientgen] [ERROR] Two declarations cause a collision in the ObjectFactory class.
[clientgen] line 89 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
[clientgen]
[clientgen] [ERROR] (Related to above error) This is the other declaration.
[clientgen] line 51 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
[clientgen]
[clientgen] [ERROR] Two declarations cause a collision in the ObjectFactory class.
[clientgen] line 82 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
[clientgen]
[clientgen] [ERROR] (Related to above error) This is the other declaration.
[clientgen] line 76 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
[clientgen]
BUILD FAILED
weblogic.wsee.tools.WsBuildException: Error running JAX-WS clientgen: null
at weblogic.wsee.tools.clientgen.jaxws.ClientGenImpl.execute(ClientGenImpl.java:175)
at weblogic.wsee.tools.anttasks.ClientGenFacadeTask.execute(ClientGenFacadeTask.java:244)
at weblogic.wsee.tools.anttasks.ClientGenTask.execute(ClientGenTask.java:365)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatinxxethodAccessorImpl.invoke(DelegatinxxethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
at org.apache.tools.ant.Main.runBuild(Main.java:758)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.Main.start(Main.java:179)
at org.apache.tools.ant.Main.main(Main.java:268)
Caused by: Error starting wsimport:
at com.sun.tools.ws.ant.WsImport2.execute(WsImport2.java:757)
at weblogic.wsee.tools.clientgen.jaxws.ClientGenImpl.execute(ClientGenImpl.java:169)
... 19 more
Caused by: com.sun.tools.ws.wscompile.AbortException
at com.sun.tools.ws.processor.modeler.wsdl.JAXBModelBuilder.bind(JAXBModelBuilder.java:136)
at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildJAXBModel(WSDLModeler.java:2255)
at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.internalBuildModel(WSDLModeler.java:194)
at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:140)
at com.sun.tools.ws.wscompile.WsimportTool.buildWsdlModel(WsimportTool.java:261)
at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:203)
at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:188)
at com.sun.tools.ws.ant.WsImport2.execute(WsImport2.java:738)
... 20 more
Total time: 3 seconds -
"ReferenceError: "myIpAddr" is not defined, when call JavaScript from java
Hi developers,
My java application was trying to issue a http request via proxy auto-config. So, I did below jobs
1. Read URL of *.pac from registry
2. Call FindProxyForURL from java, the code is like below
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
engine.eval(autoProxyScript);
Invocable inv = (Invocable) engine;
Object obj = inv.invokeFunction("FindProxyForURL",
"http://java.sun.com/",
"java.sun.com");
However, I got "ReferenceError: "myIpAddress" is not defined
I can not change the script on server to add a function like "myIpAddress", I am wordering why IE or mozilla can call it successfully and get proxy server, while Java failed to do that.
I got a ugly solution by calling "pacparser" by jni. But I really hope I can get a better solution.A .pac file is a JavaScript, but it requires some functions to be defined in the executing context to work (i.e. you must define those).
From the example on the Wikipedia page there's at least "shExpMatch" and "isInNet". "myIpAddress" seems to be another such candidate. -
ORA-02074 when calling proc from VB
Anyone have any idea why a stored procedure that sets a savepoint will fail with
[Oracle][ODBC][Ora]ORA-02074: cannot ROLLBACK in a distributed transaction
ORA-02074: cannot SET SAVEPOINT in a distributed transaction
ORA-06512: at "PIPS_ADMIN.PKG_ACAS_COMMON", line 1098
ORA-06512: at line 1
when called from Visual Basic via an ADO connection through ODBC BUT
will succeed when called from SQL*Plus or TOAD or other tool.
Any ideas appreciated.
MikeThe change was only made to a local variable in a function that was called from the original function that got the parameters from the java client.
I changed it from localtimestamp to systimestamp and it works fine.
Do i have to make any settings about the time zone in the jdbc thin client ? -
Getting session hang When calling Function from SQL query
Hi All,
I am using Oracle 8.1.7.4.0. I have a fucntion in a Package and I am calling it from the SQL query. When I am firing the query my oracle session is going to hang position and I am not able to any thing. I have to kill the session.
But this same thing is working fine in Oracle 9.i.
There are no out parameter and no DML, DDL and DCL statement in this fucntion.
Could you please get back me what is the problem on it.
Regards
SUNCheck why your session hangs.
Just a few ideas:
* Blocking locks?
* Endless loop?
* Performance (maybe it is just slow in orac8i and you have to wait a bit longer). Check the execution plans of the SQL statements in your function.
* Don't use a function, but direct SQL, it is faster in both versions. -
CVI crashes when calling function from external DLL
I'm calling a CVI library from Test Stand 4.1. In that CVI library I load an external DLL (using LoadLibrary) and create a few function pointers (using GetProcAddress). The DLL loads successfully, and I get addresses for all of the imported functions.
However, when I one of the functions is called CVI crashes (Test Stand says it lost the ActiveX connection to CVI) when executing in an external CVI instance. If executed in the Test Stand process I get a system level exception.
If I step through the code in CVI, it hangs after trying to step into or over the call to the function pointer from the external DLL.
I am able to call the functions in a small test project I created in CVI, however when integrating it into an existing test library and calling it through Test Stand it fails.
Any ideas on how to go about debugging this issue?Have you tried calling into the dll that CVI calls directly from TestStand? I am curious to know if this also crashes.
I am also curious to know if there are any path references in the dll that is called by the CVI program. If so are they relative, or absolute paths?
I ask because one of the possibilities is that relative paths are being used to specify a path from the location of the code that is called, and they are not working because the current working directory is being specified by TestStand, and the paths are not relative to the working directory given by TestStand.
Jensen
National Instruments
Applications Engineer -
ESB Webservice call from Java client
Hi,
i need to call webservice from Java client which inturn will call ESB
I tried creating proxy from the WSDL in jDeveloper and tried setting the following end points
My concrete WSDL path :http://10.237.25.63:8889/esb/wsil/SubroCaseESBSystem/InputRouter?wsdl
My EM -path:"http://10.237.25.63:8889/event/subrotest/SubroInputrouter"
When i call the concreteWSDL im getting
"HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 405 Method Not Allowed"
If i call the EM pathim getting
"javax.xml.rpc.soap.SOAPFaultException"
Any guess as how i need to call my ESB from client.Hello Venkat,
- I have created Java Proxy using Jdeveloper for ESB webservice and I usually use http://host:port/event/...?wsdl, and it creates stub which works without any modification. Let me know, may be I can try sending sample project
- I would like to verify if you are having issue with Java client or ESB itself, are you able to execute that ESB process/service from EM test page or from any other BPEL process?
Regards,
Chintan -
ORA-00911: invalid character - Calling a function from Java..
Hi to all.. I have an issue when calling an oracle function from Java..
This is my Java code:
final StringBuffer strSql = new StringBuffer();
strSql.append("SELECT GET_TBL('II_2_1_6_5') AS TABLA FROM DUAL;");
st = conexion.createStatement();
rs = st.executeQuery(strSql.toString());
and in the executeQuery a SQLException is throwed:
java.sql.SQLException: ORA-00911: invalid character
I paste the query in TOAD and it works.. :S
anybody knows how can I solve this?Remove the Semicolon after Dual.
strSql.append("SELECT GET_TBL('II_2_1_6_5') AS TABLA FROM DUAL");
Sushant -
Calling a SP or Function from Java receiving a geometry(MDSYS.SDO_GEOMETRY)
Hi there,
What I want to do is: calling a stored procedure OR function from Java with a String-variable as input and receiving a geometry (SDO_GEOMETRY).
I’m facing currently the problem of calling a stored function on oracle 11g from Java using JPA (EclipseLink), Spring 2.5.6 returning an MDSYS.SDO_GEOMETRY object.
I’ve tried to call a stored procedure with MDSYS.SDO_GEOMETRY as an output parameter instead, but with no success.
The function’s signature looks like this:
CREATE or REPLACE
FUNCTION GET_GEO_BRD_FUNCTION(p_geo_brd_id IN VARCHAR2) RETURN MDSYS.SDO_GEOMETRY AS
sdo_geom MDSYS.SDO_GEOMETRY := null;
BEGIN
/* do some fancy stuff on the database side */
SELECT sp_geom
INTO sdo_geom
FROM geo_brd WHERE id = p_geo_brd_id;
RETURN sdo_geom;
END;
The calling code looks like this:
MyClass extends JpaDaoSupport{
/** logger */
protected static final ILogger LOG = LogFactory.getLogger(MyClass.class);
* {@inheritDoc}
* @see com.example.MyClass#calculateGeometry(java.lang.String)
@Override
public JGeometry calculateGeometry(final String id) {
JGeometry geometry = null;
final JpaCallback action = new JpaCallback() {
@Override
public Object doInJpa(final EntityManager em) throws PersistenceException {
final Session session = JpaHelper.getEntityManager(em).getActiveSession();
final StoredFunctionCall functionCall = new StoredFunctionCall();
functionCall.setProcedureName("GET_GEO_BRD_FUNCTION");
functionCall.addNamedArgument("p_geo_brd_id");
functionCall.setResult("sdo_geom", Oracle.sql.STRUCT.class);
final ValueReadQuery query = new ValueReadQuery();
query.setCall(functionCall);
query.addArgument("p_geo_brd_id");
final ArrayList args = new ArrayList();
args.add("2e531e62-2105-4522-978a-ab8baf19e273");// hardcoded for test
final Object result = session.executeQuery(query, args);
return result;
final STRUCT result = (STRUCT) this.getJpaTemplate().execute(action);
try {
geometry = JGeometry.load(result);
} catch (final SQLException e) {
MyClass.LOG.error("Error loading JGeometry from STRUCT.", e);
return null;
return geometry;
And when I execute the query I get the following error:
Internal Exception: java.sql.SQLException: ORA-06550: Row 1, Column 13:
PLS-00382: expression is of wrong type
ORA-06550: Row 1, Column 7:
PL/SQL: Statement ignored
Error Code: 6550
Call: BEGIN ? := GET_GEO_BRD_FUNCTION(p_geo_brd_id=>?); END;
bind => [=> sdo_geom, 2e531e62-2105-4522-978a-ab8baf19e273]
Query: ValueReadQuery()
So I thought may be let's try it with a stored procedure instead...
The procedure looks like this:
CREATE or REPLACE
PROCEDURE GET_GEO_BRD_PROCEDURE(p_geo_brd_id IN VARCHAR2, sdo_geom OUT MDSYS.SDO_GEOMETRY) AS
BEGIN
/* do some fancy stuff on the database side */
SELECT sp_geom
INTO sdo_geom
from geo_brd where id = p_geo_brd_id;
END;
The calling Java code in case of the stored procedure looks like this (only the content of the JPACallback has changed):
@Override
public Object doInJpa(final EntityManager em) throws PersistenceException {
final Session session = JpaHelper.getEntityManager(em).getActiveSession();
final StoredProcedureCall spCall = new StoredProcedureCall();
spCall.setProcedureName("GET_GEO_BRD_PROCEDURE");
spCall.addNamedArgument("p_geo_brd_id", "p_geo_brd_id", String.class);
spCall.addNamedOutputArgument("sdo_geom", "sdo_geom", OracleTypes.STRUCT);
final ValueReadQuery query = new ValueReadQuery();
query.setCall(spCall);
query.addArgument("p_geo_brd_id"); // input
final List args = new ArrayList();
args.add("2e531e62-2105-4522-978a-ab8baf19e273");// hardcoded for test
final Object result = session.executeQuery(query, args);
return result;
And when I execute the query I get the following error:
java.sql.SQLException: ORA-06550: Row 1, Column 13:
PLS-00306: wrong number or types of arguments in call to 'GET_GEO_BRD_PROCEDURE'
ORA-06550: Row 1, Column 7:
PL/SQL: Statement ignored
So both exceptions look quite similar.
I guess in both cases the exception description leads to the assumption, that the wrong type for the return value / output parameter is used…
So - how can a receive a MDSYS_SDO_GEOMETRY object from a stored procedure or stored function in Java ?
What is wrong in the Java code?
Thank you in advance for any suggestions!
Yours,
Chris
Edited by: user3938161 on 20.12.2011 07:46
Edited by: user3938161 on Dec 20, 2011 8:06 AM: added variable declaration of JGeometry geometry in source codeThanks, that did the trick! ;-)
Here is now the code for stored procedure and function for anybody else encountering the same troubles... (be aware of the parameter order and/or naming!)
Code for stored functions:
final JpaCallback action = new JpaCallback() {
@Override
public Object doInJpa(final EntityManager em) throws PersistenceException {
final Session session = JpaHelper.getEntityManager(em).getActiveSession();
* Using CallableStatement for stored functions
STRUCT st = null;
CallableStatement cs = null;
final DatabaseLogin login = session.getLogin();
final Connection _conn = (Connection) login.connectToDatasource(session.getDatasourceLogin().buildAccessor(), session);
try {
try {
cs = _conn.prepareCall("{? = call GET_GEO_BRD_FUNCTION(?)}");
cs.registerOutParameter(1, OracleTypes.STRUCT, "MDSYS.SDO_GEOMETRY");
cs.setString(2, "2e531e62-2105-4522-978a-ab8baf19e273");//TODO: hardcoded for test
cs.execute();
} catch (final SQLException e) {
MyClass.LOG.error("An exception occured calling the stored procedure", e);
if (cs != null) {
//reading geometry from the database
try {
st = (STRUCT) cs.getObject(1);
} catch (final SQLException e) {
MyClass.LOG.error("An exception occured converting the query result to oracle.sql.STRUCT", e);
} finally {
try {
if (_conn != null && !_conn.isClosed()) {
_conn.close();
} catch (final SQLException e) {
MyClass.LOG.error("An exception occured on closing the database connection.", e);
return st;
final STRUCT result = (STRUCT) this.getJpaTemplate().execute(action);
The code for stored procedure solution:
final JpaCallback action = new JpaCallback() {
@Override
public Object doInJpa(final EntityManager em) throws PersistenceException {
final Session session = JpaHelper.getEntityManager(em).getActiveSession();
* Using CallableStatement for stored procedure
STRUCT st = null;
CallableStatement cs = null;
final DatabaseLogin login = session.getLogin();
final Connection _conn = (Connection) login.connectToDatasource(session.getDatasourceLogin().buildAccessor(), session);
try {
try {
cs = _conn.prepareCall("{call GET_GEO_BRD_PROCEDURE(?,?)}");
cs.setString("p_geo_brd_id", "2e531e62-2105-4522-978a-ab8baf19e273");
cs.registerOutParameter("sdo_geom", OracleTypes.STRUCT, "MDSYS.SDO_GEOMETRY");
cs.execute();
} catch (final SQLException e) {
MyClass.LOG.error("An exception occured calling the stored procedure", e);
if (cs != null) {
//reading geometry from the database
try {
st = (STRUCT) cs.getObject("sdo_geom");
} catch (final SQLException e) {
MyClass.LOG.error("An exception occured converting the query result to oracle.sql.STRUCT", e);
} finally {
try {
if (_conn != null && !_conn.isClosed()) {
_conn.close();
} catch (final SQLException e) {
MyClass.LOG.error("An exception occured on closing the database connection.", e);
return st;
final STRUCT result = (STRUCT) this.getJpaTemplate().execute(action); -
When attempting to create a new Account in siebel integrated with OEDQ the following error occurs.
ERROR
Data Quality vendor-specific error: An error occurred when calling function 'sdq_init_connector ()' in connector ": "(-8) Exception!." Detailed error message: Exception thrown by Java: java.lang.UnsatisfiedLinkError: nio (Not found in com.ibm.oti.vm.bootstrap.library.path)(SBL-APS-00118)
STEPS
The issue can be reproduced at will with the following steps:
1) from EDQ director we have imported the EDQ_CDS,EDQ-REFERENCE DATA & EDQ_HISTORICAl DATA packages sucessfully.
2) Created dnd.param file in SIebel server SDQCOnnector folder.
3) Copied the libdnd.so file to siebsrvr lib directory(32 bit)
3) In dnd.param file we have mentioned the javalib file and instllation directory path(<Siebsrvr roo>/dnd/install)
4) Unzipped the EDQ-Siebel Connector files in dnd/install folder
5) Copied the dnd.properties file in dnd/install directory and modified it accordingly to point to installed EDQ instance.
6) Configured the Siebel components for EDQ integration.
7) Realtime EDQ jobs are running.
8) Create a new Account
Env details are
On : 8.2.2.14 [IP2014] version, Client Functionality
EDQ 11.1.1.7.4
IBM JDK 1.7 32 bit
Using Open UI
Any Champ have faced this issue and overcame it please let me know the resolution steps. your help is
Regards
Monoj Dey
9007554589Hi Monoj,
A few questions:
- What OS is Siebel running on?
- What version of the Siebel connector are you using?
- Which libdnd.so file are you using?
- What's the contents of your dnd.parms file?
thanks,
Nick -
Calling a PL/SQL function from java
I would like to call a pl/sql function from java. My pl/sql function is taking arrays of records as parameters. How do i proceed? Which specific oracle packages do I have to import?
Please send an example.
TIA,
Darko GuberinaDocumentation here: http://download-uk.oracle.com/docs/cd/B14117_01/java.101/b10983/datamap.htm#sthref185
says JPublisher can publish records too.
But when I change the example given at http://download-uk.oracle.com/docs/cd/B14117_01/java.101/b10983/datamap.htm#sthref190 as following:
PACKAGE "COMPANY" AS
type emp_rec is record (empno number, ename varchar2(10));
type emp_list is varray(5) of emp_rec;
type factory is record (
name varchar(10),
emps emp_list
function get_factory(p_name varchar) return factory;
END;
then I see <unknown type or type not found> at sql or java files generated. Any ideas? -
Error PLS-00306 during calling PL/SQL function from Java
Hi all,
I am facing a problem during call of oracle PL/SQL function from java using CallableStatement.
I receive following error message.
java.sql.SQLException: ORA-06550: line 1, column 13:
PLS-00306: wrong number or types of arguments in call to 'EXPORT_HIST_ALARMS_FUNC'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
As per above error EXPORT_HIST_ALARMS_FUNC in oracle has this signature.
CREATE OR REPLACE FUNCTION EXPORT_HIST_ALARMS_FUNC(startDateTime VARCHAR2, endDateTime VARCHAR2, meType VARCHAR2) RETURN VARCHAR2 IS
END EXPORT_HIST_ALARMS_FUNC;
Above function I have called following way in java.
String sql = "begin ?:= EXPORT_HIST_ALARMS_FUNC(?, ?, ?); end;" ;
CallableStatement cStatement = null;
cStatement = connection.prepareCall(sql);
cStatement.registerOutParameter(1,Types.VARCHAR);
cStatement.setString(2,startDateTime);
cStatement.setString(3,endDateTime);
cStatement.setString(4,meType);
cStatement.execute();
msg = cStatement.getString(1);
Actually above function requires three input parameters and one return parameter.
During execution of above java code it throws SQLException and shows PLS-00306: wrong number or types of arguments in call to 'EXPORT_HIST_ALARMS_FUNC' error.
I have run this function directly from oracle with three parameters and run successfully and finally it returns string.
But I am unable to figure out why it doesn't run from above java code.
Please help regarding this.
Thanks.
Regards,
Shardul BankerTry this:
String sql = "begin ?:= EXPORT_HIST_ALARMS_FUNC(?, ?, ?); end;" ;
CallableStatement cStatement = null;
cStatement = connection.prepareCall(sql);
cStatement.registerOutParameter(1,Types.VARCHAR);
cStatement.setString(1,startDateTime);
cStatement.setString(2,endDateTime);
cStatement.setString(3,meType);
cStatement.execute();
msg = cStatement.getString(1);Regards,
Martijn Teigeler
Edited by: mTeigeler on Oct 13, 2007 10:22 AM -
Calling c function from java!!
hi all,
I want to call c function from java . I have gone through the link http://java.sun.com/docs/books/tutorial/native1.1/stepbystep/index.html for JNI.
According to this link we need to write the native method implementation in such a way that the method signature should exactly match the method signature created in the header file.
My problem is that i have a c application which i cannot modify in any ways i.e., i cannot change its code. But i want to call its function from my java code.
Please suggest me appropriate solution for this. Please let me know whether it can be done using JNI or is there any other method for this.
thanksThis link is amazing since those sources were wrote in 1998 and I started to develop JNative in 2004. I did not found them when I started.
Since JNative can deal with callbacks and probably COM in a near future, I expect to see it living to Dolphin at least.
--Marc (http://jnative.sf.net) -
Calling OCI functions from Java
Is it possible to call OCI's API functions from Java and create a Lightweight Session ?
Please help me out.I too would like to know how this can be accomplished. I have
seen several posts that claim it is possible with Oracle91. -
HI!
What's the best way (and simple) to call DLL function from JAVA.
DLL function (developed in C) has two input parameters (string) and return an integer.
Could you help with an example?
Thanks a lot.Do a google search for 'JNI tutorial' and it will turn up hundreds of examples.
Maybe you are looking for
-
Currency translation on future dates in SAP BW-BEX
Hello All We have a requirement where in user needs to do a currency translation at run time for data in future periods. For example : Savings data on a purchase order .Total savings for PO is $100,000.00 in year/month 2014/008 . We have a from and t
-
Blu Logic bluetooth calls using "Hey, Sir" do not go through my car's speakers since updating to iOS 8.3. They are routed through the iPhone 6 speaker after Siri says, "....calling ________ on speaker." The "on speaker" term was never used before.
-
Image resize is less than acceptable
I really like Motion, but am dissapointed in its ability to resize image elements. When you get down to a small percentage the quality goes downhill. I'm guessing that the resampling is not the best. On a PSA tag I wanted a logo to start at bug size
-
JAVA page error--You have requested an application that is currently stoppe
Hi, After i installed the Java Support packages, and when i try to loging to http://<server name>:<port no> i see the following message "You have requested an application that is currently stopped" But in the SAP MMC i see the server0, sdm, and dispa
-
LR5 stopped moving files between folders
Hi everybody, I've noticed today that my LR5 stopped moving files between folders, I select files I want to move and drag them over to a new location like I always did before with only difference is now nothing happends, no messages with errors, noth