Oracle Packages/Stored Proc and VB
Hello,
I have a new assignment that I have to start at the client site ASAP. The client wants all the Sql in Oracle Stored Procs/Packages and VB being the front end. I am used to embedding my sql statements in my VB apps and connecting through ADO's but the client does not want embedded sql statements. My question is this, when I make a connection, in accessing the cursor, do I have to loop through the cursor and store the data in an ADO recordset or do I have to connect to the cursor and manipulate the data directly? Please give example.
The DB is Oracle 9i
Thanks
You are doing the right thing, there are examples of how to process result sets from stored procedures, including ASP/ADO at Asktom here
Similar Messages
-
Java Stored Proc and Oracle 8.0.6.20?
Hi,
I have a customer using Oracle 8.0.6 (on multi-platforms). We'll need to implement a pl/sql which needs to execute an external script.
My understanding is there are only 2 ways to achieve this: (a) use Java stored procedure, (b) use C/C++ library
Question 1: Is Java Stored Proc available in 8.0.6?
Question 2: Is there anywhere I can download Oracle 8.0.6 (Windows, or Tru64, Linux)?
- Willjava in the database was introduced from Oracle8i onwards. this version of Oracle does not support java virtual machine in the database.
You would need to use C/C++ external procedures. -
Hi All,
Fairly new at this, and a little confused with dates and date formats.
I run the following:
alter session set nls_date_format = 'dd/mm/yyyy'
If I select sysdate from dual:
02/11/2008 --> so this is correct.
Now what I can't figure out is why I get different results if I use an sql statement VS a stored proc.
If I run this sql update statement:
UPDATE MAPPER.CONV_CNSTNTS
SET CN_VALUE = TO_DATE('12/05/2007','MM/DD/YYYY')
WHERE CN_TYPE = 'CONV'
AND CN_REFRNCE = 'CONVDATE';
When I select this data it shows: 12/05/2007
This works perfect.
Now if I take the exact same statement and put it in a stored proc i get a different result:
create or replace procedure proc_test_date as
begin
UPDATE MAPPER.CONV_CNSTNTS
SET CN_VALUE = TO_DATE('12/05/2007','MM/DD/YYYY')
WHERE CN_TYPE = 'CONV'
AND CN_REFRNCE = 'CONVDATE';
COMMIT;
end;
When I select this data it shows: 05-DEC-07
Why is there a difference here? Is there a difference in the NLS settings that are used when you run an sql statement vs a stored proc?
Thanks for your help in advance.Thank you for the quick response.
Glad I am on the right track ... NLS settings are painful :)
So I ran: alter session set nls_date_format = 'Month DD, YYYY';
Ran my proc and then the select.
Still the date shows up as: 05-DEC-07
I looked at the nls_parameters
select * from v$nls_parameters
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT Month DD, YYYY
NLS_DATE_LANGUAGE ENGLISH
I am using Oracle SQL Developer. I made sure these were set as well:
Tool >> Preferences >> Database >> NLS Parameters
Date Format --> MM/DD/YYYY
Seems that I am missing something ... -
I'm doing a select on the ALL_ARGUMENTS like:
SELECT count(*) FROM all_arguments WHERE owner LIKE 'MySchema' ESCAPE '/' AND object_name LIKE 'MyStoredProc' ESCAPE '/' AND package_name LIKE 'MyPackage' ESCAPE '/';
Sometimes, after connecting to the DB after a certain period of time, I get a result = 0, althought the Stored Procedure is there. Immediatelly after that I retry, and I get result = 2.
Why is that? Does the SELECT recompile the stored proc?I'm surprised that you get anything if you use that query.
Oracle considers object names to be uppercase unless the name is enclosed in double quotes. So there would be no schemas with a name 'MySchema' since the name would actually be 'MYSCHEMA'. -
How to hide stored proc and tables schema
hi,(sqlserver 2005 and sqlserer 2008 r2 express)
I have to give my database to some body he has his own server, i do not want him to see my stored porcs code and/or name , and tables schema.
I have used encryption to that,
but i think , there is some code available on internet , which can be used to get the code from stored procs,
please tel me how i can i accomplish the task.
yours sincerelyHowever, this works perfectly if the user is the owner of the database. Look
that …
• Create a new SQL login "login1"
• Create a user named “login1” in master database
• Grant CREATE DATABASE to login1
• While impersonating login1, create a database called “dbteste”
• Revoke CREATE DATABASE permission from login1
• Revoke VIEW ANY DATABASE permission from PUBLIC
• Register this server as login1
• From the “login1” session, expand database tree. Now, you should see
master, tempdb, dbteste
• Grant VIEW ANY DATABASE to PUBLIC
• From the “login1” session, you should see all the databases
Best Regards,Uri Dimant SQL Server MVP,
http://sqlblog.com/blogs/uri_dimant/
MS SQL optimization: MS SQL Development and Optimization
MS SQL Consulting:
Large scale of database and data cleansing
Remote DBA Services:
Improves MS SQL Database Performance
SQL Server Integration Services:
Business Intelligence -
MySQL 5.1 Stored Procs and Views not showing, only tables.
Hi,
I'm having problems getting stored procedures and views to show up in the Data Source Explorer of CR4E 2.0.
I've checked the properties of the connection and the Default Stored Procedure Filter is disabled, so things should show Tables are showing. The user within MySQL that I am using to connect also has rights to view sps and views.
My question is, has any one got views or sps to show within the Data Source Explorer using MySQL 5.1? Am I missing a trick here? Do I need to add anything to the url string of the mysql jdbc driver for the sps and view schemas to show.
Many thanks,
NickHi,
As a work around you can use the CR2008 to design your reports based on stored procedures and then import the reports in Crystal Report For Eclipse IDE. You will be able to view the fields/Data coming from the Stored Procedures.
Thanks,
Neeraj -
Java Stored Proc. and Linux User
Hi
When Oracle run some Java class inside Oracle9i DB what Linux user it use to run them? Is it user named oracle?If the Java class only runs inside Oracle, it will run with whatever Oracle permissions the caller has. If the Java class interacts with the system outside of Oracle (i.e. reading and writing files), it will run as whatever user Oracle runs as (i.e. generally oracle).
Justin
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC -
Oracle Packaged Stored Procedure
I am failing in an attempt to access an Oracle database using the following php.
The calls I have tested are as follows:-
$query = "begin spPackage.spMemberDetails(:p_number,:cv_memberdetails); end;";
$stmt = OCIParse($conn, $query )
or die('Cannot parse query');
OCIBindByName($stmt,":p_number",$number, -1)
or die('First cannot bind variable');
OCIBindByName($stmt, ":cv_memberdetails", &$array, -1)
or die('Second cannot bind variable');
OR
$query = "begin spPackage.spMemberDetails(:p_number); end;";
$stmt = OCIParse($conn, $query )
or die('Cannot parse query');
OCIBindByName($stmt,":p_number",$number, -1)
or die('First cannot bind variable');
I get the following error message:-
ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'SPMEMBERDETAILS' ORA-06550: line 1, column 7: PL/SQL: Statement ignored
begin spPackage.spMemberDetails(:p_number); end;
^
The 1st part of the stored procedure I am trying to use is as follows:-
CREATE OR REPLACE PACKAGE "BIG"."SPPACKAGE" AS
type memberdetail_type is record (
r_mem_number members.mem_number%type,
r_mem_sname members.mem_sname%type,
r_mem_fname members.mem_fname%type,
r_mem_title members.mem_title%type);
type memberdetail_cur_type is ref cursor return memberdetail_type;
PROCEDURE spMemberDetails(
p_number cards.card_number%type, --varchar2
cv_memberdetails out memberdetail_cur_type);
Please tell me what I am not understanding and where I have gone wrong.
BTW I did not write the stored procedure.
Message was edited by:
user446320See Re: Calling stored procedure from php script.
-- CJ -
Calling Oracle 10g Stored Proc with Assoc Array from C# VS 2008
I have the following PL/SQL procedure:
CREATE OR REPLACE PROCEDURE HMA_ADM.PRC_VDM_SAVDEL_VEN_DOC
P_OP IN VARCHAR2,
P_USRID IN TB_VDM_MANAGE_DOCUMENTS.CREATEDBY%TYPE,
P_DATE IN VARCHAR2, -- HAS TO BE STRING, ELSE WE GET AN ERROR
P_DOCNAM IN TB_VDM_MANAGE_DOCUMENTS.DOCUMENT_NAME%TYPE,
P_DOCLNK IN TB_VDM_MANAGE_DOCUMENTS.DOCUMENTLINK%TYPE,
P_FNGUID IN TB_VDM_MANAGE_DOCUMENTS.FILENET_GUID%TYPE,
P_DESC IN TB_VDM_MANAGE_DOCUMENTS.DESCRIPTION%TYPE,
P_REQID IN VARR
) IS
Where VARR is:
CREATE OR REPLACE TYPE VARR IS TABLE OF INTEGER;
In C# I have the following code:
int64[] intReqID;
OracleCommand cmdVDL = new OracleCommand(DBQueries.SPQRY_SAVDELVENDOC, connDB);
cmdVDL.CommandType = CommandType.StoredProcedure;
cmdVDL.Parameters.Add(new OracleParameter("P_OP", strOP));
cmdVDL.Parameters.Add(new OracleParameter("P_CREATEBY", strUID));
cmdVDL.Parameters.Add(new OracleParameter("P_CREATEDATE", strDate));
cmdVDL.Parameters.Add(new OracleParameter("P_DOCNAM", strDocNam));
cmdVDL.Parameters.Add(new OracleParameter("P_DOCLNK", strURL));
cmdVDL.Parameters.Add(new OracleParameter("P_FNGUID", strGUID));
cmdVDL.Parameters.Add(new OracleParameter("P_DESC", strDesc));
cmdVDL.Parameters.Add(new OracleParameter("P_REQID", OracleDbType.Int64) {
CollectionType = OracleCollectionType.PLSQLAssociativeArray,
Size = intReqID.Count(),
Value = intReqID,
DbType = DbType.Int64,
OracleDbType = OracleDbType.Int64
OracleParameterStatus[] stat = new OracleParameterStatus[intReqID.Count()];
for (i = 0; i < intReqID.Count(); i++) {
stat[i] = OracleParameterStatus.Success;
cmdVDL.Parameters["P_REQID"].ArrayBindStatus = stat;
cmdVDL.ExecuteNonQuery();
When I run this I get the following error:
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'PRC_VDM_SAVDEL_VEN_DOC'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
If I remove the Associative Array from both, the procedure runs fine.
What am I doing wrong?Additionally,
1) UDT support requires 11106.20 or higher ODP (but can be used against 10g db)
2) if the plsql is changeable, you may want to swap it to associative array instead to avoid having to create custom classes for the UDT, and here's a short sweet example.
Greg
CREATE or replace PACKAGE MYPACK3 AS
TYPE numarray is table of number index by BINARY_INTEGER;
PROCEDURE getempsinarray(thearray IN numarray, numrecs out number);
END MYPACK3;
CREATE or replace PACKAGE BODY MYPACK3 AS
PROCEDURE getempsinarray(thearray IN numarray, numrecs out number)
IS
begin
numrecs := thearray.count;
END getempsinarray;
END MYPACK3;
using System;
using System.Data;
using Oracle.DataAccess.Client;
public class indexby
public static void Main()
OracleConnection con = new OracleConnection("data source=orcl;user id=scott;password=tiger;");
con.Open();
OracleCommand cmd = new OracleCommand("mypack3.getempsinarray", con);
cmd.CommandType = CommandType.StoredProcedure;
OracleParameter Param1 = cmd.Parameters.Add("param1", OracleDbType.Int32);
Param1.Direction = ParameterDirection.Input;
Param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
Param1.Value = new int[3]{7369,7499, 7521};
Param1.Size = 3;
OracleParameter Param2 = cmd.Parameters.Add("param2", OracleDbType.Int32, DBNull.Value, ParameterDirection.Output );
cmd.ExecuteNonQuery();
Console.WriteLine("{0} records passed in",Param2.Value);
con.Close();
} -
Example of asp classic using msdaora calling oracle 10g stored proc?
i just migrated a sql server application to oracle using sql developer workbench. i am having immediate problems of course...
this example asp code and oracle procedure first complains of wrong number and type of arguments. if i have similar code that i just remove the return parameter then it works but anything that i need an inpurt parameter for doesn't work.
any assistance most appreciated!
set sp_portfolio = Server.CreateObject("ADODB.Command")
sp_portfolio.ActiveConnection = MM_MHR_CONN_STR_STRING
sp_portfolio.CommandType = 4
sp_portfolio.CommandTimeout = 0
sp_portfolio.Prepared = true
sp_portfolio.CommandText = "PMS.Sp_HPMSQ003_Get_Portfolio"
sp_portfolio.Parameters.Append sp_portfolio.CreateParameter("IP_PMSPF_ID", 200, 1,10,sp_portfolio__P_PMSPF_ID)
sp_portfolio.Parameters.Append sp_portfolio.CreateParameter("rs", 200, 2, 10000)
set rst_Portfolio = sp_portfolio.Execute
CREATE OR REPLACE PROCEDURE "SP_HPMSQ005_GET_PROJECTS"
v_P_PMSPF_ID IN NUMBER DEFAULT NULL ,
v_P_START_DT IN varchar2 DEFAULT NULL ,
cv_1 IN OUT SYS_REFCURSOR
AS
BEGIN
OPEN cv_1 FOR
select P.*, TO_CHAR(PMSPT_PLND_REL_DT, 'YYYY') || ' ' || TO_CHAR(PMSPT_PLND_REL_DT, 'MM') Combodate,
TO_CHAR(PMSPT_PLND_REL_DT, 'MM') RelMnth, TO_CHAR(PMSPT_PLND_REL_DT, 'YYYY') RelYear,
S.PMSPS_IMGPTH_TXT, S.PMSPS_DESC_TXT
From TPMSPT_PROJECT P, TPMSPP_PORTFOLIO_PROJECT F, TPMSPS_PROJECT_STATUS S
Where F.PMSPF_ID = v_P_PMSPF_ID
and P.PMSPT_ID = F.PMSPT_ID
and S.PMSPS_CD = P.PMSPS_CD
and P.PMSPT_PLND_REL_DT >= TO_DATE(ltrim(rtrim(v_P_START_DT)), 'yyyy.mm.dd')
Order by P.PMSPT_PLND_REL_DT, UPPER(P.PMSPT_SNAM_TXT);
END;Hi,
If all the data and tables involved have been successfully migrated into Oralce then your best option will be to try one of the forums that can help with ASP or MSDAORA. They will be in a better postion to help with problems using these products and diagnosing the cause.
If it then turns out it was caused by a SQL*Developer migration problem then we can investigate that further.
Regards,
Mike -
Error in calling Oracle AMG stored proc
Oracle FIn version - 11.2.0
Oracle client version - 9.2.0
Hi,
I’m trying to do an Oracle AMG call setGlobalInfo from VBScript. This call fails with the following error message. Please let me know how I could fix this.
SetGlobalInfo: Return MsgData = FND FND_AS_UNEXPECTED_ERROR N PKG_NAME PA_INTERFACE_UTILS_PUB N PROCEDURE_NAME Set_Global_Info N ERROR_TEXT ORA-20001: Oracle error -20001: ORA-20001: Error occurred during product initialization for MO when executing 'begin MO_GLOBAL.INIT; end;'.
SQLCODE = -20001
SQLERROR = ORA-20001: SQL_PLSQL_ERROR: N, ROUTINE, MO_GLOBAL.INIT, N, ERRNO, -2000
SetGlobalInfo: Return MsgCount = 1
SetGlobalInfo: Return Status = U
Thanks in advance,
RajuOracle FIn version - 11.2.0
Oracle client version - 9.2.0
Hi,
I’m trying to do an Oracle AMG call setGlobalInfo from VBScript. This call fails with the following error message. Please let me know how I could fix this.
SetGlobalInfo: Return MsgData = FND FND_AS_UNEXPECTED_ERROR N PKG_NAME PA_INTERFACE_UTILS_PUB N PROCEDURE_NAME Set_Global_Info N ERROR_TEXT ORA-20001: Oracle error -20001: ORA-20001: Error occurred during product initialization for MO when executing 'begin MO_GLOBAL.INIT; end;'.
SQLCODE = -20001
SQLERROR = ORA-20001: SQL_PLSQL_ERROR: N, ROUTINE, MO_GLOBAL.INIT, N, ERRNO, -2000
SetGlobalInfo: Return MsgCount = 1
SetGlobalInfo: Return Status = U
Thanks in advance,
Raju -
Calling an EJB deployed in OC4J from Java Stored Proc in Oracle
Hello!
Trying to make a call to an EJB deployed in OCJ4 from a oracle java stored proc. After loaded orion.jar and crimson.jar lib into SCOTT schema, I can't get the JNDI Context working because of this error:
============================================
javax.naming.NoInitialContextException: Cannot instantiate class:
com.evermind.server.ApplicationClientInitialContextFactory. Root exception is
java.lang.ClassNotFoundException:
com/evermind/server/ApplicationClientInitialContextFactory
at java.lang.Class.forName0(Class.java)
at java.lang.Class.forName(Class.java)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:45)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java)
at javax.naming.InitialContext.init(InitialContext.java)
at javax.naming.InitialContext.<init>(InitialContext.java)
===============================
I did load the java with "loadjava" with on time with the "resolve" option and time time no option and still no working.
Here is the EJB client code:
=======================================
import java.sql.*;
import java.util.*;
import javax.naming.*;
import com.evermind.server.ApplicationClientInitialContextFactory;
class EmpRemoteCall {
public static void main(String[] args) {
System.out.println(getEmpName());
public static String getEmpName() {
String ejbUrl = "java:comp/env/ejb/Emp";
String username = "admin";
String password = "admin";
Hashtable environment = new Hashtable();
environment.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.ApplicationClientInitialContextFactory");
environment.put(Context.PROVIDER_URL, "ormi://127.0.0.1/testemp");
environment.put(Context.SECURITY_PRINCIPAL, username);
environment.put(Context.SECURITY_CREDENTIALS, password);
//environment.put(Context.SECURITY_AUTHENTICATION, ServiceCtx.NON_SSL_LOGIN);
//environment.put(javax.naming.Context.URL_PKG_PREFIXES, "oracle.aurora.jndi");
com.kboum.sertir.essais.EmpHome homeInterface = null;
try {
Class.forName("com.evermind.server.ApplicationClientInitialContextFactory", true, ClassLoader.getSystemClassLoader());
System.out.println("Creating an initial context");
Context ic = new InitialContext(environment);
System.out.println("Looking for the EJB published as 'java:comp/env/ejb/Emp'");
homeInterface = (com.kboum.sertir.essais.EmpHome) ic.lookup(ejbUrl);
catch (CommunicationException e) {
System.out.println("Unable to connect: " + ejbUrl);
e.printStackTrace();
//System.exit(1);
catch (NamingException e) {
System.out.println("Exception occurred!");
System.out.println("Cause: This may be an unknown URL, or some" +
" classes required by the EJB are missing from your classpath.");
System.out.println("Suggestion: Check the components of the URL," +
" and make sure your project includes a library containing the" +
" EJB .jar files generated by the deployment utility.");
e.printStackTrace();
//System.exit(1);
catch (ClassNotFoundException e) {
System.out.println("Unable to connect: " + ejbUrl);
e.printStackTrace();
//System.exit(1);
try {
System.out.println("Creating a new EJB instance");
com.kboum.sertir.essais.Emp remoteInterface = homeInterface.findByPrimaryKey(Integer.valueOf("7369"));
System.out.println(remoteInterface.getENAME());
System.out.println(remoteInterface.getSAL());
remoteInterface.setSAL(2);
System.out.println(remoteInterface.getSAL());
return remoteInterface.getENAME();
catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
return "error";
nullWhat I did to solve this problem was to
create a simple RMI remote object that
resides outside the database JVM and that
serves as a proxy EJB client for your java
stored procedure. The stored procedure can
invoke a method on the remote RMI object
which then looks up the EJBean's home
interface and invokes the relevant method on
the bean's remote interface, and relays any
return values back to the java stored
procedure.
Hope this helps,
Avi.
null -
Stored Proc output being truncated with latest ojdbc14 and classes12.jar
Hello,
I downloaded the latest ojdbc14.jar from Oracle website and used it with my Java program. I noticed a peculiar behavior. If my stored proc is returning a VARCHAR with large number of characters, the output is being truncated. This worked fine with the older ojdbc14.jar (and the older classes12.jar). It does not work properly with the new ojdbc14 and classes12.jar. Is there something that I am missing here?
My Oracle Server version is - Oracle Database 10g Enterprise Edition Release 10.2.0.1.0.
Below is the sample stored proc and the Java file to execute the same.
Am I missing something here?
CREATE OR REPLACE PROCEDURE TestOracleDriver (returnVal OUT VARCHAR2) IS
BEGIN
returnVal := '';
FOR tmpVar in 1..2000
Loop
returnVal := returnVal || to_char(tmpVar) || ',';
END LOOP;
END;
import java.sql.*;
import java.util.*;
import java.util.Hashtable;
import oracle.jdbc.driver.OracleTypes;
public class OracleDriverTest
public static void main(String argv[]) throws Exception
Connection c = null;
try
Driver dr = new oracle.jdbc.OracleDriver();
Properties props = new Properties();
props.put("user", "scott");
props.put("password", "tiger");
c = dr.connect("jdbc:oracle:thin:@SERVER_NAME:PORT:SID", props);
System.out.println("GOT A PLAIN CON" );
System.out.println("The driver is " + c.getMetaData().getDriverVersion() );
System.out.println("The DBMS is " + c.getMetaData().getDatabaseProductVersion() );
execute(c);
catch (Exception e)
e.printStackTrace();
finally { try {c.close();} catch (Exception ign){} }
private static String execute(Connection connection )
String procName = "TestOracleDriver";
CallableStatement cstmt=null;
ResultSet rs = null;
String returnedData = null;
try
cstmt = connection.prepareCall("{call " + procName+" (?)}");
cstmt.registerOutParameter(1,OracleTypes.VARCHAR);
cstmt.execute();
returnedData = cstmt.getString(1);
System.out.println("ProcTest ::execute --> Returned data is \n"+ returnedData);
return returnedData;
catch (Exception e) {
System.out.println("ProcTest ::execute -->Error while executing "+procName);
e.printStackTrace();
return null;
finally
try
connection.close();
catch (Exception e1)
System.out.println("ProcTest ::execute -->Error while closing connection ");
e1.printStackTrace();
}//end of catch
}//end of finally
}//End of execute method
Regards,
Hari
Message was edited by:
user553601
Message was edited by:
user553601Hari,
If you think it is a bug, you can report it to Oracle Support via the MetaLink Web site.
Good Luck,
Avi. -
ORA-03113 with pool and stored proc
We are experiencing a strange error when calling a stored procedure using a
connection pool (WLS 5.1 SP10, Oracle 8). Everything works fine until the
stored procedure raises a user-defined exception. When the connection is
used again, we get the 03113 error. It appears that the connection is OK
due to the testConnsOnReserve not returning an error, but on the next stored
procedure call, the error happens. The database guys have no answers. Does
anyone have a clue?
Here is an ouput log showing what happens (this was done with a pool with
only one connection):
Got the exception for no BPI Record
getConnection returning
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
Executing: begin pkg_BPI.p_getBPITrckIdForDataTblPk(:1, :2, :3, :4, :5, :6,
:7, :8); end;
SQLException: SQLState() vendor code(20003)
java.sql.SQLException: ORA-20003: Error at step- Select..,procedure
p_getBPITrckIdForDataTblPk No BPI Record Found...
ORA-01403: no data found
ORA-06512: at "CIFPROC.PKG_UTIL", line 381
ORA-06512: at "CIFPROC.PKG_BPI", line 901
ORA-06512: at line 1
at weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:230)
at weblogic.jdbcbase.oci.Statement.executeUpdate(Statement.java,
Compiled Code)
at weblogic.jdbcbase.oci.Statement.execute(Statement.java, Compiled
Code)
at
weblogic.jdbc.pool.PreparedStatement.execute(PreparedStatement.java,
Compiled Code)
at com.juniper.core.comm.JDBCProcHelper.execute(JDBCProcHelper.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.loadByKey(BusinessProcess.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.findProcessByKey(BusinessProcess.j
ava, Compiled Code)
at
com.juniper.core.tracking.test.TestBusinessProcess.doGet(TestBusinessProcess
.java, Compiled Code)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
Code)
Release test worked!
Parsing: select count(*) from dual
Executing: select count(*) from dual
Obtain the connection again
DriverManager.getConnection("jdbc:weblogic:pool:CifPool")
trying
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
Reserve test worked!
Parsing: select count(*) from dual
Executing: select count(*) from dual
getConnection returning
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
Calling stored proc and get comm error
Executing: begin pkg_BPI.p_getBPITrckIdForDataTblPk(:1, :2, :3, :4, :5, :6,
:7, :8); end;
SQLException: SQLState() vendor code(3113)
java.sql.SQLException: ORA-03113: end-of-file on communication channel
at weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:230)
at weblogic.jdbcbase.oci.Statement.executeUpdate(Statement.java,
Compiled Code)
at weblogic.jdbcbase.oci.Statement.execute(Statement.java, Compiled
Code)
at
weblogic.jdbc.pool.PreparedStatement.execute(PreparedStatement.java,
Compiled Code)
at com.juniper.core.comm.JDBCProcHelper.execute(JDBCProcHelper.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.loadByKey(BusinessProcess.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.findProcessByKey(BusinessProcess.j
ava, Compiled Code)
at
com.juniper.core.tracking.test.TestBusinessProcess.doGet(TestBusinessProcess
.java, Compiled Code)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
Code)
Release test fails!
Parsing: select count(*) from dual
SQLException: SQLState() vendor code(3114)
java.sql.SQLException: ORA-03114: not connected to ORACLE
at weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:230)
at weblogic.jdbcbase.oci.Statement.execute(Statement.java, Compiled
Code)
at
weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java,
Compiled Code)
at
weblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java,
Compiled Code)
at
weblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java,
Compiled Code)
at
weblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.java,
Compiled Code)
at weblogic.jdbcbase.pool.Connection.close(Connection.java, Compiled
Code)
at
com.juniper.core.comm.JDBCProcHelper.closeConnection(JDBCProcHelper.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.closeConnection(BusinessProcess.ja
va, Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.loadByKey(BusinessProcess.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.findProcessByKey(BusinessProcess.j
ava, Compiled Code)
at
com.juniper.core.tracking.test.TestBusinessProcess.doGet(TestBusinessProcess
.java, Compiled Code)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
Code)
Regenerating connection
DriverManager.getDriver("jdbc20:weblogic:oracle:DCIF")
trying
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
trying
driver[className=weblogic.jdbc20.oci.Driver,weblogic.jdbc20.oci.Driver@d63d1
fcf]
getDriver returning
driver[className=weblogic.jdbc20.oci.Driver,weblogic.jdbc20.oci.Driver@d63d1
fcf]
weblogic.jdbcbase.oci.Driver checking: jdbc20:weblogic:oracle:DCIF
Connecting to database using: bmgr/********@DCIF at 0
SQLException: SQLState() vendor code(1012)
java.sql.SQLException: ORA-01012: not logged on - (bmgr/********@DCIF)
at
weblogic.db.oci.OciConnection.getLDAException(OciConnection.java:143)
at weblogic.jdbcbase.oci.Driver.connect(Driver.java:157)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Connection
EnvFactory.java:153)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.refreshResource(Connectio
nEnvFactory.java:207)
at
weblogic.jdbc.common.internal.ConnectionEnv.refresh(ConnectionEnv.java:677)
at
weblogic.common.internal.ResourceAllocator.resetThisOne(ResourceAllocator.ja
va, Compiled Code)
at
weblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java,
Compiled Code)
at
weblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java,
Compiled Code)
at
weblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.java,
Compiled Code)
at weblogic.jdbcbase.pool.Connection.close(Connection.java, Compiled
Code)
at
com.juniper.core.comm.JDBCProcHelper.closeConnection(JDBCProcHelper.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.closeConnection(BusinessProcess.ja
va, Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.loadByKey(BusinessProcess.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.findProcessByKey(BusinessProcess.j
ava, Compiled Code)
at
com.juniper.core.tracking.test.TestBusinessProcess.doGet(TestBusinessProcess
.java, Compiled Code)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
Code)
weblogic.jdbcbase.oci.Driver checking: jdbc20:weblogic:oracle:DCIF
Connecting to database using: bmgr/********@DCIF at 0
Connected to database at: 160
Parsing: select length(SYSDATE) from dual
Executing: select length(SYSDATE) from dual
Parsing: select VALUE from V$NLS_PARAMETERS where
PARAMETER='NLS_NUMERIC_CHARACTERS'
Executing: select VALUE from V$NLS_PARAMETERS where
PARAMETER='NLS_NUMERIC_CHARACTERS'
Done logging in at: 170
Connection: using OCI API: OCI8
Done with connection regen
DriverManager.getConnection("jdbc:weblogic:pool:CifPool")
trying
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
Parsing: select count(*) from dual
Executing: select count(*) from dual
getConnection returning
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
Parsing: begin pkg_BPI.p_getBPITrckIdForDataTblPk(:1, :2, :3, :4, :5, :6,
:7, :8); end;
Executing: begin pkg_BPI.p_getBPITrckIdForDataTblPk(:1, :2, :3, :4, :5, :6,
:7, :8); end;
Parsing: select count(*) from dual
Executing: select count(*) from dual
DriverManager.getConnection("jdbc:weblogic:pool:CifPool")
trying
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
Parsing: select count(*) from dual
Executing: select count(*) from dual
getConnection returning
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
Parsing: begin pkg_BPI.p_getBPIStates(:1, :2); end;
Executing: begin pkg_BPI.p_getBPIStates(:1, :2); end;
Parsing: select count(*) from dual
Executing: select count(*) from dual
DriverManager.getConnection("jdbc:weblogic:pool:CifPool")
trying
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
Parsing: select count(*) from dualWell, this seems to do the trick. We'll keep testing, but the errors have
now disappeared for all instances of this problem.
Thanks for the help!
JDB
"John Bauer" <[email protected]> wrote in message
news:[email protected]...
We'll try this, but it seems to be connection-oriented. If we have a pool
of 5 connections, and an exception happens, only that connection seems tobe
affected. The other connections in the pool work fine, and the proc works
for those connections.
"Joseph Weinstein" <[email protected]> wrote in message
news:[email protected]...
Hi.
The issue is likely related to our caching of PreparedStatements
for performance. If some DBMS failure occurs which could invalidate
a PreparedStatement/cursor such that it could never be re-used,
even after clearParameters) are called etc, then this case might
occur. Please take the attached jar file, and add it to the
weblogic.classpath ahead of the standard weblogic stuff, by
editing your startWebLogic script. This will turn off caching, and
should make the problem go away. Let me know...
Joe
John Bauer wrote:
Here is our configuration.
weblogic.jdbc.connectionPool.CifPool=\
url=jdbc20:weblogic:oracle:QCIF,\
driver=weblogic.jdbc20.oci.Driver,\
loginDelaySecs=1,\
initialCapacity=5,\
maxCapacity=20,\
capacityIncrement=2,\
allowShrinking=true,\
shrinkPeriodMins=30,\
testTable=dual,\
testConnsOnRelease=true,\
props=user=BMGR;password=djr0t$
We are using OCI 8.1.6
"Maria Salzberger" <[email protected]> wrote in message
news:[email protected]...
Hi John,
I have researched about this - but could not find a known issue
which
may
be
related to this.
Which JDBC driver are you using?
Kind Regards
Maria Salzberger
Developer Relations Engineer
BEA Customer Support
John Bauer schrieb in Nachricht <[email protected]>...
We are experiencing a strange error when calling a stored procedure
using
a
connection pool (WLS 5.1 SP10, Oracle 8). Everything works fine
until
the
stored procedure raises a user-defined exception. When the
connection is
used again, we get the 03113 error. It appears that the connectionis OK
due to the testConnsOnReserve not returning an error, but on the
next
stored
procedure call, the error happens. The database guys have no
answers.
Does
anyone have a clue?
Here is an ouput log showing what happens (this was done with a
pool
with
only one connection):
Got the exception for no BPI Record
getConnection returningdriver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
Executing: begin pkg_BPI.p_getBPITrckIdForDataTblPk(:1, :2, :3, :4,
:5,
:6,
:7, :8); end;
SQLException: SQLState() vendor code(20003)
java.sql.SQLException: ORA-20003: Error at step- Select..,procedure
p_getBPITrckIdForDataTblPk No BPI Record Found...
ORA-01403: no data found
ORA-06512: at "CIFPROC.PKG_UTIL", line 381
ORA-06512: at "CIFPROC.PKG_BPI", line 901
ORA-06512: at line 1
at
weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:230)
atweblogic.jdbcbase.oci.Statement.executeUpdate(Statement.java,
Compiled Code)
at weblogic.jdbcbase.oci.Statement.execute(Statement.java,Compiled
Code)
at
weblogic.jdbc.pool.PreparedStatement.execute(PreparedStatement.java,
Compiled Code)
atcom.juniper.core.comm.JDBCProcHelper.execute(JDBCProcHelper.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.loadByKey(BusinessProcess.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.findProcessByKey(BusinessProcess.
j
ava, Compiled Code)
at
com.juniper.core.tracking.test.TestBusinessProcess.doGet(TestBusinessProces
s
.java, Compiled Code)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:865)
atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.jav
a
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextIm
p
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextIm
p
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContex
t
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
atweblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java,Compiled
Code)
Release test worked!
Parsing: select count(*) from dual
Executing: select count(*) from dual
Obtain the connection again
DriverManager.getConnection("jdbc:weblogic:pool:CifPool")
tryingdriver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
Reserve test worked!
Parsing: select count(*) from dual
Executing: select count(*) from dual
getConnection returning
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
Calling stored proc and get comm error
Executing: begin pkg_BPI.p_getBPITrckIdForDataTblPk(:1, :2, :3, :4,
:5,
:6,
:7, :8); end;
SQLException: SQLState() vendor code(3113)
java.sql.SQLException: ORA-03113: end-of-file on communication
channel
atweblogic.db.oci.OciCursor.getCDAException(OciCursor.java:230)
atweblogic.jdbcbase.oci.Statement.executeUpdate(Statement.java,
Compiled Code)
at weblogic.jdbcbase.oci.Statement.execute(Statement.java,Compiled
Code)
at
weblogic.jdbc.pool.PreparedStatement.execute(PreparedStatement.java,
Compiled Code)
atcom.juniper.core.comm.JDBCProcHelper.execute(JDBCProcHelper.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.loadByKey(BusinessProcess.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.findProcessByKey(BusinessProcess.
j
ava, Compiled Code)
at
com.juniper.core.tracking.test.TestBusinessProcess.doGet(TestBusinessProces
s
.java, Compiled Code)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:865)
atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.jav
a
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextIm
p
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextIm
p
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContex
t
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
atweblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java,Compiled
Code)
Release test fails!
Parsing: select count(*) from dual
SQLException: SQLState() vendor code(3114)
java.sql.SQLException: ORA-03114: not connected to ORACLE
atweblogic.db.oci.OciCursor.getCDAException(OciCursor.java:230)
at weblogic.jdbcbase.oci.Statement.execute(Statement.java,Compiled
Code)
at
weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java,
Compiled Code)
atweblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java,
Compiled Code)
atweblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java,
Compiled Code)
atweblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.java,
Compiled Code)
at weblogic.jdbcbase.pool.Connection.close(Connection.java,Compiled
Code)
at
com.juniper.core.comm.JDBCProcHelper.closeConnection(JDBCProcHelper.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.closeConnection(BusinessProcess.j
a
va, Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.loadByKey(BusinessProcess.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.findProcessByKey(BusinessProcess.
j
ava, Compiled Code)
at
com.juniper.core.tracking.test.TestBusinessProcess.doGet(TestBusinessProces
s
.java, Compiled Code)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:865)
atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.jav
a
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextIm
p
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextIm
p
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContex
t
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
atweblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java,Compiled
Code)
Regenerating connection
DriverManager.getDriver("jdbc20:weblogic:oracle:DCIF")
tryingdriver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
trying
driver[className=weblogic.jdbc20.oci.Driver,weblogic.jdbc20.oci.Driver@d63d
1
fcf]
getDriver returning
driver[className=weblogic.jdbc20.oci.Driver,weblogic.jdbc20.oci.Driver@d63d
1
fcf]
weblogic.jdbcbase.oci.Driver checking: jdbc20:weblogic:oracle:DCIF
Connecting to database using: bmgr/********@DCIF at 0
SQLException: SQLState() vendor code(1012)
java.sql.SQLException: ORA-01012: not logged on -
(bmgr/********@DCIF)
atweblogic.db.oci.OciConnection.getLDAException(OciConnection.java:143)
at weblogic.jdbcbase.oci.Driver.connect(Driver.java:157)
atweblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Connectio
n
EnvFactory.java:153)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.refreshResource(Connecti
o
nEnvFactory.java:207)
at
weblogic.jdbc.common.internal.ConnectionEnv.refresh(ConnectionEnv.java:677)
atweblogic.common.internal.ResourceAllocator.resetThisOne(ResourceAllocator.j
a
va, Compiled Code)
at
weblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java,
Compiled Code)
atweblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java,
Compiled Code)
atweblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.java,
Compiled Code)
at weblogic.jdbcbase.pool.Connection.close(Connection.java,Compiled
Code)
at
com.juniper.core.comm.JDBCProcHelper.closeConnection(JDBCProcHelper.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.closeConnection(BusinessProcess.j
a
va, Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.loadByKey(BusinessProcess.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.findProcessByKey(BusinessProcess.
j
ava, Compiled Code)
at
com.juniper.core.tracking.test.TestBusinessProcess.doGet(TestBusinessProces
s
.java, Compiled Code)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:865)
atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.jav
a
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextIm
p
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextIm
p
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContex
t
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
atweblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java,Compiled
Code)
weblogic.jdbcbase.oci.Driver checking: jdbc20:weblogic:oracle:DCIF
Connecting to database using: bmgr/********@DCIF at 0
Connected to database at: 160
Parsing: select length(SYSDATE) from dual
Executing: select length(SYSDATE) from dual
Parsing: select VALUE from V$NLS_PARAMETERS where
PARAMETER='NLS_NUMERIC_CHARACTERS'
Executing: select VALUE from V$NLS_PARAMETERS where
PARAMETER='NLS_NUMERIC_CHARACTERS'
Done logging in at: 170
Connection: using OCI API: OCI8
Done with connection regen
DriverManager.getConnection("jdbc:weblogic:pool:CifPool")
tryingdriver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
Parsing: select count(*) from dual
Executing: select count(*) from dual
getConnection returning
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
Parsing: begin pkg_BPI.p_getBPITrckIdForDataTblPk(:1, :2, :3, :4,
:5,
:6,
:7, :8); end;
Executing: begin pkg_BPI.p_getBPITrckIdForDataTblPk(:1, :2, :3, :4,:5,
:6,
:7, :8); end;
Parsing: select count(*) from dual
Executing: select count(*) from dual
DriverManager.getConnection("jdbc:weblogic:pool:CifPool")
trying
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
Parsing: select count(*) from dual
Executing: select count(*) from dual
getConnection returning
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
Parsing: begin pkg_BPI.p_getBPIStates(:1, :2); end;
Executing: begin pkg_BPI.p_getBPIStates(:1, :2); end;
Parsing: select count(*) from dual
Executing: select count(*) from dual
DriverManager.getConnection("jdbc:weblogic:pool:CifPool")
trying
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
Parsing: select count(*) from dual
B.E.A. is now hiring! (12/14/01) If interested send a resume to
[email protected]
DIRECTOR OF PRODUCT PLANS AND STRATEGY San Francisco,
CA
E-SALES BUSINESS DEVELOPMENT REPRESENTATIVE Dallas, TX
SOFTWARE ENGINEER (DBA) Liberty Corner,NJ
SENIOR WEB DEVELOPER San Jose, CA
SOFTWARE ENGINEER (ALL LEVELS), CARY, NORTHCAROLINA San Jose, CA
SR. PRODUCT MANAGER Bellevue, WA
SR. WEB DESIGNER San Jose, CA
Channel Marketing Manager - EMEA Region London, GBR
DIRECTOR OF MARKETING STRATEGY, APPLICATION SERVERS San Jose, CA
SENIOR SOFTWARE ENGINEER (PLATFORM) San Jose, CA
E-COMMERCE INTEGRATION ARCHITECT San Jose, CA
QUALITY ASSURANCE ENGINEER Redmond, WA
Services Development Manager (Business Development Manager - Services)Paris, FRA; Munich, DEU
SENIOR SOFTWARE ENGINEER (PLATFORM) Redmond, WA
E-Marketing Programs Specialist EMEA London, GBR
BUSINESS DEVELOPMENT DIRECTOR - E COMMERCE INTEGRATION San Jose, CA
MANAGER, E-SALES Plano, TX -
S'one tell me how to call Oracle Stored Proc from Java
Hi,
I have a problem in calling the Stored proc using callable statement.It looks like we are doing the same thing or no..
Pl..let me know if you can correct me..Am enclosing the stored proc and java Code...
CREATE OR REPLACE PROCEDURE StoreFTPAddress (FTP in FTPTYPE) is
BEGIN
INSERT INTO DES.FTPSERVICE(
FTPID,
COMPANYID,
SERVERNAME,
DIRECTORY,
USERNAME,
PASSWORD,
INSTRUCTIONS)
VALUES( FTPID.NEXTVAL,
FTP.COMPANYID,
FTP.SERVERNAME,
FTP.DIRECTORY,
FTP.USERNAME,
FTP.PASSWORD,
FTP.INSTRUCTIONS);
END;
JAVA CODE :;
public String retrieveFormatExtension(String formatName)
OracleResultSet rs_form = null;
try
conn = ConnectionDataObjectImpl.getConnection();
Statement stmt = conn.createStatement();
String sql_retrieve = "{call retrieveFormatExtension} " ;
CallableStatement cst = conn.prepareCall(
"{call retrieveFormatExtension(?,?)}");
cst.setString(1," FName ");
cst.registerOutParameter(1, OracleTypes.VARCHAR); // OUT Parameter
cst.executeQuery();
rs_form = (OracleResultSet) cst.getObject(1);
cst.close();
catch (SQLException ex)
System.out.println("SQLException : " + ex.getMessage());
return null;
Regards
Deepauk
[email protected]
nullSyntactically it looks fine. Only thing is u r calling the proc with wrong name. Your procedure takes only one parameter and i.e
IN type. I think u need to correct ur preparecall statement.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Ayappa:
Hi,
I have a problem in calling the Stored proc using callable statement.It looks like we are doing the same thing or no..
Pl..let me know if you can correct me..Am enclosing the stored proc and java Code...
CREATE OR REPLACE PROCEDURE StoreFTPAddress (FTP in FTPTYPE) is
BEGIN
INSERT INTO DES.FTPSERVICE(
FTPID,
COMPANYID,
SERVERNAME,
DIRECTORY,
USERNAME,
PASSWORD,
INSTRUCTIONS)
VALUES( FTPID.NEXTVAL,
FTP.COMPANYID,
FTP.SERVERNAME,
FTP.DIRECTORY,
FTP.USERNAME,
FTP.PASSWORD,
FTP.INSTRUCTIONS);
END;
JAVA CODE :;
public String retrieveFormatExtension(String formatName)
OracleResultSet rs_form = null;
try
conn = ConnectionDataObjectImpl.getConnection();
Statement stmt = conn.createStatement();
String sql_retrieve = "{call retrieveFormatExtension} " ;
CallableStatement cst = conn.prepareCall(
"{call retrieveFormatExtension(?,?)}");
cst.setString(1," FName ");
cst.registerOutParameter(1, OracleTypes.VARCHAR); // OUT Parameter
cst.executeQuery();
rs_form = (OracleResultSet) cst.getObject(1);
cst.close();
catch (SQLException ex)
System.out.println("SQLException : " + ex.getMessage());
return null;
Regards
Deepauk
[email protected]
<HR></BLOCKQUOTE>
null
Maybe you are looking for
-
Adobe Acrobat 8 and I Filter Question
Hello, I have Adobe Acrobat 8 and I Filter 6.0 installed on a WinXP machine. I am also using Windows Search 4.0. My question is on how to create an embedded index of PDF files so that I may search with a keyword through 100 PDF files as an exam
-
Add shared members to interfaces tables
Hi guys I need to load shared members to a generic dimension using interface tables? How can I do it? Regards
-
When is Adobe going to start offering ACE exams for its CS5 products?
I am most interested in getting the CS5 Web Specialist certification (Dreamweaver, Flash Pro, and either Photoshop or Illustrator). I have asked multiple departments at Adobe over the phone and even called Pearson VUE, the company Adobe outsources i
-
LeagueAthl​etics app not finding Device ID to sign in
I purchased the LeagueAthletics Mgr program (sports team management) and when I attempt to Log In it tells me that it cannot conntect. Options to connect are BIS and WiFi. In the authorziation step it fails. I have been in contact with League At
-
I have to send the following data via email. The email is sent without any problem but I need to replace the variable with value entered on page. How do I do this? "Please note the employee :P24_EMP_EMAIL has applied for leave in the system." - This