Stored Procedure? Error Checking?
I'm getting
(Either BOF or EOF is True, or the current record has been
deleted.)
on the page and I'm thinking it's because the SP errors
because a part
of the requested items are empty. The page works until I add
the items
after the *****'s . Without those, it works fine.
First of all, should I do error checking in the SP, second,
how? Or, is
there somewhere else I should look? The first error that I
get happens
when I do a file check to see if an Image actually exists on
the server
line that first error pops up-------<% strFilename =
"e:\path\to\site\Pix\DD" &
(recordset.Fields.Item("ProductID").Value) &
".jpg"
If (fs.FileExists(strFilename))=true Then
%>----------------end of
error line
CREATE PROCEDURE spname
@variable1 varchar (20)
AS
SELECT P.ID AS ProductID, P.Name, P.ProdID, P.Price,
P.ShipCost,
P.ClearSale, P.SalePrice, P.new, PC.gid AS PCgid, G.gid,
G.pid AS Gpid,
G.ord, D.PID AS DPID, D.Paragraph
*******, AIG.copyright, AIG.itemsize, AIG.cartdate,
AIG.grade,
AIG.specialNotice, AIG.warning, AIG.videoLength,
AIG.keywords,
AIG.dateadded, AIG.bestseller
FROM atblProducts P
INNER JOIN Groups G ON P.ID = G.pid
INNER JOIN PCat PC ON G.gid = PC.gid
*******INNER JOIN atblAddInfoGroup AIG ON P.ID =
AIG.addInfoID
LEFT JOIN Description D ON G.pid = D.PID
WHERE P.ProdID = @variable1 AND P.price IS NOT NULL AND
P.Price <> 0
GO
You are getting the error because the recordset you are
attempting to return
is empty. This is an ASP error and is not being generated
from SQL Server.
If I were you I would execute your SP through query analyzer
and if the
resulting data set is empty then this is why you are
receiving the error on
your ASP page.
For your info:- if there was an error with your SQL code then
you would be
getting a completely different error than this.
"Art" <[email protected]> wrote in
message
news:fmisq3$2b0$[email protected]..
> I'm getting
>
> (Either BOF or EOF is True, or the current record has
been deleted.)
>
> on the page and I'm thinking it's because the SP errors
because a part of
> the requested items are empty. The page works until I
add the items after
> the *****'s . Without those, it works fine.
>
> First of all, should I do error checking in the SP,
second, how? Or, is
> there somewhere else I should look? The first error that
I get happens
> when I do a file check to see if an Image actually
exists on the server
>
> line that first error pops up-------<% strFilename =
> "e:\path\to\site\Pix\DD" &
(recordset.Fields.Item("ProductID").Value) &
> ".jpg"
> If (fs.FileExists(strFilename))=true Then
%>----------------end of error
> line
>
> CREATE PROCEDURE spname
> @variable1 varchar (20)
>
> AS
> SELECT P.ID AS ProductID, P.Name, P.ProdID, P.Price,
P.ShipCost,
> P.ClearSale, P.SalePrice, P.new, PC.gid AS PCgid, G.gid,
G.pid AS Gpid,
> G.ord, D.PID AS DPID, D.Paragraph
>
> *******, AIG.copyright, AIG.itemsize, AIG.cartdate,
AIG.grade,
> AIG.specialNotice, AIG.warning, AIG.videoLength,
AIG.keywords,
> AIG.dateadded, AIG.bestseller
>
> FROM atblProducts P
> INNER JOIN Groups G ON P.ID = G.pid
> INNER JOIN PCat PC ON G.gid = PC.gid
>
> *******INNER JOIN atblAddInfoGroup AIG ON P.ID =
AIG.addInfoID
>
> LEFT JOIN Description D ON G.pid = D.PID
> WHERE P.ProdID = @variable1 AND P.price IS NOT NULL AND
P.Price <> 0
> GO
Similar Messages
-
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 -
Stored Procedure for checking Invoice Vendor ref No
Hi All
I need a sp for checking a vendor ref no on an invoice if it already exist in the system or the user forgot to include one when trying to add the document.
I get this error on the one that I created
16/03/2010 12:21:54: [Microsoft][SQL Native Client][SQL Server]Conversion failed when converting the nvarchar value '24 0' to data type int. (CINF)
Here is my SP :-
DECLARE @Invoice AS VARCHAR(15)
DECLARE @Card AS VarChar (20)
SELECT @invoice = NumatCard, @card = CardCode FROM dbo.OPCH
WHERE DocEntry = @list_of_cols_val_tab_del
if @object_type = '18' and @transaction_type in (N'A', N'U') -- AP Invoice is null
begin
If exists (SELECT T0.cardcode, T0.NumAtCard FROM OPCH T0 where T0.NumatCard is null and T0.cardcode=@list_of_cols_val_tab_del)
begin
SET @error = 10
SET @error_message = N'Supplier invoice number not entered.'
END
END
SELECT @INVOICE = NumatCard FROM dbo.OPCH
WHERE DocEntry = @list_of_cols_val_tab_del
if @object_type = '18' and @transaction_type in (N'A', N'U') -- AP Invoice to check if the invoice no exist
begin
If exists (SELECT T0.cardcode, T0.NumatCard FROM OPCH T0 where T0.NumatCard = @invoice and T0.cardcode=@list_of_cols_val_tab_del)
begin
SET @error = 10
SET @error_message = N'This invoice number already exist for this supplier.'
END
END
Regards
Bongani DlaminiThis code should be inserted into the original (or already expanded) SBO_SP_TransactionNotification stored procedure after the line
-- ADD YOUR CODE HERE )
Try this full (and a little modified) procedure:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[SBO_SP_TransactionNotification]
@object_type nvarchar(20), -- SBO Object Type
@transaction_type nchar(1), -- [A]dd, <u>pdate, [D]elete, [C]ancel, C[L]ose
@num_of_cols_in_key int,
@list_of_key_cols_tab_del nvarchar(255),
@list_of_cols_val_tab_del nvarchar(255)
AS
begin
-- Return values
declare @error int -- Result (0 for no error)
declare @error_message nvarchar (200) -- Error string to be displayed
select @error = 0
select @error_message = N'Ok'
-- ADD YOUR CODE HERE
if @object_type = '18' and @transaction_type in (N'A', N'U') -- AP invoice
BEGIN ----
DECLARE @Invoice AS VARCHAR(15)
DECLARE @Card AS VarChar (20)
SELECT @invoice = NumatCard, @card = CardCode FROM dbo.OPCH
WHERE DocEntry = @list_of_cols_val_tab_del
-- AP Invoice is null
If exists (SELECT T0.cardcode, T0.NumAtCard FROM OPCH T0 where T0.NumatCard is null
and T0.DocEntry=@list_of_cols_val_tab_del)
begin
SET @error = 10
SET @error_message = N'Supplier invoice number not entered.'
end
-- AP Invoice to check if the invoice no exist
If exists (SELECT T0.cardcode, T0.NumatCard FROM OPCH T0 where T0.NumatCard = @invoice
and T0.CardCode=@card and T0.DocEntry!=@list_of_cols_val_tab_del)
begin
SET @error = 10
SET @error_message = N'This invoice number already exist for this supplier.'
end
END ----
-- Select the return values
select @error, @error_message
end -
Stored procedure for checking Invoice value if more than R 15 000
Hi All
I have a problem with my stored procedure below, i want to check the doctotal if it above R 15 000 , if it is then it checks if the supplier has a tax clearance cert.
IF @transaction_type = 'A' AND @object_type = '22'
BEGIN
If exists (SELECT T0.cardcode, t0.docentry FROM OPOR T0 where T0.DOCTOTAL >'15,000.00' and T0.U_TAXCLEAR IS NULL AND T0.docentry=@list_of_cols_val_tab_del)
begin
SET @error = 10
SET @error_message = N'Amount is above R 15 000 please select Supplier with Valid Tax Certificate'
END
END
I tried this executing the sp and there was this error
Msg 208, Level 16, State 6, Procedure SBO_SP_TransactionNotification, Line 41
Invalid object name 'dbo.SBO_SP_TransactionNotification'.
In this case line 41 is 2nd END.
Thanks
Bongani DlaminiHi all
Thanks for the replies , forgot to mention a few requirements.
In addition to the to checking the value above R 15 000 I want to check if a tax certificate field is populated , if it is then checks if the expiry date is not null.
please check the query I tried below.
IF @transaction_type = 'A' AND @object_type = '22'
BEGIN
IF EXISTS (SELECT T0.CardCode FROM dbo.OPOR T0
WHERE T0.DOCTOTAL > 15000 AND T0.U_TAXCLEAR IS NULL AND T0.DocEntry=@list_of_cols_val_tab_del)
BEGIN
SET @error = 10
SET @error_message = 'Amount is above R 15 000, a valid Tax Certificate is required'
END
END
IF @transaction_type = 'A' AND @object_type = '22'
BEGIN
IF EXISTS (SELECT T0.CardCode FROM dbo.OPOR T0 WHERE T0.U_EXPIRYDATE IS NULL AND T0.DocEntry=@list_of_cols_val_tab_del)
BEGIN
SET @error = 10
SET @error_message = 'Tax Certificate expiry date is required'
END
END
Thanks
Bongani Dlamini -
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 -
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> -
Stored procedure error in universe structure
Hi,
I've inserted a stored procedure in univerese and when i right-click the stored procedure in structure and click table values it is throwing the below error. I am using BO XI R3.1 version and database is MS Sql server 2005. When i checked the connection it is responding.
Exception:DBD, [Microsoft SQL Native Client]: syntax error, permission violation, or other nonspecific error state: 42000
Could any one pls help on this issue
Thanks,
EswarGuys Thanks for your replies, But I am already aware of all this solutions provided by you.
The thing I want to bring to your notice is that, in JDBC receiver adapter 'Processing' tab, we have parameter 'Interpretation of Empty String Values'. In PI7.0 even if we select 'NULL Value' the adapter was sending 'Epmty String' instead of Null to database.
Looks like this issue has been resolved in PI 7.1.
Is someone aware of this issue???
Regards,
Xier -
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} -
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.
-
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 -
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 -
BI Publisher 11g - calling SQL Server 2005 stored procedure error
Hi experts
I have been calling succesfully an SQL server 2005 stored procedure for the data model of a BI publisher report in 10g, passing it a customerNo parameter.
EXEC [dbo].[usp_WelcomeLettersConsumerNo]
@CustomerNo = :sCustomerNo
However it does not work in 11g I get the error:
[Hyperion][SQLServer JDBC Driver][SQLServer]Incorrect syntax near the keyword 'is'.
which is frustrating as there is no 'is' in the statement (perhaps it is picking up :s?) - I wonder does anyone know if there has been a change in 11g that may be causing this?
cheers
TimHi experts
I have been calling succesfully an SQL server 2005 stored procedure for the data model of a BI publisher report in 10g, passing it a customerNo parameter.
EXEC [dbo].[usp_WelcomeLettersConsumerNo]
@CustomerNo = :sCustomerNo
However it does not work in 11g I get the error:
[Hyperion][SQLServer JDBC Driver][SQLServer]Incorrect syntax near the keyword 'is'.
which is frustrating as there is no 'is' in the statement (perhaps it is picking up :s?) - I wonder does anyone know if there has been a change in 11g that may be causing this?
cheers
Tim -
Dear Oracle Experts,
I try to use the stored procedure below but get this error :
"Error(4,1): PLS-00428: an INTO clause is expected in this SELECT statement"
I don't have any clue what could be wrong with my syntax. INTO wouldn't make any sense at this task.
Does someone of you know what's wrong with my Procedure ?
Hope someone can help,
best regards,
Daniel Wetzler
create or replace PROCEDURE AnalysisCompatibility (DATEBEGIN timestamp, DATEEND timestamp)
AS
BEGIN
select Fs.*,Vs.Analysispriority,Vs.Compatibility Compatibility from SigFacts Fs
inner Join Variables Vs On
(Fs.Var_Ref=Vs.Var_Ref and Fs.Machines_Ref=Vs.Machines_Ref )
where Fs.DT between DATEBEGIN and DATEEND
and
Vs.AnalysisPriority > 0
or
VS.Compatibility in (6,7,8,9,10,11,13,21,22)
order by Fs.DT,Fs.Machines_Ref desc, Vs.AnalysisPriority;
END AnalysisCompatibility;I have created a table (ATREPORT.TEST) that has has got the same column name and type of the query output and i still get error message
PLS-00403 -- statement ATreport.TESt cannot be used as an into target, pls help
DECLARE start_date DATE := to_date('01/09/2006' , 'DD-MON-YYYY');
end_date DATE := to_date('30/09/2006' , 'DD-MON-YYYY');
BEGIN
SELECT t.SEC_SHORT_NAME, t.SEC_ISIN, t.SEC_NO,t.SEC_NAME, t.TRADE_DATE,
t.PAYMENT_DATE,t.COUNTERPARTY, t.PRICE , t.NOMINAL ,
t.TRANSACTION_NO,t.CURRENT_VALUE_PC, t.CURRENT_VALUE_SC, t.PAYMENT_AMOUNT_PC,
t.PAYMENT_AMOUNT_SC,
ct.AMOUNT , ct.CURRENCY,
sb.BUSINESS_CLASS_LEVEL_2 ,sb.BUSINESS_CLASS_LEVEL_2_NAME,
sb.BUSINESS_CLASS_LEVEL_3 ,sb.BUSINESS_CLASS_LEVEL_3_NAME,
sb.BUSINESS_CLASS_LEVEL_4 ,sb.BUSINESS_CLASS_LEVEL_4_NAME,
sb.BUSINESS_CLASS_LEVEL_5 ,sb.BUSINESS_CLASS_LEVEL_5_NAME
INTO ATREPORT.TEST
from scdat.A_TRANSACTIONS t
INNER JOIN scdat.A_COSTTAX ct
ON ct.TRANS_REF = t.TRANS_REF
INNER JOIN scdat.A_SECS_BUSINESS_CLASS_TS sb
ON sb.SEC_REF = t.SEC_REF
where t.TRADE_DATE >= to_char(start_date ,'DD-MON-YYYY')
and t.TRADE_DATE < to_char(end_date ,'DD-MON-YYYY')
and ct.COST_NAME = 'Broker commission'
and sb.BUSINESS_CLASS_DEFINITION = 'FTSE';
END;
Maybe you are looking for
-
Questions questions on how to back out of duplicates not on Iphoto,
I have had my macbook pro 3 yrs and keep it updated. I was mistrustful of Iphoto as it did not seem easy to organize photos the way I wanted so I have loaded all my photos to a file in my document folder. Now I have what I am being told is nearly 15,
-
Using multiple new iPods to old iTunes
Hello, I've recently been relieved of my trusty old iPod I'm am therefore planning on buying a new one (or two) and would like to ask: 1. If I buy an iPod Shuffle, will it work with my existing iTunes which has about 15GB of music in it? 2. What will
-
Problem is simple. I recieved video message and i cant see it. It`s just loading forever. Tried on PC, Android, second PC... Nothing. Tried everything that i found here, nothing. Even installed DB browser to save video but it doesn`t have link. I wo
-
ITunes deleted all playlists and purchases
Help! The other day I closed my iTunes program and it was working perfectly. I came back a few minutes later and re-opened it, only to find that all my playlists, purchases, everything had been deleted! All that is left is a library of songs about 3
-
HELP out of ideas