ORA-01401 error on char column with oracle oci driver

Hello,
We found a potential bug in the kodo.jdbc.sql.OracleDictionary class
shipped as source with Kodo:
In newer Kodo versions (at least in 3.3.4), the method
public void setString (PreparedStatement stmnt, int idx, String
val,          Column col)
has the following code block:
// call setFixedCHAR for fixed width character columns to get padding
// semantics
if (col != null && col.getType () == Types.CHAR
&& val != null && val.length () != col.getSize ())
((OraclePreparedStatement) inner).setFixedCHAR (idx, val);
This block seems to be intended for select statements but is called on
inserts/updates also. The latter causes a known problem with the Oracle
oci driver when settings CHAR columns as FixedCHAR, which reports an
ORA-01401 error (inserted value too large for column) when definitely no
column is too long. This does not happen with the thin driver.
We reproduced this with 8.1.7 and 9.2.0 drivers.
For us we solved the problem by subclassing OracleDictionary and removing
the new code block.
Regards,
Rainer Meyer
ELAXY Financial Software & Solutions GmbH & Co. KG

Rainer-
I read at
re:'ORA-01401 inserted value too large for column' - 9i that:
"This is fixed in Oracle9i Release 2"
Can you try that version of the driver? Also, does it fail in the Oracle
10 OCI driver?
Rainer Meyer wrote:
Hello,
We found a potential bug in the kodo.jdbc.sql.OracleDictionary class
shipped as source with Kodo:
In newer Kodo versions (at least in 3.3.4), the method
public void setString (PreparedStatement stmnt, int idx, String
val,          Column col)
has the following code block:
// call setFixedCHAR for fixed width character columns to get padding
// semantics
if (col != null && col.getType () == Types.CHAR
&& val != null && val.length () != col.getSize ())
((OraclePreparedStatement) inner).setFixedCHAR (idx, val);
This block seems to be intended for select statements but is called on
inserts/updates also. The latter causes a known problem with the Oracle
oci driver when settings CHAR columns as FixedCHAR, which reports an
ORA-01401 error (inserted value too large for column) when definitely no
column is too long. This does not happen with the thin driver.
We reproduced this with 8.1.7 and 9.2.0 drivers.
For us we solved the problem by subclassing OracleDictionary and removing
the new code block.
Regards,
Rainer Meyer
ELAXY Financial Software & Solutions GmbH & Co. KG
Marc Prud'hommeaux
SolarMetric Inc.

