Stored Procedure error in Java
My Java application is invoking stored procedure(Oracle 10g). The stored procedure is opening a cursor for a SQL query that is created dynamically in side the procedure. Whenever there is an error while opening the cursor (i.e. executing the SQL query), I get the following exception message in Java application logs irrespective of what error has caused during SQL execution.
SQLException for SQL [{call PRC_TEST(?, ?, ?, ?, ?, ?, ?, ?)}]; SQL state [60000]; error code [604]; ORA-00604: error occurred at recursive SQL level 1
ORA-01003: no statement parsed
; nested exception is java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
ORA-01003: no statement parsed
e.g. If the query is like select * from tableA and I dont have proper privlieges. I should get error message while opening the cursor :- insufficient privileges.
Is there any way where we can get more precise(or exact!) error message (in Java application logs) that stopped SQL execution while opening the cursor?
I'm using a callable statement.
The strange thing is that, when i remove all IN and OUT paramters in the java code and the stored procedure, both the call to the stored procedure and teh execution of the stored procedure works.
The moment I add in just a IN parameter (in the stored procedure, and setting it in the java code) it stops working, and i receive this error.
java.sql.SQLException: ORA-06550: line 1, column 23:
PLS-00103: Encountered the symbol "" when expecting one of the following:
:= . ( @ % ;
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
heres the java code and stored procedure
CREATE OR REPLACE PROCEDURE sampleProcedure(tax out number)
is
BEGIN
tax := 10 *.15;
/END;
CallableStatement statement =conn.prepareCall("{call sampleprocedure ?}");
statement.registerOutParameter(1,java.sql.Types.INTEGER);
statement.execute();
ResultSet rs = statement.getResultSet();
if((rs = statement.getResultSet()) != null){
Similar Messages
-
Executing a stored procedure from a java program
Hi.. how can i call a oracle stored procedure from a java
program. the OSP has four IN parameters and one OUT parameter(a
cursor). when i try this way.. i get an error
con = DriverManager.getConnection(url, "stored", "stored");
CallableStatement cs =
con.prepareCall(
"{call stored_proce_1(?,?,?,?,?)}");
cs.registerOutParameter(1, OracleTypes.CURSOR);
cs.setString(2, "14541");
cs.setString(3, "gen");
cs.setInt(4, 0);
cs.setInt(5, 5);
ResultSet rs =cs.getResultSet();
while(rs.next()){
System.out.println(rs);
appreciate ur help.
qsI'm no expert on this, but I have a similar call where I fetch
an Oracle REF CURSOR from a call to a stored function. If you
fetch the cursor as an Object from your CallableStatement, you
can then cast it to a ResultSet e.g.
mystatement.executeUpdate();
ResultSet rs = (ResultSet) mystatement.getObject(1);
Then you should be able to loop through your ResultSet as usual.
Good luck!
Chris -
Calling the Java Method in PL/SQL Java Stored procedure errors out
Hi,
I could not find a suitable thread to post my PL/SQL question so iam posting it here.........
I have written a java class by name XYZ which has a method ABC for which there are 9 arguements being passed and its a VOID method.
This java class has been loaded into ORACLE using DBMS_JAVA.LOADJAVA pkg, Now this class is being called in the oracle as a JAVA Stored procedure...... When ever im trying to call the procedure it throws the following error
ORA-29531: no method
*Cause: An attempt was made to execute a non-existent method in a
Java class.
*Action: Adjust the call or create the specified method.
The code snippet as follows
JAVA CODE:
Class xyz
public static void Abc (String hostName,
int port,
String serviceURL,
String soapAction,
int timeOut,
String wsUser,
String wsPasWd,
String keyStore,
String keyStorePasWd)
//method implementation
JAVA STORED PROCEDURE:
create OR REPLACE procedure ABC_JAVA_SP_CALL
(p_hostname in varchar2, p_port in number, p_serviceurl in varchar2, p_soapaction in varchar2, p_timeout in number, p_wsuser in varchar2, p_wspasswd in varchar2, p_ks_path in varchar2, p_ks_passwd in varchar2)
as
language java
name 'xyz.Abc(java.lang.String, int, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String)';
When i try to call
declare
p_hostname varchar2(100);
p_port number;
p_serviceurl varchar2(100);
p_soapaction varchar2(100);
p_timeout number;
p_wsuser varchar2(100);
p_wspasswd varchar2(100);
p_ks_path varchar2(100);
p_ks_passwd varchar2(100);
begin
//SP which returns the values for the required parameters.
comppkg.getvcsinfo(
p_hostname,
p_port ,
p_serviceurl,
p_soapaction,
p_timeout,
p_wsuser,
p_wspasswd,
p_ks_path,
p_ks_passwd
Layer7_icengc_ws_tes(p_hostname,
p_port ,
p_serviceurl,
p_soapaction,
p_timeout,
p_wsuser,
p_wspasswd,
p_ks_path,
p_ks_passwd);
end;
This thing ends up with
29531. 00000 - "no method %s in class %s"
*Cause: An attempt was made to execute a non-existent method in a
Java class.
*Action: Adjust the call or create the specified method.
Im not understanding what wrong am i doing
pls help
Edited by: madhusudan on Feb 12, 2013 8:07 PMHello,
there is the forum {forum:id=65} for questions about using Java within Oracle.
Regards
Marcus
Edited by: Marwim on 13.02.2013 07:56
I could not find a suitable thread to post my PL/SQL question so iam posting it here.........You got the hint to the correct forum alread in another thread {message:id=10837976}
And if you think this is not related to Java but PL/SQL, then you should ask in {forum:id=75} -
ORABPEL-11809 - call a stored procedure - error in OUT parameter
Hi all.
I have a problem in a BPEL process that calls a stored procedure.
I create a Partner Link that calls a stored procedure in the database. That procedure returns a type that is a table (is defined as a type of the database).
When I deploy the process I have the following error:
<messages>
- <input>
- <WC01_Pesquisa_Ut_InputVariable>
- <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="InputParameters">
- <InputParameters xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/IGIF/WC01/PESQUISA_UT/">
<P_NIR xmlns="">
165968274
</P_NIR>
<P_NOME_COMPLETO xmlns="">
carla diogo
</P_NOME_COMPLETO>
<P_SEXO xmlns="">
Feminino
</P_SEXO>
<P_DATA_NASC xmlns="">
2007-03-01
</P_DATA_NASC>
<P_NATURALIDADE xmlns=""/>
</InputParameters>
</part>
</WC01_Pesquisa_Ut_InputVariable>
</input>
- <fault>
- <remoteFault xmlns="http://schemas.oracle.com/bpel/extension">
- <part name="code">
<code>
17002
</code>
</part>
- <part name="summary">
<summary>
file:/oracle/product/10.1.3/SOA/Integration10131/bpel/domains/default/tmp/.bpel_SaudeIdentificarCidadao_5.0_e3768f57d137443e1ba52d4a6d809426.tmp/WC01_Pesquisa_Ut.wsdl [ WC01_Pesquisa_Ut_ptt::WC01_Pesquisa_Ut(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'WC01_Pesquisa_Ut' failed due to: Error registering an out parameter.
An error occurred when registering parameter PESQUISA_UT as an out parameter of the IGIF.WC01.PESQUISA_UT API. Cause: java.sql.SQLException: Io exception: Connection reset [Caused by: Io exception: Connection reset]
; nested exception is:
ORABPEL-11809
Error registering an out parameter.
An error occurred when registering parameter PESQUISA_UT as an out parameter of the IGIF.WC01.PESQUISA_UT API. Cause: java.sql.SQLException: Io exception: Connection reset [Caused by: Io exception: Connection reset]
Check to ensure that the parameter is a valid IN/OUT or OUT parameter of the API. Contact oracle support if error is not fixable.
</summary>
</part>
- <part name="detail">
<detail>
Internal Exception: java.sql.SQLException: Io exception: Connection resetError Code: 17002
</detail>
</part>
</remoteFault>
</fault>
</messages>
The code of the XSD created when I create the partner link is:
<schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/IGIF/WC01/PESQUISA_UT/" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:db="http://xmlns.oracle.com/pcbpel/adapter/db/IGIF/WC01/PESQUISA_UT/"
elementFormDefault="unqualified" attributeFormDefault="unqualified">
<element name="InputParameters">
<complexType>
<sequence>
<element name="P_NIR" type="decimal" db:index="1" db:type="NUMBER" minOccurs="0" nillable="true"/>
<element name="P_NOME_COMPLETO" type="string" db:index="2" db:type="VARCHAR2" minOccurs="0" nillable="true"/>
<element name="P_SEXO" type="string" db:index="3" db:type="VARCHAR2" minOccurs="0" nillable="true"/>
<element name="P_DATA_NASC" type="dateTime" db:index="4" db:type="DATE" minOccurs="0" nillable="true"/>
<element name="P_NATURALIDADE" type="string" db:index="5" db:type="VARCHAR2" minOccurs="0" nillable="true"/>
</sequence>
</complexType>
</element>
<element name="OutputParameters">
<complexType>
<sequence>
<element name="PESQUISA_UT" type="db:TABELA_DE_IDS" db:index="0" db:type="Array" minOccurs="0" nillable="true"/>
</sequence>
</complexType>
</element>
<complexType name="TABELA_DE_IDS">
<sequence>
<element name="PESQUISA_UT_ITEM" type="decimal" db:type="NUMBER" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
</sequence>
</complexType>
</schema>
Any ideia?
Thanks in advance.
CarlaI'd suggest that you turn on xml validation on the bpel boundaries to make sure that the xml being passed to the adapter is valid. You do this by logging in to bpel console, go to Manage Domain, at the bottom of the Configuration tab, set validateXml to true.
Then see if it is an xml validation issue - in which case you will have to fix your maps to make sure it is valid indeed.
Assuming your XML is valid and you are still seeing this error, couple of follow up questions:
- are you using synonyms ?
-- note that synonyms are not supported completely by the adapter at this time.
- could you spell out where your types/sp-pkg resides and what are you connecting as at runtime ?
-- just to keep things simple enough to debug, i'd do everything as just one user and slowly go to a scheme that you desire.
HTH -
JDBC Receiver Adapter - Stored Procedure - Error Illegal Parameter
Hi experts,
I have a problem with the next scenario:
HTTP <-> XI -> JDBC
XI sends the following message to JDBC Adapter in mode Receiver to execute a Stored Procedure in a Informix database:
<ns0:mt_messageTestSP xmlns:ns0="urn:test">
<statement>
<hastus_exporta_dia action="execute">
<fechaEnvio isInput="true" type="DATE">11/17/2008</fechaEnvio>
</hastus_exporta_dia>
</statement>
</ns0:mt_messageTestSP>
Note: The format that accepts the SP Informix in the field of type date is: MM/dd/yyyy
The SP is running on an Informix database, and the parameter (fechaEnvio) that receive the SP is of type DATE. At runtime the SP does not run, and in the Component Monitoring of the Runtime Workbench I see the following error:
Unable to execute statement for table or stored procedure. 'hastus_exporta_dia' (Structure 'statement') due to java.lang.IllegalArgumentException
Any idea?
Thanks,
Jose.Hi,
Check the date format...once again...
In oracle date format is DD/MM/YYYY but if the same is sent from PI its throwing the error....
but when i send the format as DD-Mon-YYYY its accepting and showing as DD/MM/YYYY in oracle tables
so just try fetching the date field from the informix database and see how it is get converted into..and based on that send the format
HTH
Rajesh -
Bea type 4 db2 driver-stored procedure error
Iam creating a connection pool in weblogic 9.2 MP2
using bea type 4 db2 driver and excuting a stored procedure.Iam getting following error
I enabled spy
spy(2008/02/13 09:41:58.050)>> Driver Name = DB2
spy(2008/02/13 09:41:58.050)>> Driver Version = 3.60.24 (023731.010811.022315)
spy(2008/02/13 09:41:58.050)>> Database Name = DB2/MVS
spy(2008/02/13 09:41:58.050)>> Database Version = 8.1.5
spy(2008/02/13 09:44:11.063)>> java.sql.SQLException: [BEA][DB2 JDBC Driver][DB2]UNACCEPTABLE SQL STATEMENT ErrorCode=-84 SQL
State=42612
The code is using
CALL SP03 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
as follows
String sql = "CALL SP03 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
myCallableStmt = con.prepareCall(sql);
is ther are any issues in calling stored procedure with type 4 bea db2 driver.
connectrion pool details
jdbc:bea:db2://server:447
weblogic.jdbc.db2.DB2Driver
user=user
LocationName=server
portNumber=447
serverName=host
batchPerformanceWorkaround=true
The code is working fine with type 2 ibm driver connection pool
Also Iam trying with ibm type 4 driver
Iam getting following error in configuration itself
<Feb 13, 2008 11:18:44 AM EST> <Error> <JDBC> <BEA-001112> <Test "SELECT COUNT(*) FROM
abc.xy_def" set up for pool "DataSourceIBM" failed with exception: "com.ibm.db2.jcc.a.SqlException: DB2 SQL error: SQLCODE: -725,
SQLSTATE: 42721, SQLERRMC: CLIENT APPLNAME;server".>
details
jdbc:db2://mvsavt1_vipa.corpny.csfb.com:447/server
com.ibm.db2.jcc.DB2Driver
user=user
locationName=server
portNumber=450
drivertype=4
Any configuration required at db2 serverOk, Odd. Please email this post (the code below) and the
output of each to [email protected] and ask them to investigate
why one driver finds the procedure and the other doesn't.
This will get back to me officially, and then I will be able
to enlist all the resources to debug it. Is the stored
procedure owned by the same schema as your 'user'?
Mohamed Rabbani P M wrote:
Joe,
It is the same code you gave
BEA Driver Code
import java.io.*;
import java.util.*;
import java.net.*;
import java.sql.*;
import weblogic.common.*;
public class dddb2
public static void main(String argv[])
throws Exception
Connection c = null;
try
java.util.Properties props = new java.util.Properties();
Driver d = (Driver)Class.forName("weblogic.jdbc.db2.DB2Driver").newInstance();
props.put("user", "user");
props.put("password", "password");
props.put("locationName", "dbserver");
String URL = "jdbc:bea:db2://dbhost:447";
c = d.connect(URL, props);
DatabaseMetaData dm = c.getMetaData();
System.out.println(dm.getDriverVersion());
System.out.println("Database version is " + dm.getDatabaseProductVersion() );
CallableStatement p = c.prepareCall("{ CALL SP03 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) }");
p.setInt(1,1234);
p.setString(2,"XYZ");
p.setString(3,"XYZ");
p.setInt(5,1234);
p.setString(6,"");
p.setString(7,"XYZ");
p.setString(9,"XYZ");
p.setString(12,"XYZ");
p.registerOutParameter(4,Types.INTEGER);
p.registerOutParameter(8,Types.INTEGER);
p.registerOutParameter(10,Types.INTEGER);
p.registerOutParameter(11,Types.INTEGER);
p.registerOutParameter(13,Types.INTEGER);
p.setFetchSize(3);
p.execute();
catch (Exception e)
{ e.printStackTrace(); }
finally
{ try {c.close();}catch (Exception e){} }
IBM Driver Code
import java.io.*;
import java.util.*;
import java.net.*;
import java.sql.*;
import weblogic.common.*;
public class dddb2ibm
public static void main(String argv[])
throws Exception
Connection c = null;
try
java.util.Properties props = new java.util.Properties();
Driver d = (Driver)Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
props.put("user", "user");
props.put("password", "password");
//props.put("databaseName", "dbserver");
String URL = "jdbc:db2://dbhost:447/dbserver";
c = d.connect(URL, props);
DatabaseMetaData dm = c.getMetaData();
System.out.println(dm.getDriverVersion());
System.out.println("Database version is " + dm.getDatabaseProductVersion() );
CallableStatement p = c.prepareCall("{ CALL SP03 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) }");
p.setInt(1,1234);
p.setString(2,"XYZ");
p.setString(3,"XYZ");
p.setInt(5,1234);
p.setString(6,"");
p.setString(7,"XYZ");
p.setString(9,"XYZ");
p.setString(12,"XYZ");
p.registerOutParameter(4,Types.INTEGER);
p.registerOutParameter(8,Types.INTEGER);
p.registerOutParameter(10,Types.INTEGER);
p.registerOutParameter(11,Types.INTEGER);
p.registerOutParameter(13,Types.INTEGER);
p.setFetchSize(3);
p.execute();
catch (Exception e)
{ e.printStackTrace(); }
finally
{ try {c.close();}catch (Exception e){} } -
Stored Procedure error with JDBC:ODBC
Hi,
I am trying to run a stored procedure on RDMS (Uniaccess ODBC). This has 2 input parameters and returns a resultset of 3 columns. The following is the error I am getting and am stumped. Please help..
(similar call statement works with VB and ADO)
--------output ---------------
Calling MGC005
inside resultset sun.jdbc.odbc.JdbcOdbcCallableStatement@129206
row 1
get string 0004
get string 00000
get string
SQLEcception : java.sql.SQLException: [AIS][UniAccess ODBC Driver]Invalid Column Number//Specified column is before the column specified in the previous call
----------------------source code ------------------
import java.awt.Graphics;
import java.sql.*;
public class JdbcTest {
public JdbcTest() {
Connection con;
CallableStatement stmt;
try {
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver");
catch (Exception ex) {
System.out.println ("Database Driver not found");
System.exit(0);
try {
String msDbUrl = "jdbc:odbc:CMS_TEST_ODBC";
con = DriverManager.getConnection(msDbUrl, user, password );
stmt = con.prepareCall("{ call MGC005(?, ?)}");
stmt.setString( 1, "CH" );
stmt.setString( 2, "ARRINGTON0909170320010615" );
// stmt.registerOutParameter( 1, java.sql.Types.VARCHAR);
// stmt.registerOutParameter( 2, java.sql.Types.VARCHAR );
// stmt.registerOutParameter( 3, java.sql.Types.VARCHAR );
System.out.println( "Calling MGC005 " );
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
System.out.println( " inside resultset " + rs.getStatement() );
System.out.println( " row " + rs.getRow() );
System.out.println( " get string " + rs.getString(1) );
System.out.println( " get string " + rs.getString(2) );
System.out.println( " get string " + rs.getString(3) );
String i = rs.getString (1);
String s = rs.getString (2);
String t = rs.getString (3);
String text = i + " " + s ;
System.out.println ( " Output " + text);
stmt.close();
con.close();
} catch( SQLException ex ) {
System.out.println ("SQLEcception : " + ex);
public static void main(String[] args) {
new JdbcTest();
}Hi,
The error seems to occur on the line:
String i = rs.getString (1);
The error exactly states what is occuring: "Specified column is before the column specified in the previous call". Try limiting the call to getString() to one for each column for each row.
Try replacing these lines:
System.out.println( " get string " + rs.getString(1) );
System.out.println( " get string " + rs.getString(2) );
System.out.println( " get string " + rs.getString(3) );
String i = rs.getString (1);
String s = rs.getString (2);
String t = rs.getString (3);
with something like:
String i = rs.getString (1);
System.out.println( " get string " + i);
String s = rs.getString (2);
System.out.println( " get string " + s);
String t = rs.getString (3);
System.out.println( " get string " + t);
Hope this works,
Kurt. -
Callable statement with oracle stored procedure error
i'm calling a stored procedure in java with the following code. However i constantly recieve this error
so what is going on please HELP
Parameter Type Conflict: sqlType=2006
my call statement would be this:
call Statement = {call getUserByLogin(?,?,?,?)}
if(storedProcedureName=="getUserByLogin"){
strCStmt = ("{call " + storedProcedureName +"(?,?,?,?) }");
cStmt.setObject(1, "system");
cStmt.setObject(2, "username");
cStmt.setObject(3,"password");
cStmt.registerOutParameter(4, java.sql.Types.REF);
rs = cStmt.executeQuery();
i've also tried it with a setString as the IN parameter:
here's the stored procedure:
CREATE OR REPLACE PROCEDURE getUserByLogin (
arg_subscriptionName IN varchar,
arg_loginName IN varchar,
arg_password IN varchar,
arg_rec_userinfo_valLanguage OUT types.rec_userinfo_valLanguage
) AS
var_userNum int;
BEGIN
select
u.userNum into var_userNum
from
userInfo u,
subscription s
where
s.subscriptionName = arg_subscriptionName AND
s.subscriptionNum = u.subscriptionNum AND
u.loginName = arg_loginName AND
u.password = arg_password;
if (var_userNum is null) then
var_userNum := 0;
end if;
getUser(var_userNum, arg_rec_userinfo_valLanguage);
END;i'm calling a stored procedure in java with the
following code. However i constantly recieve this
error
so what is going on please HELP
Parameter Type Conflict: sqlType=2006
my call statement would be this:
call Statement = {call getUserByLogin(?,?,?,?)}
if(storedProcedureName=="getUserByLogin"){
strCStmt = ("{call " + storedProcedureName +"(?,?,?,?)
cStmt.setObject(1, "system");
cStmt.setObject(2, "username");
cStmt.setObject(3,"password");
cStmt.registerOutParameter(4, java.sql.Types.REF);
rs = cStmt.executeQuery();
i've also tried it with a setString as the IN
parameter:
here's the stored procedure:
CREATE OR REPLACE PROCEDURE getUserByLogin (
arg_subscriptionName IN varchar,
arg_loginName IN varchar,
arg_password IN varchar,
arg_rec_userinfo_valLanguage OUT
types.rec_userinfo_valLanguage
) AS
var_userNum int;
BEGIN
select
u.userNum into var_userNum
from
userInfo u,
subscription s
where
s.subscriptionName = arg_subscriptionName AND
s.subscriptionNum = u.subscriptionNum AND
u.loginName = arg_loginName AND
u.password = arg_password;
if (var_userNum is null) then
var_userNum := 0;
end if;
getUser(var_userNum, arg_rec_userinfo_valLanguage);
END;
/Hai,
Try with this if u are using Oracle.
import oracle.sql.*;
import oracle.jdbc.driver.*;
(inbetween ur code)
cStmt.registerOutParameter(4, OracleTypes.CURSOR);
//in place of "cStmt.registerOutParameter(4, java.sql.Types.REF);"
Hope u reply with joy.
regards,
Siva Kumar Annavaram -
Passing UDT TABLE of VARCHAR as an Input parameter in Stored procedure call from java
I have following Type defined at the schema: ident_arr IS TABLE OF VARCHAR2(100) which is type of one of the input parameters. I am able to create oracle.sql.ARRAY object to map it with this UDT before calling my stored procedure from java. When I execute my stored procedure, I get the following error:
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'P_PV_WCC_INSERT'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
I have already checked all other parameter types.Hello,
Thank you, guys, for advice. I should have explained calling context before, but what I basically need to do is to see if procedure(arg1, list(record(arg2, arg3))) returns true.
I see array binding wouldn't fit there nicely. Internal procedure calls would be proc(next(arg1), next(arg2), next(arg3)) - if all these return true, external call should also return true. I would need to make a list of repeating values of arg1 and separate list(record(arg2, arg3)) into separate lists. I would also need to record whether the internal call returns true to deduce whether external call returns true.
As I see no better way yet, I'll make Oracle procedure proc(arg1, arg2, arg3) and implement a loop in .NET side. If I optimize for performance, I'll probably pack the array of records into string and pass it for Oracle side to parse.
Regards,
Aurimas Pranskevicius -
JDBC adapter Stored Procedure error: parameter was not supplied
I am trying to call a Stored Procedure 'SP_FUSION_DEBMS_ADRC_MANAGE_CUSTOMER_ADDRESS' in our SQL Server database.
XI 3.0 Sp13
Jdbc Url: jdbc:microsoft:sqlserver://161.241.255.91:1433;databaseName=FusionDB;SelectMethod=Cursor
I am getting following error:
beging of error-----
Exception caught by adapter framework: Error processing request in sax parser: Error when executing statement for table/stored proc. 'SP_FUSION_DEBMS_ADRC_MANAGE_CUSTOMER_ADDRESS' (structure 'Statement1'): java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Procedure 'SP_FUSION_DEBMS_ADRC_MANAGE_CUSTOMER_ADDRESS' expects parameter '@control_no', which was not supplied.
End of error-----
I have defined the field "control_no" in the interface defenition but I am not sure what causing this error, error message is mis-leading.
Please let me know if you have any hints/comments?
thanks,
Laxman moluguHi Laxman,
maybe you have checked this already...from the following help link....DECIMAL might be something you might want to try out....
http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/frameset.htm
<i>action=EXECUTE
Statements with this action result in a stored procedure being executed. The name of the element is interpreted as the name of the stored procedure in the database. If you use the optional <table> element, the value specified here is used as the stored procedure name. This enables you, for example, to define stored procedure names containing non-XML-compatible characters or characters that prevent them from being used in interface definitions in the Integration Builder/PCK. If specified, <table> must be the first element in the block within <dbTableName>.
The elements within the stored procedure are interpreted as parameters. They can optionally have the attribute isInput=1 (input parameter) or isOutput=1 (output parameter) or both (INOUT parameter). If both attributes are missing, the element is interpreted as an input parameter. The parameter names must be identical to those of the stored procedure definition.
The attribute type=<SQL-Datatype> , which describes the valid SQL data type, is mandatory for all parameter types (IN, OUT, INOUT).
The following SQL data types are supported:
INTEGER, BIT, TINYINT, SMALLINT, BIGINT, FLOAT, REAL, DOUBLE, NUMERIC, DECIMAL, CHAR, VARCHAR, STRING, LONGVARCHAR, DATE, TIME, TIMESTAMP, BINARY, VARBINARY, LONGVARBINARY, BLOB (input and output),CLOB (input and output), CURSOR (output; only in conjunction with the Oracle JDBC driver).</i> -
Very urgent - Parsing stored procedure error !!!
Hi,
We tried to migrate a SQL server 7 database to an Oracle 8.1.7 database using the migration workbench. We had successfully captured the SQL server source model. But
when we tried to create the Oracle model,
the following error occurred for some stored procedure :
"failed to parse procedure text: procedurexxx:
java.lang.StringIndexOutOfBoundsException: String Index out of
range: 0"
This error occured even when we reparse the
stored procedure. What does that mean and what can I do to solve it? As we have to solve this error urgently, your prompt reply
will be highly appreciated.
Thanks
Ivan HuiIvan, we really need a bit more information.
Mail one of the stored procedures to [email protected] and we shall track down the error and, where possible, find a workaround to the problem.
null -
Hi All,
Interface proxy to JDBC :
In this I have used stored procedures and implemented structure accordingly.
issue is while testing the interface its showing error for 1 field
" Unable to execute statement for table or stored procedure. 'ABCD_SP' (Structure 'ABCD') due to java.sql.SQLException: Unsupported parameter type 'INT' for parameter 'VINSI' found "
"JDBC message processing failed; reason Error processing request in sax parser: Error when executing statement for table/stored proc. 'ABCD_SP' (structure 'ABCD'): java.sql.SQLException: Unsupported parameter type 'INT' for parameter 'VINSI' found "
I have communicated with DB team and they are saying that field ABCD is "INT" type only . In the same way in my message mapping also i have given INT for Type attribute .
Please help what is the root cause .
VinHi,
i think you defined Parameter type as "INT" and the value is coming in CHAR formate.
If Parameter type as "INT" then value should be some number and not Charectors
If Parameter type as "CHAR" then value should be some Charecters and not NUM.
Regards,
Mastan -
Hi,
My Problem is when im adding dataset with stored procedure, im getting this error.
I Can access database,
Could not create a list of fields for the query. Verify that you can connect to the data source and that your query syntax is correct.
ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'PROCEDURE_NAME' ORA-06550: line 1, column 7: PL/SQL:
Statement ignored
stored procedure is simple select :
CREATE OR REPLACE PROCEDURE [PROCEDURE_NAME](L_CURSOR out SYS_REFCURSOR)
is
Begin
open L_CURSOR for
SELECT [columnname] FROM
[tablename]
End;
Configuration Details:
DB: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64biOracle Developer Tools for Visual Studio Copyright (c) 2005,2014 SQL Server Data Tools Type: Oracle , Data Provider : .Net Framework Data Provider For OracleThe answer is of inside question. It is about provider. Change my provider ODTwithODAC for 10g (my database version). And problem resolved.
Thank you for your helps,
Regards,
Arda -
Crystal Report That Uses Stored Procedure Errors when connecting to the DB
We had developed reports a few years ago, including one that calls a Stored Procedure on an iSeries AS400 DB2 database. We upgraded our environments to Crystal Reports 2008 and BO XI 3.1. Now, the existing report that previously ran in the old environment is not running (note that the other SQL-based reports work without a problem, only this one which uses a store procedure is not working). I downloaded the report into my local Crystal Reports designer and tried to run it from there and I got the following error message:
======
Failed to retieve data from the database.
Details: ADO Error Code: 0x
Source Microsoft OLE DB Provider for ODBC Drivers
Description: [IBM][iSeries Access ODBC Driver] Statement violates access rule: Connection is set to read only.
SQL State: 37000
Native Error: [Database Vendor Code: 30186 ]
======
{CALL "<database>"."<library>"."RELEASEDNOTINVOICE"({d '2010-03-01'})}
This call will still work from on a SQL client running on a JDBC connection. Is there some problem with the new verion of BO and Crystal Reports with using the iSeries ODBC driver?...my issue was resolved by setting the ODBC.INI registry entry for AllowProcCalls from 0 to 1.
-
ERP2005 SR3 Create SAP Stored Procedures Error
Hi Seniors,
I have tried to install SAP ERP ECC 6.0 IDES ERP2005 SR3 , I got the error in installation step 19/26 (Create SAP Stored Procedures).
OS : WIN 2008 SERVER
DB : MS SQL 2008
I have fallow the Note 1152240.
Error log :
ERROR 2010-03-02 12:08:20.282
FCO-00011 The step ExeProcs with step key |NW_Onehost|ind|ind|ind|ind|0|0|NW_Onehost_System|ind|ind|ind|ind|2|0|NW_CreateDBandLoad|ind|ind|ind|ind|10|0|NW_Postload|ind|ind|ind|ind|10|0|NW_Postload_MSS|ind|ind|ind|ind|2|0|MssProcs|ind|ind|ind|ind|1|0|ExeProcs was executed with status ERROR .
Please help me,
Thank you,
Sagar K> I have tried to install SAP ERP ECC 6.0 IDES ERP2005 SR3 , I got the error in installation step 19/26 (Create SAP Stored Procedures).
>
> OS : WIN 2008 SERVER
> DB : MS SQL 2008
See note 1244548 - IDES ERP 6.0 ECC 6.0 SR3:
<...>
Microsoft SQL Server 2008:
An Installation of this IDES version on MSSQL 2008 is NOT possible.
Please use MSSQL 2005 as database version
<...>
The reason is that the SAP_BASIS support package is too low.
Markus
Maybe you are looking for
-
Sales order values not coming in copa report can been seen in ke24
hi i have did sd and billing and actual settlement through va88 i can able to values in ke24 actual line items. but when i cant able to see values in ke30 copa report aganist sales order characteristic and aganist record type A values are not flowing
-
How to open and edit a DVD?
I have two DVDs of a family event sent by two different people. DVDs made on domestic video recorders. I want to take out some stretches and edit the remaining pieces together. Could someone please take me by the hand and gently lead me through the p
-
I've lost my scrollbar in my inbox. how do I get it back
I downloaded firefox 3.6 and now I've lost the vertical scrollbar on my inbox. How do I get it back. This seems to happen everytime I download a newer version.
-
Can't edit playlists that are in a subfolder - newest release
Since applying 8.1.1 - I can no longer edit a playlist that is in a subfolder. I use playlists extensively, really not fun .
-
Hello All, There is a property called access keys in adf for each component, I am using access keys and i found that access keys can be used with a combination of keys like ALT+SHIFT+ 'access key assigned' . Like i have assigned access key 's' to any