Similar Messages

  • Memory leakage with oracle oci driver

    I have developed a Solaris8 client/server application using the JAVA IDL CORBA implementation. The client sends requests to the server to update the database (database is Oracle 8.1.7 and I connect to it using oci oracle drivers). Requests are sent one at a time. No concurrent connections. I have a static connection that I establish with database once I start the server. If that connection is lost for any reason (timeout or database faliure) the application tries automatically to reconnect to database. I have noticed that if the new connection to database fails and an sql exception is thrown, memory used by the application process increases. This memory is not garbage collected so application hangs. I tried similar behaviour with the oracle thin driver and things went fine. There was no memory leakage.
    I would really appreciate, if you can help me in this since I can't use the thin driver because of failover limitations.

    I have noticed
    that if the new connection to database fails and an
    sql exception is thrown, memory used by the
    application process increases.
    How have you noticed this?I noticed this using the command pmap under solaris it operating system
    every time I test reconnecting to database I go and check the memory used by the application before after attepmting to reconnect:
    /usr/proc/bin/pmap [myapp pid] | tail -1
    If I'm using normal connection then the memory will be increased by 100KB. If I'm using the OraclePooledConnection class then the increase will be something like 500KB. Again this is if still there is a problem connecting to database. If connection to database is okay then no memory increase at all.
    This memory is not
    garbage collected so application hangs.
    Then it isn't a java problem. When java runs out of memory it throws a out of memory exception.Well I'm not saying it is a java problem for sure. I suspect that it might be oracle oci8 driver problem. I would appreciate if anyone can help in specifying teh source of the error.
    I tried
    similar behaviour with the oracle thin driver and
    things went fine. There was no memory leakage.
    I would really appreciate, if you can help me in this
    since I can't use the thin driver because of failover
    limitations.
    I don't understand that last sentence at all.What I mean here is that instead of using the oci8 driver to connect to database I used the thin driver and kept everything else the same. I simulated the faliure to reconnect to database and based on the pmap command observations there was no memory leakage.
    I want to know what is needed to be done in order to get a normal behavior once using the oci8 drivers.

  • WL5.1 with Oracle OCI driver 8.1.6 and 8.1.7

    We have seen different behaviors when using WL5.1 with Oracle's OCI driver
    version 8.1.6 and 8.1.7
    Our application calls the same set of stored procedures, which creates in
    total of 10 reference cursors
    in the database (8.1.7). We close the reference cursor everytime the SP is
    called.
    After running the application for a while, we have the following situation:
    1) Using the 8.1.6. driver, we always have (at any given time) one
    reference cursor opened in the database
    for each connection in the connection pool.
    2) Using the 8.1.7 driver, we always have one reference cursor for each
    stored procedure for each connection in the connection pool(i.e. 10 open
    ref-cursor per connection).
    It seems that between 8.1.6 and 8.1.7, the driver caches ref-cursor
    differently. The 8.1.7 drive doesn't seem to be scalable. Has anyone
    notice the change?
    Is this behavior correct or configurable?
    Thanks.
    -Chuan

    We have seen different behaviors when using WL5.1 with Oracle's OCI driver
    version 8.1.6 and 8.1.7
    Our application calls the same set of stored procedures, which creates in
    total of 10 reference cursors
    in the database (8.1.7). We close the reference cursor everytime the SP is
    called.
    After running the application for a while, we have the following situation:
    1) Using the 8.1.6. driver, we always have (at any given time) one
    reference cursor opened in the database
    for each connection in the connection pool.
    2) Using the 8.1.7 driver, we always have one reference cursor for each
    stored procedure for each connection in the connection pool(i.e. 10 open
    ref-cursor per connection).
    It seems that between 8.1.6 and 8.1.7, the driver caches ref-cursor
    differently. The 8.1.7 drive doesn't seem to be scalable. Has anyone
    notice the change?
    Is this behavior correct or configurable?
    Thanks.
    -Chuan

  • ORA-24816 error with oracle 10 driver

    Friends,
    I am getting the following error with Oracle 10 driver while trying to insert data > 4k into a LONG column. The table also contains another column of type varchar2(4000). The code works perfectly fine with Oracle 9i driver.
    ORA-24816: Expanded non LONG bind data supplied after actual LONG or LOB column
    Kindly let me know if this is a programming error or a driver problem.
    Thanks,
    Vinay

    this driver you mentioned, is it the jdbc driver?
    ORA-24816:     Expanded non LONG bind data supplied after actual LONG or LOB column
    Cause:     A Bind value of length potentially > 4000 bytes follows binding for LOB or LONG.
    Action:     Re-order the binds so that the LONG bind or LOB binds are all at the end of the bind list.
    using this forum may be more efficient -> http://forums.oracle.com/forums/forum.jspa?forumID=99&start=0

  • Ora-01401 error on a complex view

    I'm getting a ora-01401 error on a view of the following structure.
    SQL> desc vu_mat_product_msds_ingred;
    Name Null? Type
    MSDS_COMMENTS VARCHAR2(500)
    MAT_PROD_MSDS_SOURCE VARCHAR2(30)
    MISSING_INGRED_IND CHAR(1)
    FLASH_POINT_COMMENTS VARCHAR2(100)
    MSDS_ENTER_BY_ID NUMBER
    CURRENT_AS_OF_DT DATE
    MFG_REVISION_DT DATE
    GROUP_ID NUMBER
    CALC_VAPOR_PRESSURE NUMBER
    CALC_VAPOR_PRESSURE_UOM VARCHAR2(5)
    CALC_VAPOR_TEMPERATURE NUMBER
    CALC_VAPOR_TEMPERATURE_UOM CHAR(1)
    MAT_PROD_SPECIFIC_GRAVITY VARCHAR2(15)
    CALC_SPECIFIC_GRAVITY NUMBER(6,4)
    MAT_PROD_PROD_ID NOT NULL NUMBER
    MAT_PROD_MFG_ID NOT NULL NUMBER
    CLASS_ID NUMBER
    CHEM_INV_IND CHAR(1)
    SLED_EXEMPT_IND CHAR(1)
    ACTIVE_IND CHAR(1)
    WAIVER_REQD_IND CHAR(1)
    ITEM_NAME VARCHAR2(60)
    TRADE_NAME VARCHAR2(60)
    HAZARD_CD CHAR(1)
    FLASH_PT_IND CHAR(1)
    FLASH_PT NUMBER
    FLASH_PT_CMP CHAR(1)
    FLASH_PT_SCALE_CD CHAR(1)
    FLASH_PT_METHOD VARCHAR2(6)
    VOC_QTY_GL NUMBER
    VOC_QTY_PG NUMBER
    VOC_QTY_OZ NUMBER
    DISPOSAL_CD CHAR(1)
    PRODUCT_STATE_CD CHAR(1)
    TEMPERATURE_CD CHAR(1)
    CTS_CD CHAR(1)
    MAT_PROD_PPE_CD CHAR(1)
    EXEMPTION_CD CHAR(1)
    PCT_VOLAT_VOL NUMBER
    PCT_VOLAT_WGT NUMBER
    VAPOR_PRESSURE NUMBER
    VAPOR_PRESSURE_UOM VARCHAR2(5)
    VAPOR_TEMPERATURE NUMBER
    VAPOR_TEMPERATURE_UOM CHAR(1)
    VOC_COMMENTS VARCHAR2(250)
    VOLATILE_LBS_GAL NUMBER
    ARC1 VARCHAR2(2)
    ARC2 VARCHAR2(2)
    ARC3 VARCHAR2(2)
    ARC4 VARCHAR2(2)
    PURE_IND CHAR(1)
    SITE_USAGE_IND CHAR(1)
    PROPRIETARY_IND CHAR(1)
    MSDS_PREP_DT DATE
    MSDS_ENTER_DT DATE
    HMOTW_ID NUMBER
    ITEM_PRICE NUMBER(9,2)
    RESTR_PRODUCT_IND CHAR(1)
    CONTAINER_ID NOT NULL NUMBER
    MAT_PROD_CONT_PROD_ID NOT NULL NUMBER
    UPC_CD VARCHAR2(15)
    SKU_NR VARCHAR2(60)
    NSN VARCHAR2(15)
    KIT_PART_CD VARCHAR2(2)
    MFG_PART_NR VARCHAR2(60)
    CONTAINER_SIZE NUMBER(10,4)
    CONTAINER_SIZE_UOM VARCHAR2(3)
    CNTAIN_KGRAMS_QTY NUMBER
    MFGKIT_IND CHAR(1)
    SEPARATE_IND CHAR(1)
    TYP_CNTAIN_CD VARCHAR2(2)
    CNTAIN_PRES_CD CHAR(1)
    PROD_ST_CD CHAR(1)
    PRODUCT_NR NOT NULL NUMBER(7)
    PRODUCT_UI VARCHAR2(2)
    MAT_PROD_MFG_MFG_ID NOT NULL NUMBER
    CAGE NOT NULL VARCHAR2(5)
    MFG_UPC VARCHAR2(7)
    MFG_NAME NOT NULL VARCHAR2(50)
    MFG_ADDR1 VARCHAR2(100)
    MFG_ADDR2 VARCHAR2(100)
    MFG_CITY VARCHAR2(100)
    MFG_STATE_PROVINCE VARCHAR2(60)
    MFG_POSTAL_CD VARCHAR2(30)
    MFG_COUNTRY VARCHAR2(40)
    MFG_EMRG_PHONE VARCHAR2(40)
    MFG_INFO_PHONE VARCHAR2(40)
    WEB_SITE_URL VARCHAR2(500)
    PROP_SHIP_NM_ID NUMBER
    MAT_PROD_MSDS_PPE_CD CHAR(1)
    MSDS_ID NOT NULL NUMBER
    MAT_PROD_MSDS_PROD_ID NOT NULL NUMBER
    MAT_PROD_MSDS_MSDS_SOURCE VARCHAR2(30)
    PUBLICATION_CD CHAR(1)
    HEALTH_CD CHAR(1)
    CONTACT_CD CHAR(1)
    FIRE_CD CHAR(1)
    REACT_CD CHAR(1)
    PROT_EYE CHAR(1)
    PROT_SKIN CHAR(1)
    PROT_RESP CHAR(1)
    FOCAL_PT_CD VARCHAR2(2)
    SUPPLY_IM VARCHAR2(3)
    MSDS_PREPR_NAME VARCHAR2(50)
    PREP_COMPANY VARCHAR2(40)
    PREP_ADD1 VARCHAR2(100)
    PREP_ADD2 VARCHAR2(100)
    PREP_CITY VARCHAR2(100)
    PREP_STATE_PROVINCE VARCHAR2(60)
    PREP_POSTAL_CD VARCHAR2(30)
    MSDS_SHIP_NAME VARCHAR2(600)
    MSDS_PKG_GRP VARCHAR2(3)
    MSDS_UN_NA VARCHAR2(2)
    MSDS_UN_NA_NR VARCHAR2(5)
    MSDS_UN_NA_PAGE VARCHAR2(5)
    SPEC_NR VARCHAR2(20)
    SPEC_TYP_GR_CLS VARCHAR2(20)
    HAZ_STOR_COMP_CD VARCHAR2(5)
    HAZ_CATEGORY_1 VARCHAR2(10)
    HAZ_CATEGORY_2 VARCHAR2(10)
    NRC_LIC_NR VARCHAR2(15)
    NET_PROP_WGT_AMMO VARCHAR2(7)
    APPEAR_ODOR VARCHAR2(80)
    BOIL_PT VARCHAR2(11)
    MELT_PT VARCHAR2(11)
    VPR_PRESSURE VARCHAR2(30)
    VPR_DENSITY VARCHAR2(30)
    ONETOONE_ID NUMBER(1)
    VPR_TEMP VARCHAR2(30)
    MAT_PROD_MSDS_SPECIFIC_GRAVITY VARCHAR2(15)
    DECOMP_TEMP VARCHAR2(11)
    EVAP_RATE VARCHAR2(25)
    SOLUB_WATER VARCHAR2(20)
    CHEM_PH VARCHAR2(11)
    CORROSION_RATE VARCHAR2(8)
    FLASH_POINT VARCHAR2(20)
    LOW_EXPL_LTD VARCHAR2(12)
    UP_EXPL_LTD VARCHAR2(12)
    EXTINGUISH_MEDIA VARCHAR2(500)
    SP_FIRE_FGT_PROCD VARCHAR2(800)
    UN_FIRE_EXPL_HAZ VARCHAR2(500)
    STABILITY VARCHAR2(3)
    COND_AVOID_STAB VARCHAR2(120)
    MAT_AVOID VARCHAR2(500)
    HAZ_DECOMP_PROD VARCHAR2(500)
    HAZ_POLY_OCCUR VARCHAR2(3)
    COND_AVOID_POLY VARCHAR2(120)
    LD50_LC50_MIX VARCHAR2(40)
    ROUTE_ENTRY_INHALE VARCHAR2(3)
    ROUTE_ENTRY_SKIN VARCHAR2(3)
    ROUTE_ENTRY_INGEST VARCHAR2(3)
    HLTH_HAZ_ACUTE_CRON VARCHAR2(500)
    CARCIN_NTP VARCHAR2(10)
    CARCIN_IARC VARCHAR2(10)
    CARCIN_OSHA VARCHAR2(10)
    STORAGE_TYPE VARCHAR2(10)
    EXPL_CARCIN VARCHAR2(500)
    SIGN_SYMPT_OVREXPOS VARCHAR2(600)
    MED_COND_AGGR_EXPOS VARCHAR2(500)
    EMRG_1ST_AID_PROCD VARCHAR2(600)
    STEP_MAT_REL_SPILL VARCHAR2(500)
    NEUTRAL_AGENT VARCHAR2(80)
    WAST_DISP_METHOD VARCHAR2(600)
    HAND_STOR_PRECAUT VARCHAR2(600)
    OTHER_PRECAUT VARCHAR2(500)
    RESP_PROT VARCHAR2(350)
    VENTILATION VARCHAR2(120)
    PROT_GLOVE VARCHAR2(120)
    EYE_PROT VARCHAR2(120)
    OTHER_PROT_EQUIP VARCHAR2(500)
    WORK_HYG_PRACT VARCHAR2(500)
    SUPP_SAFE_HLTH_DATA VARCHAR2(500)
    SPEC_HAZ_AND_PREC VARCHAR2(650)
    CHRONIC_CD CHAR(1)
    CARCINOGEN_CD CHAR(1)
    ACUTE_CD CHAR(1)
    REPRO_TOXIN_IND CHAR(1)
    ROUTE_ENTRY_EYES VARCHAR2(3)
    INGREDIENTINFORMATION MAT_PRODUCT_INGRED_LIST
    SQL> desc mat_product_ingred_list;
    mat_product_ingred_list TABLE OF MAT_PRODUCT_INGRED_TYPE
    Name Null? Type
    INGRED_ID NUMBER
    PRODUCT_ID NUMBER
    MCM_CHEM_MSTR_ID NUMBER
    CHEM_VAPOR_ID NUMBER
    INGRED_SEQ_NR VARCHAR2(2)
    INGRED_NIOSH VARCHAR2(9)
    PERCNT VARCHAR2(7)
    CALC_PERCNT NUMBER
    OSHA_PEL VARCHAR2(20)
    ACGIH_TLV VARCHAR2(22)
    REC_LIMIT VARCHAR2(20)
    MCM_EXEMPT_IND CHAR(1)
    VOC_REACTIVITY_CD VARCHAR2(2)
    STATE_POLLUTANT_CD VARCHAR2(10)
    PERCENT_LOW NUMBER
    PERCENT_HIGH NUMBER
    PROPRIETARY_IND CHAR(1)
    MPI_CHEM_MSTR_ID NUMBER
    CHEM_CAS_NO VARCHAR2(12)
    CHEM_TYPE VARCHAR2(1)
    CHEM_NAME VARCHAR2(255)
    CHEM_FORMULA VARCHAR2(35)
    CHEM_RCRA_CD VARCHAR2(4)
    MOLECULAR_WGT NUMBER(7,3)
    MOLECULAR_WGT_SOURCE VARCHAR2(100)
    VAPOR_PRESSURE NUMBER(8,2)
    VAPOR_PRESSURE_UOM VARCHAR2(5)
    VAPOR_PRESSURE_SOURCE VARCHAR2(100)
    VAPOR_TEMP NUMBER
    VAPOR_TEMP_UOM CHAR(1)
    IRIS_IND CHAR(1)
    RPT_QTY NUMBER
    TPQ1 NUMBER
    TPQ2 NUMBER
    IC VARCHAR2(3)
    OZONE_IND CHAR(1)
    EHS_IND CHAR(1)
    EPCRA_IND CHAR(1)
    CARC_IND CHAR(1)
    MPI_EXEMPT_IND CHAR(1)
    CHEM_NIOSH VARCHAR2(9)
    STATE_CAP NUMBER
    LOCAL_CAP NUMBER
    TYPE_CD CHAR(1)
    CHEM_ACTIVE_IND CHAR(1)
    any ideas of why the ora-01401?
    Thanks in advance.

    Did you by any chance buy a Re: Function will not run (and shows with red cross in SQL Developer) from Re: Calling pipelined table functions

  • ORA-02348: cannot create VARRAY column with embedded LOB

    Hi
    This error message I get when I try to create a table from my schema file which has a (sub-) element of type CLOB.
    In my XML document I have an element which needs to become declared a CLOB (because it's > 4000 bytes), in my Schema I define it's element node like:
    <xs:element name="MocovuState" xdb:SQLType="CLOB">
    I can register this Schema file but when I create the table, I get the error:
    ORA-02348: cannot create VARRAY column with embedded LOB
    Does anybody know how to handle this ?
    Marcel

    You need to use the xdb:storeVarrayAsTable="true" schema annotation so that unbounded elements are created at schema registration time as nested tables. Varrays can not contain CLOBs/BLOBS. Use the schema annotation xdb:SQLType="CLOB" to tell Oracle XMLDB to use CLOB storage for the element. See your schema below:
    P.S. XMLSPY is invaluable as it supports Oracle XML Schema annotations.
    <?xml version="1.0"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" targetNamespace="http://www.yourregisteredschemanamespace.com" elementFormDefault="qualified" attributeFormDefault="unqualified" xdb:storeVarrayAsTable="true">
         <xs:element name="nRootNode">
              <xs:complexType>
                   <xs:all>
                        <xs:element name="nID" type="xs:long"/>
                        <xs:element name="nStringGroup" type="nStringGroup" minOccurs="0"/>
                   </xs:all>
              </xs:complexType>
         </xs:element>
         <xs:complexType name="nStringGroup">
              <xs:sequence>
                   <xs:element name="nString" type="nString" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="nString" xdb:SQLType="CLOB">
              <xs:sequence>
                   <xs:element name="nValue" type="nValue" minOccurs="0" xdb:SQLType="CLOB"/>
              </xs:sequence>
              <xs:attribute name="id" type="xs:long" use="required"/>
         </xs:complexType>
         <xs:simpleType name="nValue">
              <xs:restriction base="xs:string">
                   <xs:minLength value="1"/>
              </xs:restriction>
         </xs:simpleType>
    </xs:schema>

  • [HELP] ORA-01990 Error opening password file '/home/oracle/OraHome1/dbs/ora

    Dear All,
    I have changed the PWD file on oracle 9.2.04 under linux redhat advance server 2.1. but when i start to open database by issuing dbstart, i get
    ORA-01990: Error opening password file '/home/oracle/OraHome1/dbs/orapw'
    ORA-27037: unable to obtain file status
    Linux Error: 2 : no such file or directory
    additional information: 3
    How to solve the problems?
    thanks and regard
    ER

    Hai all...
    I did it all..
    but still I got
    ORA-01990: Error opening password file '/home/oracle/OraHome1/dbs/orapw'
    ORA-27037: unable to obtain file status
    Linux Error: 2 : no such file or directory
    additional information: 3
    Help me...
    Thanks
    regard
    ER

  • ORA-04062 error when running forms with different users

    ORA-04062 error when running forms with different users
    I have a form that has a block that should display some data from another users tables. (The other user's name is dynamic, it's selected from a list box)
    I wrote a stored procedure to get the data from other user's tables.
    When I compile the form and run it with the same user I compiled, it works without any error. But when I run the compiled form with another user I get the ORA-04062 (signature of procedure has been changed) error.
    I tried setting REMOTE_DEPENDENCIES_MODE to SIGNATURE in init.ora but it didn't help.
    My Forms version is 6i with Patch 15.
    Database version is 9.
    Here is my stored procedure:
    TYPE Scenario_Tab IS TABLE OF NUMBER(34) INDEX BY BINARY INTEGER;
    TYPE Open_Curs IS REF CURSOR;
    PROCEDURE Get_Scenarios(User_Name IN VARCHAR2, Scen_Table OUT Scenario_Tab) IS
    Curs Open_Curs;
    i NUMBER;
    BEGIN
    OPEN Curs FOR
    'SELECT Seq_No FROM '|| User_Name ||'.scenario';
    i := 1;
    LOOP
    FETCH Curs INTO Scen_Table(i);
    EXIT WHEN Curs%NOTFOUND;
    i := i + 1;
    END LOOP;
    END Get_Senarios;
    I would be happy to solve this problem. It's really important.
    Maybe somebody can tell me another way to do what I want to do. (getting a list of values from another users tables)

    I think it should be a better solution to create a package,
    and put your own TYPES and procedure into it.
    CREATE OR REPLACE PACKAGE PKG_XXX IS
    TYPE TYP_TAB_CHAR IS TABLE OF .... ;
    PROCEDURE P_XX ( Var1 IN VARCHAR2, var2 IN OUT TYP_TAB_CHAR );
    END ;
    Then in your Form :
    Declare
    var PKG_XXX.TYP_TAB_CHAR ;
    Begin
    PKG_XXX.P_XX( 'user_name', var ) ;
    End ;

  • Error in connecting webdynpro with oracle

    Hi
          while connecting webdynpro with oracle, i am getting this type of error. I imported the classes12.jar file also.
    <b>Error:</b>
    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    The <b>coding</b> which i used to connect is as follows,
    Class.forName("oracle.jdbc.driver.OracleDriver");
              DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
              Connection conn = DriverManager.getConnection(
              "jdbc:oracle:thin:@entegdt36:1521:dbserver",
              "scott","tiger");
              pst=conn.prepareStatement("select * from Test");
              rs=pst.executeQuery();
              while(rs.next())
                   res=res+rs.getString(1);
                   wdThis.wdGetContext().currentContextElement().setName(res);
    Please help me to solve this problem.
    It's very urgent.
    Thanks in advance.

    Hi,
    Go to technical landscapes and create a technical landscape for your ECC backend system.
    This should solve the problem.
    Regards
    Bharathwaj.

  • Petstore throws populateServlet error with Oracle thin driver

    When i point connection pool to Oracle database, i get the following error. The
    data is populated in the database, looks like when petstore is enumerating db
    tables and make sure all tables exist, this error is happening. Some how, database
    metadata coming as NULL. Has anybody tried petstore with Oracle JDBC driver?
    thanks,
    PopulateServlet Error:
    java.lang.NullPointerException java.lang.NullPointerException at com.sun.j2ee.blueprints.tools.populate.web.PopulateServlet.checkTables(PopulateServlet.java:276)
    at com.sun.j2ee.blueprints.tools.populate.web.PopulateServlet.doGet(PopulateServlet.java:127)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2456)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2039)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)

    I believe that you do not have weblogicaux.jar in your classpath.
    -Selvan
    Laurie Cohen wrote:
    Im using Solaris 2.7 with WLS 5.1.0 and Commerce Server 2.0.1 with
    current service packs on both. JDK 1.2.1_04 and the Oracle thin driver
    (classes111.zip which I am told is the only one supported in this
    configuration). Has anyone seen this problem? Is it that the driver is
    using 1.1 and I only have 1.2 installed?
    devapp01% java -classpath
    /usr/local/weblogic/classes:/usr/local/weblogic/license utils.t3dbping
    t3://localhost:7601 username password "" oracle.jdbc.driver.OracleDriver
    jdbc:oracle:thin:@10.200.201.110:1521:q01c
    Connecting to WebLogic with the WebLogic JDBC Driver
    Exception in thread "main" java.lang.NoClassDefFoundError:
    com/sun/java/util/collections/ArrayList
    at weblogic.kernel.Kernel.declareProperties(Kernel.java:253)
    at weblogic.kernel.Kernel.ensureInitialized(Kernel.java:107)
    at weblogic.common.T3Client.<init>(T3Client.java:218)
    at weblogic.common.T3Client.<init>(T3Client.java:269)
    at weblogic.common.T3Client.<init>(T3Client.java:323)
    at weblogic.jdbcbase.t3.Driver.connect(Driver.java:121)
    at java.sql.DriverManager.getConnection(Compiled Code)
    at java.sql.DriverManager.getConnection(DriverManager.java:106)
    at utils.t3dbping.main(t3dbping.java:115)
    Thanks,
    Laurie

  • Insert into CLOB fails with Oracle ODBC driver version 9.02.00.65

    I tried to insert into CLOB using the latest Oracle ODBC driver 9.02.00.65 and it fails. But the same works with earlier versions of ODBC driver earlier to 9.02.00.65 ie., 9.02.00.63.
    Here is the code snippet I tried. Any help now is highly appreciated as I am in the crunch time.
    I tried the same code snippet with VARCHAR2 column with the same driver and it works.
    ** CONVDSN.C - This is the ODBC sample code for
    ** creating File DSN pointers to machine DSNs.
    **This code is furnished on an as-is basis as part of the ODBC SDK and is
    **intended for example purposes only.
    #include <windows.h>
    #include <stdio.h>
    #include <tchar.h>
    #include <sql.h>
    #include <sqlext.h>
    #include <odbcinst.h>
    #include <sqltypes.h>
    #define MAXDATALEN 25 //maximum data length per column
    #define MAX_COL 15 //maximum column in result set
    #define MAX_ROW 100 //maximum number of rows
    #define MAXBUFLEN 256
    #define SQLERR_FORMAT "SQL Error State:%s, Native Error Code: %lX, ODBC Error: %s"
    #define MAXDISPLAYSIZE MAX_COL*(MAXDATALEN+1)
    #define SQLWRNMSGTITLE "SQL_SUCCESS_WITH_INFO results"
    #define SQLERRCNTDTITLE "SQL_ERROR results continued"
    #define SQLWRNMSGTITLE "SQL_SUCCESS_WITH_INFO results"
    #define SQLWRNCNTDTITLE "SQL_SUCCESS_WITH_INFO results continued"
    #define NULLDATASTRING "SQL_NULL_DATA"
    #define SQLERRMSGTITLE "SQL_ERROR results"
    // prototypes
    void ExpandFileName(LPSTR szFileDSNName, LPCSTR szDSNName);
    void MakeLegalName(LPSTR szLegalDSNName, LPCSTR szDSNName);
    // main routine: Iterate through the user and system DSNs, creating a pointer
    // to each.
    void FAR PASCAL DisplayError(SQLRETURN nResult, HWND hWnd, SWORD fHandleType, SQLHANDLE handle);
    void insertSelectClob();
    void checkRcCode(RETCODE rc);
    int main (int argc, char* argv[])
         insertSelectClob();
    return 0;
    void FAR PASCAL DisplayError(SQLRETURN nResult, HWND hWnd, SWORD fHandleType, SQLHANDLE handle)
         UCHAR szErrState[SQL_SQLSTATE_SIZE+1]; // SQL Error State string
         UCHAR szErrText[SQL_MAX_MESSAGE_LENGTH+1]; // SQL Error Text string
         char szBuffer[SQL_SQLSTATE_SIZE+SQL_MAX_MESSAGE_LENGTH+MAXBUFLEN+1];
         // formatted Error text Buffer
         SWORD wErrMsgLen; // Error message length
         UDWORD dwErrCode; // Native Error code
         int iSize; // Display Error Text size
         SQLRETURN nErrResult; // Return Code from SQLGetDiagRec
         SWORD sMsgNum = 1;
         SWORD fFirstRun = TRUE;
         char szDispBuffer[MAXDISPLAYSIZE+1]; // Display Buffer
         szBuffer[0] = '\0';
         do
              // continue to bring messageboxes till all errors are displayed.
              // more than one message box may be reqd. as err text has fixed
              // string size.
              // initialize display buffer with the string in error text buffer
              strcpy(szDispBuffer, szBuffer);
              // call SQLGetDiagRec function with proper ODBC handles, repeatedly until
              // function returns SQL_NO_DATA. Concatenate all error strings
              // in the display buffer and display all results.
              while ((nErrResult = SQLGetDiagRec(fHandleType, handle, sMsgNum++,
                   szErrState, &dwErrCode, szErrText,
                   SQL_MAX_MESSAGE_LENGTH-1, &wErrMsgLen)) != SQL_NO_DATA)
                   if(nErrResult == SQL_ERROR || nErrResult == SQL_INVALID_HANDLE)
                   break;
                   wsprintf(szBuffer, SQLERR_FORMAT, (LPSTR)szErrState, dwErrCode, (LPSTR)szErrText);
                   iSize = strlen(szDispBuffer);
                   if (iSize && (iSize+strlen(szBuffer)+1) >= MAXDISPLAYSIZE)
                   break;
                   if (iSize)
                   strcat(szDispBuffer, "\n");
                   strcat(szDispBuffer, szBuffer);
              // display proper ERROR or WARNING message with proper title
              if (nResult == SQL_SUCCESS_WITH_INFO)
                   MessageBox(hWnd, szDispBuffer, (fFirstRun? SQLWRNMSGTITLE : SQLWRNCNTDTITLE),
                   MB_OK | MB_ICONINFORMATION);
              else
                   MessageBox(hWnd, szDispBuffer, (fFirstRun? SQLERRMSGTITLE : SQLERRCNTDTITLE),
                   MB_OK | MB_ICONEXCLAMATION);
              if (fFirstRun)
                   fFirstRun = FALSE;
         while (!(nErrResult == SQL_NO_DATA || nErrResult == SQL_ERROR || nErrResult == SQL_INVALID_HANDLE));
    void insertSelectClob()
    SQLCHAR clobdata[1001];
    SQLCHAR resultdata[1001];
    SQLINTEGER ind = SQL_DATA_AT_EXEC;
    SQLCHAR *bufp;
         SQLINTEGER cbOrderID = sizeof(SQLSMALLINT);
         SQLSMALLINT sTmp=13;
         SQLCHAR *sqlStmt1  = _T("INSERT INTO clobtbl(id, clob1) VALUES(?, ?)");
         SQLCHAR *sqlStmt2  = _T("SELECT id, clob1 FROM clobtbl");
    //     SQLCHAR *sqlStmt1  = _T("INSERT INTO testInsert(id, clob1) VALUES(?, ?)");
    // SQLCHAR *sqlStmt2  = _T("SELECT id, clob1 FROM testInsert");
    int clobdatalen, chunksize, dtsize, retchklen;
         HENV envHnd;
    HDBC conHnd;
    HSTMT stmtHnd;
    RETCODE rc;
         int nRowcnt=0;
         SQLPOINTER pToken = NULL;
    rc = SQL_SUCCESS;
    // ENV is allocated
    rc = SQLAllocEnv(&envHnd);
    // Connection Handle is allocated
    rc = SQLAllocConnect(envHnd, &conHnd);
    rc = SQLConnect(conHnd, T("testd734"), SQLNTS, T("ipathdba"), SQLNTS, T("ipathdba"), SQLNTS);
    printf(_T("Insert CLOB1 using SQLPutData...\n[%s]\n"), sqlStmt1);
    // Set CLOB Data
    int i;
    SQLCHAR ch;
    for (i=0, ch=_T('A'); i< sizeof(clobdata)/sizeof(SQLCHAR); ++i, ++ch)
    if (ch > _T('Z'))
    ch = _T('A');
    clobdata[i] = ch;
    clobdata[sizeof(clobdata)/sizeof(SQLCHAR)-1] = _T('\0');
    clobdatalen = lstrlen(clobdata); // length of characters
    chunksize = clobdatalen / 7; // 7 times to put
         rc = SQLAllocHandle(SQL_HANDLE_STMT, conHnd, &stmtHnd);
    // Step 1: Prepare
    rc = SQLPrepare(stmtHnd, sqlStmt1, SQL_NTS);
    // checkSQLErr(envHnd, conHnd, stmtHnd, rc);
    // Step 2: Bind Parameter with SQL_DATA_AT_EXEC
    rc = SQLBindParameter(stmtHnd,
    1,
    SQL_PARAM_INPUT,
    SQL_C_SSHORT,
    SQL_INTEGER,
    0,
    0,
    &sTmp,
    0,
    &cbOrderID);
    rc = SQLBindParameter(stmtHnd,
    2,
    SQL_PARAM_INPUT,
    SQL_C_CHAR,
    SQL_LONGVARCHAR,
    clobdatalen*sizeof(CHAR),
    0,
    (SQLPOINTER)clobdata,
    clobdatalen*sizeof(CHAR),
    &ind);
    // checkSQLErr(envHnd, conHnd, stmtHnd, rc);
    // Step 3: Execute
    rc = SQLExecute(stmtHnd);
         while (rc == SQL_NEED_DATA) {
              rc = SQLParamData(stmtHnd, &pToken);
              if (rc == SQL_NEED_DATA) {
                   for (dtsize=0, bufp = clobdata;
                        dtsize < clobdatalen;
                        dtsize += chunksize, bufp += chunksize)
                   int len;
                   if (dtsize+chunksize < clobdatalen)
                        len = chunksize;
                        rc = SQLPutData(stmtHnd, bufp, len*sizeof(SQLCHAR));
                   else
                        len = clobdatalen-dtsize;
                        rc = SQLPutData(stmtHnd, bufp, SQL_NTS);
              rc = SQLParamData(stmtHnd, &pToken);
    // Fails as row count retrieved is zero.
         rc = SQLRowCount(stmtHnd, &nRowcnt);
         if(rc != SQL_SUCCESS)
              DisplayError(rc, NULL, SQL_HANDLE_ENV, conHnd);
    rc = SQLFreeStmt(stmtHnd, SQL_CLOSE);
    printf(_T("Finished Update\n\n"));
    rc = SQLAllocStmt(conHnd, &stmtHnd);
    if (rc != SQL_SUCCESS)
    printf(_T("Failed to allocate STMT\n"));
    exit(-1);
    // Clear Result Data
    memset(resultdata, 0, sizeof(resultdata));
    chunksize = clobdatalen / 15; // 15 times to gut
    rc = SQLExecDirect(stmtHnd, sqlStmt2, SQL_NTS); // select
         if(rc != SQL_SUCCESS)
              DisplayError(rc, NULL, SQL_HANDLE_ENV, conHnd);
    // Step 2: Fetch
    rc = SQLFetch(stmtHnd);
    for(dtsize=0, bufp = resultdata;
    dtsize > sizeof(resultdata)/sizeof(CHAR) && rc != SQL_NO_DATA;
    dtsize += chunksize-1, bufp += chunksize-1)
    int len; // len should contain the space for NULL termination
    if (dtsize+chunksize<sizeof(resultdata)/sizeof(CHAR))
    len = chunksize;
    else
    len = sizeof(resultdata)/sizeof(CHAR)-dtsize;
    // Step 3: GetData
    rc = SQLGetData(stmtHnd,
    2,
    SQL_C_CHAR,
    (SQLPOINTER)bufp,
    len*sizeof(CHAR),
    &retchklen);
    if (!_tcscmp(resultdata, clobdata))
    printf(_T("Succeeded!!\n\n"));
    else
    printf(_T("Failed!!\n\n"));
         if (conHnd)
              SQLFreeConnect(conHnd);
         if (envHnd)
              SQLFreeEnv(envHnd);
    }

    Hi,
    Since 9.2 has been desupported for error correction you will not be able to download that version from OTN. You should ask whoever is providing the training if their is an alternate version you can use. The only versions that you will be able to download from oracle.com is 10.2 11.1, and 11.2.

  • Problem with default oci driver with database ORACLE 8.1.7

    Presently our application is using weblogic 5.1 with oracle 8.1.6 database. Our
    application uses OCI driver to connect OraclePool. We used weblogic/lib/solaris/oci815_8/libweblogicoci36.so
    libraary to connect to dataabse.
    We upgraded our Database from 8.1.6 to 8.1.7. After upgradation of database from
    8.1.6 to 8.1.7. By using above shared library we are getting following error.
    In the weblogic connoction pool, we specied minimum as 4 connections. When it
    is creating connections while startup first connection is successfully connecting
    and second onwards it is giving following error.
    url=jdbc:oracle:thin:@169.165.38.162:1570:PBGSUP, props=user=SUPPORT;password=
    SUPPORT;, allowShrinking=true, driver=oracle.jdbc.driver.OracleDriver, aclName=w
    eblogic.jdbc.connectionPool.oraclePool, # testTable=dual, capacityIncremen
    t=2, initialCapacity=5, url=jdbc:oracle:oci8:@PBGSUP, shrinkPeriodMins=5}
    Delaying 1 seconds before making a oraclePool pool connection.
    Thu Nov 22 09:38:58 CST 2001:<I> <JDBC Pool> Connection for pool "oraclePool"
    cr
    eated.
    Delaying 1 seconds before making a oraclePool pool connection.
    java.sql.SQLException: ORA-01017: invalid username/password; logon denied
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Exception.<init>(Compiled Code)
    at java.sql.SQLException.<init>(SQLException.java:43)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
    at oracle.jdbc.oci8.OCIDBAccess.check_error(Compiled Code)
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:310)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:200)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
    va:251)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Con
    nectionEnvFactory.java:149)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Con
    nectionEnvFactory.java:109)
    at weblogic.common.internal.ResourceAllocator.makeResources(Compiled Cod
    e)
    at weblogic.common.internal.ResourceAllocator.<init>(Compiled Code)
    at weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.j
    ava:330)
    at weblogic.jdbc.common.internal.JdbcInfo.initPools(Compiled Code)
    at weblogic.jdbc.common.internal.JdbcInfo.startup(JdbcInfo.java:200)
    at weblogic.jdbc.common.internal.JdbcStartup.main(JdbcStartup.java:11)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.t3.srvr.StartupThread.runMain(StartupThread.java:219)
    at weblogic.t3.srvr.StartupThread.doWork(Compiled Code)
    at weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java
    :62)
    Thu Nov 22 09:39:00 CST 2001:<I> <JDBC Pool> Sleeping in createResource()
    Thu Nov 22 09:39:01 CST 2001:<E> <JDBC Pool> Failed to create connection pool
    "oraclePool"
    For Oracle 8.1.7 do we need to any other library other than oci815_8. If so can
    you send those details

    Looks like you are using Oracle OCI driver and not WebLogic OCI driver so
    you really dont need the libweblogicoci36.so file in your
    LD_LIBRARY_PATH/PATH. Also your properties below show that you are using
    thin driver url and then also oci8 url, check you connection pool setting
    properly and may be try getting the latest oracle drivers.
    If you are trying to use weblogic jDrivers make sure your pool properties
    are set right.
    hth
    sree
    "Subba Rao.S..G" <[email protected]> wrote in message
    news:[email protected]...
    Presently our application is using weblogic 5.1 with oracle 8.1.6 database.
    Our
    application uses OCI driver to connect OraclePool. We used
    weblogic/lib/solaris/oci815_8/libweblogicoci36.so
    libraary to connect to dataabse.
    We upgraded our Database from 8.1.6 to 8.1.7. After upgradation of database
    from
    8.1.6 to 8.1.7. By using above shared library we are getting following
    error.
    In the weblogic connoction pool, we specied minimum as 4 connections. When
    it
    is creating connections while startup first connection is successfully
    connecting
    and second onwards it is giving following error.
    url=jdbc:oracle:thin:@169.165.38.162:1570:PBGSUP,
    props=user=SUPPORT;password=
    SUPPORT;, allowShrinking=true, driver=oracle.jdbc.driver.OracleDriver,
    aclName=w
    eblogic.jdbc.connectionPool.oraclePool, # testTable=dual,
    capacityIncremen
    t=2, initialCapacity=5, url=jdbc:oracle:oci8:@PBGSUP, shrinkPeriodMins=5}
    Delaying 1 seconds before making a oraclePool pool connection.
    Thu Nov 22 09:38:58 CST 2001:<I> <JDBC Pool> Connection for pool
    "oraclePool"
    cr
    eated.
    Delaying 1 seconds before making a oraclePool pool connection.
    java.sql.SQLException: ORA-01017: invalid username/password; logon denied
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Exception.<init>(Compiled Code)
    at java.sql.SQLException.<init>(SQLException.java:43)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
    at oracle.jdbc.oci8.OCIDBAccess.check_error(Compiled Code)
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:310)
    at
    oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:200)
    at
    oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
    va:251)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
    at
    weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Con
    nectionEnvFactory.java:149)
    at
    weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Con
    nectionEnvFactory.java:109)
    at weblogic.common.internal.ResourceAllocator.makeResources(Compiled
    Cod
    e)
    at weblogic.common.internal.ResourceAllocator.<init>(Compiled Code)
    at
    weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.j
    ava:330)
    at weblogic.jdbc.common.internal.JdbcInfo.initPools(Compiled Code)
    at weblogic.jdbc.common.internal.JdbcInfo.startup(JdbcInfo.java:200)
    at
    weblogic.jdbc.common.internal.JdbcStartup.main(JdbcStartup.java:11)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.t3.srvr.StartupThread.runMain(StartupThread.java:219)
    at weblogic.t3.srvr.StartupThread.doWork(Compiled Code)
    at
    weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java
    :62)
    Thu Nov 22 09:39:00 CST 2001:<I> <JDBC Pool> Sleeping in createResource()
    Thu Nov 22 09:39:01 CST 2001:<E> <JDBC Pool> Failed to create connection
    pool
    "oraclePool"
    For Oracle 8.1.7 do we need to any other library other than oci815_8. If so
    can
    you send those details

  • Error in configuring Oracle OCI Driver in WLS

    My application uses Oracle OCI driver for making JDBC connection from the server application.I have installed Oracle client in the machine.Added the Oracle Bin directory to System Path.But when i try to create the connection Pool Weblogic throws the error saying DLL file is not found in System.Library.Path.Can you help in solving this problem,Config detailsOS - Windows 2000 ProfessionalWeblogic 5.1 serverOracle 8.1.7 clientDriver used Oracle OCI driver...Expecting a reply

    You need to set your path to point to the <wls-install-home>/bin/oci8xx_x/
    folder as well. I dont think 5.1 supports 817 type 2 driver, you may have to
    use the thin driver from oracle instead.
    sree
    "Varadharajan" <[email protected]> wrote in message
    news:3b8f070f$[email protected]..
    My application uses Oracle OCI driver for making JDBC connection from theserver application.I have installed Oracle client in the machine.Added the
    Oracle Bin directory to System Path.But when i try to create the connection
    Pool Weblogic throws the error saying DLL file is not found in
    System.Library.Path.Can you help in solving this problem,Config detailsOS -
    Windows 2000 ProfessionalWeblogic 5.1 serverOracle 8.1.7 clientDriver used
    Oracle OCI driver...Expecting a reply

  • Update Batching With Oracle Thin Driver

    executeBatch() method throws missing IN or Out Parameters when used with Oracle
    thin driver(jdbc.oracle.driver.OracleDriver)

    Thanks for the reply. But, I tried it and I still get the same problem. Now
    I am running on Solaris 7. Does that make a difference?
    -Sudheendra
    "Slava Imeshev" <[email protected]> wrote in message
    news:[email protected]..
    Hi Sudheendra,
    Here is the patch for 5.1 put it as the first thing
    in weblogic.classpath.
    Regards,
    Slava Imeshev
    "Sudheendra Galgali" <[email protected]> wrote in message
    news:3b69a4be$[email protected]..
    I am having a similar problem with WL 5.1, service pack 9 with Oracle Thin
    drivers. I am unable to find patch CR047274 either. Help please!
    "Soumik" <[email protected]> wrote in message
    news:[email protected]..
    executeBatch() method throws missing IN or Out Parameters when used with
    Oracle
    thin driver(jdbc.oracle.driver.OracleDriver)

  • Oracle OCI driver stops working after a while of disuse

    I am using wl server 8.1, oracle oci driver (oracle 9i client), on solaris.
    When i create a connection pool using the oci driver, it connects, and i
    test it, and the tests run fine.
    The Application works for a few days. Then eventually after disuse, say over
    the weekend, I get exceptions in the log (the message is at end of email).
    This is because it gives me a sql exception saying it cannot resolve the
    service name. The database is up and running, confirmed.
    I tried testing the connection pool manually through the console, and it
    failed with the service name exception. But it would connect fine when i
    used sqlplus to connect to the databse, using the same service name.
    Why does this deteriorate over time? Is there a specific test that would
    prevent this from happening?
    Once i restart the weblogic server, the connection pool connects fine. But
    this is not a solution, since I can't be restarting the server all the time.
    Any one got any ideas?
    -Ayan
    ------------WEBLOGIC MANAGED SERVER LOG----------
    ####<Mar 27, 2004 4:20:57 AM EST> <Error> <JDBC><<WLS Kernel>> <>
    <BEA-001112> <Test "SELECT 1 FROM DUAL" set up for pool "CRCPool2" failed
    with exception: "java.sql.SQLException: ORA-03113: end-of-file on
    communication channel
    ".>
    ####<Mar 27, 2004 4:20:57 AM EST> <Info> <JDBC> <<WLS Kernel>> <>
    <BEA-001128> <Connection for pool "CRCPool2" closed.>
    ---------- and then eventually this----------
    ####<Mar 28, 2004 4:33:11 AM EST> <Warning> <JDBC> <<WLS Kernel>> <>
    <BEA-001129> <Received exception while creating connection for pool
    "CRCPool2": ORA-12154: TNS:could not resolve service name
    >

    Ayan wrote:
    I am using wl server 8.1, oracle oci driver (oracle 9i client), on solaris.
    When i create a connection pool using the oci driver, it connects, and i
    test it, and the tests run fine.
    The Application works for a few days. Then eventually after disuse, say over
    the weekend, I get exceptions in the log (the message is at end of email).
    This is because it gives me a sql exception saying it cannot resolve the
    service name. The database is up and running, confirmed.
    I tried testing the connection pool manually through the console, and it
    failed with the service name exception. But it would connect fine when i
    used sqlplus to connect to the databse, using the same service name.
    Why does this deteriorate over time? Is there a specific test that would
    prevent this from happening?
    Once i restart the weblogic server, the connection pool connects fine. But
    this is not a solution, since I can't be restarting the server all the time.
    Any one got any ideas?
    -AyanHi. Is there a firewall between the weblogic server and DBMS? There is
    a problem with OCI losing connectivity to the DBMS. OCI may be keeping
    a socket open as long as the process (weblogic) is running.
    Joe
    ------------WEBLOGIC MANAGED SERVER LOG----------
    ####<Mar 27, 2004 4:20:57 AM EST> <Error> <JDBC><<WLS Kernel>> <>
    <BEA-001112> <Test "SELECT 1 FROM DUAL" set up for pool "CRCPool2" failed
    with exception: "java.sql.SQLException: ORA-03113: end-of-file on
    communication channel
    ".>
    ####<Mar 27, 2004 4:20:57 AM EST> <Info> <JDBC> <<WLS Kernel>> <>
    <BEA-001128> <Connection for pool "CRCPool2" closed.>
    ---------- and then eventually this----------
    ####<Mar 28, 2004 4:33:11 AM EST> <Warning> <JDBC> <<WLS Kernel>> <>
    <BEA-001129> <Received exception while creating connection for pool
    "CRCPool2": ORA-12154: TNS:could not resolve service name

Maybe you are looking for

  • Archiving object for tables GLPCC and GLPCO

    Hi All,   GLPCA table stores the actual line items in PCA and GLPCT table stores the totals records of PCA. What are the transactions which get affected in regular course by these tables?    GLPCC - EC-PCA: Transaction Attributes    GLPCO - EC-PCA: O

  • Performance between two partitionned tables with different structure

    Hi, I would like if there is a difference between two partitionned tables with different structure in term of performance (access, query, insertions, updates ). I explain myself in detail : I have a table that stores one value every 10 minutes in a d

  • Frustrated that using OJMS/AQ requires using direct AQ apis

    Well, I'm sure I could be mistaken, but I'm coming to the conclusion that in order to get a workable JMS implementation with OC4J 9.0.2, you have to use AQ (this is known), but what is a surprise to me is that I am unable to get a raw JMS consumer an

  • Problem with the progress bar

    I've have a problem with the progress bar of my ipod. I bought a 5th generation ipod about 8-9 months ago. Now its progress bar stuck so it only shows the 5 dots. It doesn't show both scrubber bar and song time bar. When I press the center button, th

  • CC 2014 freezing up

    Has anyone else been runing in to this problem? I open up my project and it opens every thing is there, but then I go to change my layout (from my laptop to a double display) and it freezes up. I have no clue how to fix it, or if there is even a way