终于搞定Weblogic8.1sp3下奇怪的Oracle错误了!也算是新Bug喽!

本来计划新服务器割接要在本月底完成,可是在部署完成以后在操作数据库的时候却出了岔子。怎么也不能用了,连接很正常,就是不能 select,update,insert等操作。最经常报的三个错误是:
OALL8 is in an inconsistent state.
Bigger type length than Maximum
Protocol Violation
三个错误随机出现,最常见的是前两个。
因为现有的程序正在一台 Linux 服务器上正常运行,我只是把整套系统原模原样的重新部署到了一台 Sun V480 服务器上,操作系统是 Solaris 9,依然用的是 Weblogic。数据库依然同一台 DELL 服务器,不同的只是操作系统以及JDK,所以首先怀疑的是 Solaris 上的JDK是不是该打补丁了,去了Sun的网站也看到了for Solaris的补丁,但是好像没有关系。然后又重新下载了最新的JDK 1.4.6 beta ,问题依旧。然后又装了 JDK 1.5,这次连 weblogic 都运行不起来了。为了再次验证是不是JDK的问题,我在控制台下写了一个简单的Java程序来连接那台数据库服务器,惊讶的发现一切正常,说明跟JDK没关系了。
莫非是驱动的问题?可是在linux服务器上用的就是这个驱动呀,都是ojdbc14,看了一下CLASSPATH,也有啊。DELL 服务器上的Oracle版本是8.0.5,要不换成它自带的ojdbc看看,更换以后问题依旧!
于是又把怀疑的目光转向了 weblogic,觉得是不是因为字符集的问题?又按照bea提供的一份中文化文档一步一步操作了一遍,确保提交数据的编码、连接oracle的编码、页面输出编码都是GBK,问题依旧!
然后又怀疑到了 Solaris 上,毫无有道理的怀疑是不是因为字符集的不同,导致连接Oracle时发生的错误?因为这台服务器的操作系统是数据分公司的工程师负责安装的,他在安装的时候没有安装中文语言包,所以我设置了 LANG=zh_CN.GBK 后,系统不停的提示 couldn't set locale correctly。于是我又去了IDC机房,找来 Solaris 9的语言包光盘,把中文语言包安装上去,再次测试,问题依旧!
实在没辙了,决定装上Tomcat看看,去了apache的网站后,发现tomcat有了5.5的版本,也没仔细看发行说明就直接下载回来了,却发现不能用,提示只能运行在JDK1.5下。幸亏前面已经下回来JDK1.5了,重新设置了JAVA_HOME后,哈,成功了。于是又再次怀疑weblogic的问题。
我静下来仔细想了一下两台服务器除了系统不同之外,还有哪里不同?Linux上weblogic没有配置cluster,新装的Sun V480上配置了Cluster,我的神经再次兴奋起来,我重新部署了一个新的配置,只写了一个简单的JSP页面,上面就是连接那台 Oracle 数据库,也没有用群集,问题依旧!
看来与Cluster没有关系喽,问题会在哪里呢?于是又怀疑了我现在用的数据库连接池,这个连接池虽然简陋,但是已经用了很长时间,也从没见过这个问题的发生。于是在weblogic上配置了一个连接池,然后又写了一个页面,哈,问题依旧!可是先前我一直用的是我下载回来的那个ojdbc14啊。
不会跟开发版的license有关吧,我又找来公司的一个有时间限制的license,明年1月15号就要到期了。不管他,先换了,可是问题依旧!
于是又不停的在google上搜索,看来出现这种问题的几率实在小,就找到寥寥可数的几个页面,不过在oracle的官方论坛上看到了一个相关帖子,据说是oracle老驱动的问题,需要升级驱动,可是最新的驱动就是1.4,我现在用的就是啊,无果,继续找。
实在找不到什么结果,看来问题十之八九就在 weblogic 自己身上,我又去bea网站上看有关 weblogic 8.1 sp3 的发行信息,主要看了有关Oracle的部分,上面写的是在 weblogic 8.1 sp3 上的Oracle数据库已经把ojdbc1.4默认安装上去,而且默认的驱动就是ojdbc1.4,可是在先前我没有用过weblogic自带的连接池,应该和这个没有什么关系吧,但是抱着死马当做活马医的心态看了一下weblogic里面的ojdbc,发现也有一个ojdbc14.jar,但是和我用的大小不一样。不过既然都是1.4的版本,那我就把我一直用的把Weblogic的覆盖了吧,然后又是重新启动服务,打开测试页面,哇呜呜,成功了!!!
问题竟然就是 weblogic 下 ojdbc 的问题!!!可是我在系统的CLASSPATH中已经添加了我自己的ojdbc,但是可恶的weblogic却优先使用了自己带的ojdbc!版本分明都是一样的,weblogic下的却有问题。浪费了我好几天,正所谓家贼难防啊,呜呜呜呜……
最后的总结:
看来在weblogic上部署的web应用程序,在使用相同的类库的时候,weblogic自带的相同类库优先,其次是CLASSPATH里添加的,最后才是WEB-INF/lib里的。在前面的问题中,虽然我在CLASSPATH里添加了ojdbc14的驱动,但是weblogic里已经有了,所以当然是用的weblogic自带的那个驱动了,CLASSPATH是没有效果的了。
至于为什么那台Linux服务器上很正常,是因为上面装的是Weblogic 8.1 sp2!!!
本月的任务看来有望在明天完成了……
Weblogic 里的 ojdbc 还是是个老版本的?该升级啦,这也算是Bug吧 :-(

"看来在weblogic上部署的web应用程序,在使用相同的类库的时候,weblogic自带的相同类库优先,其次是CLASSPATH里添加的,最后才是WEB-INF/lib里的。"
不是这样的吧? 这取决于在CLASSPATH里的先后顺序,你要想自己的覆盖weblogic自带的,就把你的path放在weblogic的path包前面。

Similar Messages

  • Weblogic8.1sp3是否支持Oracle805?

    我在Weblogic8.1sp3上配置JDBC,远程数据库系统是Oracle8.0.5的,本机的Net8已装好,并已测试连接成功。可是通过Weblogic配置向导设置JDBC时,总是测试连接失败,不是报“Net8 protocol error”,就是“类型长度大于最大值”,看JDBC的驱动描述里最近的都是Oracle8.1.7,不知道Weblogic8.1sp3是否支持Oracle805?请大家帮忙指导一下,谢谢!

    在Weblogic8.1sp3上连接Oracle8.0.5,在配置JDBC连接池时,测试总是失败,打电话去问,说是可能不支持低版本的Oracle,上网咨询也没有人答复,经过自己仔细查看有关文档,发现如下有关信息:
    Using the Oracle Thin Driver
    The 10g (10.1.0.2.0) version of the Oracle Thin driver (ojdbc14.jar) is installed in the WL_HOME\server\lib folder (where WL_HOME is the folder where WebLogic Server is installed) with weblogic.jar. The manifest in weblogic.jar lists this file so that it is loaded when weblogic.jar is loaded (when the server starts). Therefore, you do not need to add the Oracle Thin driver to your CLASSPATH.
    Note: The ojdbc14.jar file replaces classes12.zip as the source for Oracle Thin driver classes. This version of the driver is for use with a Java 2 SDK version 1.4.
    If you plan to use a different version of the driver, you must replace the ojdbc14.jar file in WL_HOME\server\lib with an updated version of the file from Oracle or add the new file to the front of your CLASSPATH. You can download driver updates from the Oracle Web site at http://otn.oracle.com/software/content.html.
    Note: In WebLogic Server 8.1SP3, the default version of the Oracle Thin driver was changed to the 10g driver (the version in WL_HOME\server\lib). In previous releases of WebLogic Server 8.1, the 9.2.0 version of the Oracle Thin driver was the default version of the driver.
    The WL_HOME\server\ext\jdbc\oracle folder (where WL_HOME is the folder where WebLogic Platform is installed) of your WebLogic Server installation includes subfolders for the 9.2.0 and 10g versions of the Oracle Thin driver. To use the 9.2.0 version of the driver, Follow these steps:
    1. In Windows Explorer or a command shell, navigate to the WL_HOME\server\ext\jdbc\oracle\920 folder.
    2. Copy ojdbc14.jar.
    3. In Windows Explorer or a command shell, navigate to WL_HOME\server\lib and replace the existing version of ojdbc14.jar with the version you copied.
    To revert to version 10g (the default), follow the instructions above, but copy from the following folder: WL_HOME\server\ext\jdbc\oracle\10g.
    按照上面所述,把WL_HOME\server\ext\jdbc\oracle\920文件夹下的jdbc14.jar复制到WL_HOME\server\lib,然后不论在配置向导里还是在控制台下配置JDBC连接池,数据库选Oracle,Database Driver选“Oracle's Driver(Thin) Versions:8.1.7”,最后测试通过!
    希望以上能对碰到同样问题的人有所帮助。

  • ORA-22805 - (inserting an XMl type FAILS) I suspect this is a oracle Bug

    We're using
    Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.7.0 - Production
    Basically when I try to execute the following
    dbms_xmlschema.registerschema
    ('MySchema.xsd',
    sys.UriFactory.getUri('/Location/MySchema.xsd'),
    genTables=>TRUE);
    this generates a table for us with the name "xmlt_ds_0"
    when we try to insert into this table, we get an error
    INSERT INTO tddb.xmlt_ds_0
    SELECT sys.xmltype.createschemabasedxml(mq.content, 'http://My.Schema.xsd')
    FROM message_queue mq
    WHERE mq.sys_id = 148100
    ORA-22805: cannot insert NULL object into object tables or nested tables
    Now this works for most xml files, it just one or two that fail, however these files that have failed are well formed, and valid (ie: conform to the scehema)
    however, if I try to do this
    create table tempTest of xmltype
    XMLSCHEMA "Myschema.xsd"
    ELEMENT "schedule"
    then insert into this
    INSERT INTO tempTest
    SELECT sys.xmltype.createschemabasedxml(mq.content, 'http://My.Schema.xsd')
    FROM message_queue mq
    WHERE mq.sys_id = 148100
    Basically, this works for the same file, I just dont understand why it wouldn't work in the "resitering the schema" way. I strongly suspect this is a Oracle Bug
    Has any one encountered this before, any help would be appriciated.

    FIRST of all...
    If you create the table via registerschema, then you table will be created case-sensitive (in general take notice that with XMLDB everything can be / will be case-sensitive). So this means you will have to do things the following way (mark the double quotes):
    NSERT INTO tddb."xmlt_ds_0"
    SELECT sys.xmltype.createschemabasedxml(mq.content, 'http://My.Schema.xsd')
    FROM message_queue mq
    WHERE mq.sys_id = 148100Your statement (see below) will generate a table the default way, that is a table in uppercase
    create table tempTest of xmltype
    XMLSCHEMA "Myschema.xsd"
    ELEMENT "schedule"so ...this will create a table with the name "TEMPTEST".
    regarding the ORA-22805...
    - can you post the schema
    - can you post the values that cause the error...

  • Problem while Creating MVLOG with synonym in Oracle 9i:Is it an Oracle Bug?

    Hi All,
    I am facing a problem while Creating MVLOG with synonym in Oracle 9i but for 10G it is working fine. Is it an Oracle Bug? or i am missing something.
    SQL> select * from v$version;
    BANNER
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0      Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    SQL>
    SQL> create table t ( name varchar2(20), id varchar2(1) primary key);
    Table created.
    SQL> create materialized view log on t;
    Materialized view log created.
    SQL> create public synonym syn_t for t;
    Synonym created.
    SQL> CREATE MATERIALIZED VIEW MV_t
      2  REFRESH ON DEMAND
      3  WITH PRIMARY KEY
      4  AS
      5  SELECT name,id
      6  FROM syn_t;
    Materialized view created.
    SQL> CREATE MATERIALIZED VIEW LOG ON  MV_t
      2  WITH PRIMARY KEY
      3   (name)
      4    INCLUDING NEW VALUES;
    Materialized view log created.
    SQL> select * from v$version;
    BANNER
    Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
    PL/SQL Release 9.2.0.6.0 - Production
    CORE    9.2.0.6.0       Production
    TNS for Solaris: Version 9.2.0.6.0 - Production
    NLSRTL Version 9.2.0.6.0 - Production
    SQL>
    SQL> create table t ( name varchar2(20), id varchar2(1) primary key);
    Table created.
    SQL> create materialized view log on t;
    Materialized view log created.
    SQL> create public synonym syn_t for t;
    Synonym created.
    SQL> CREATE MATERIALIZED VIEW MV_t
    REFRESH ON DEMAND
    WITH PRIMARY KEY
    AS
      2    3    4    5  SELECT name,id
    FROM syn_t;   6
    Materialized view created.
    SQL> CREATE MATERIALIZED VIEW LOG ON  MV_t
    WITH PRIMARY KEY
    (name)
      INCLUDING NEW VALUES;  2    3    4
    CREATE MATERIALIZED VIEW LOG ON  MV_t
    ERROR at line 1:
    ORA-12014: table 'MV_T' does not contain a primary key constraintRegards
    Message was edited by:
    Avinash Tripathi
    null

    Hi Nicloei,
    Thanks for the reply. Actually i don't want any work around (Creating MVLOG on table rather than synonym is fine with me) . I just wanted to know it is actually an oracle bug or something else.
    Regards
    Avinash

  • Oracle BUG... Snapshots in 8.1.7

    I accidently issued a RENAME on a number of snapshots in my DB. It created a TABLE for each of these objects and I can not drop these objects without getting told "ORA-12083 must use DROP MATERIALIZED VIEW to drop "OWNER.TABLE"".
    If I try to use drop MAT VIEW I recieve messaage telling me that object is not a snapshot.
    Think this is a potential Oracle Bug. How can I drop these tables?
    Thanks,
    Miller

    This is the Oracle Database Lite forum. Can you please repost your question on the general database forum: General Database Discussions

  • Oracle bug 7046751

    After experiencing a Spatial query problem with my companies software due to Oracle bug 7046751, I was instructed by Oracle to run the SQL below to recreate ALL_SDO_GEOM_METADATA as a workaround. This worked fine and I could then use our software with Spatial to query, post, etc. However now I need to revert back to how the view would be in a typical 10.2.0.4 install, in order to test what our users will see. Could anyone advise me on a similar SQL statement I could use to recreate ALL_SDO_GEOM_METADA as it was before I recreated it?
    Thanks
    -mcslain
    create or replace view MDSYS.ALL_SDO_GEOM_METADATA as
    SELECT SDO_OWNER OWNER,
    SDO_TABLE_NAME TABLE_NAME,
    SDO_COLUMN_NAME COLUMN_NAME,
    SDO_DIMINFO DIMINFO,
    SDO_SRID SRID
    FROM mdsys.SDO_GEOM_METADATA_TABLE
    WHERE
    +(exists+
    +(select table_name from all_tables+
    where table_name=sdo_table_name
    and owner = sdo_owner
    union all
    select table_name from all_object_tables
    where table_name=sdo_table_name
    and owner = sdo_owner
    union all
    select SYNONYM_NAME from all_synonyms
    where SYNONYM_NAME=sdo_table_name
    and owner = sdo_owner
    union all
    select view_name table_name from all_views
    where view_name=sdo_table_name
    and owner = sdo_owner));

    Here is the SQL I get from my database when I inspect the ALL_SDO_GEOM_METADATA view....
    CREATE OR REPLACE VIEW ALL_SDO_GEOM_METADATA ( OWNER,
    TABLE_NAME, COLUMN_NAME, DIMINFO, SRID
    ) AS SELECT SDO_OWNER OWNER,
    SDO_TABLE_NAME TABLE_NAME,
    SDO_COLUMN_NAME COLUMN_NAME,
    SDO_DIMINFO DIMINFO,
    SDO_SRID SRID
    FROM mdsys.SDO_GEOM_METADATA_TABLE,
    all_tables a
    where a.table_name = sdo_table_name
    and a.owner = sdo_owner
    union all
    SELECT SDO_OWNER OWNER,
    SDO_TABLE_NAME TABLE_NAME,
    SDO_COLUMN_NAME COLUMN_NAME,
    SDO_DIMINFO DIMINFO,
    SDO_SRID SRID
    FROM mdsys.SDO_GEOM_METADATA_TABLE,
    all_object_tables a
    where a.table_name = sdo_table_name
    and a.owner = sdo_owner
    union all
    SELECT /*+ use_hash (a) */
    SDO_OWNER OWNER,
    SDO_TABLE_NAME TABLE_NAME,
    SDO_COLUMN_NAME COLUMN_NAME,
    SDO_DIMINFO DIMINFO,
    SDO_SRID SRID
    FROM mdsys.SDO_GEOM_METADATA_TABLE b,
    all_synonyms a
    where a.synonym_name = sdo_table_name
    and a.owner = sdo_owner
    union all
    SELECT SDO_OWNER OWNER,
    SDO_TABLE_NAME TABLE_NAME,
    SDO_COLUMN_NAME COLUMN_NAME,
    SDO_DIMINFO DIMINFO,
    SDO_SRID SRID
    FROM mdsys.SDO_GEOM_METADATA_TABLE,
    all_views a
    where a.view_name = sdo_table_name
    and a.owner = sdo_owner
    /

  • SOA Suite 11g Clustering error/oracle bug ?

    Hi, i got several experiment to implement soa suite 11g clustering, in my company.. at this moment we still use development mode in our application server. now i'm trying to get into production and also i want cluster the server.. here is the chronology what i do.
    i got 3 server :
    my plan is
    server #1 become an proxy server, let say the name is soa_proxy
    server #2 become an cluster node, let say the name is soa_server1
    server #3 become an cluster node, let say the name is soa_server2
    so i start install & configure it (applications is running under Windows Server 2003)
    1.*soa_proxy*
    - Installing WebLogic server
    - Installing SOA
    - Create Repository with RCU (oracle 10g database)
    2.*soa_server1*
    - Installing WebLogic server
    - Installing SOA
    3.*soa_server2*
    - Installing WebLogic server
    - Installing SOA
    after installation finished, then i create domain in soa_proxy server let say it name 'MyDomain', then i assign the soa_server1 and soa_server2 in cluster node named 'MyCluster', also i assign the soa_proxy server as a HTTP Proxy Server.. i'm following the instructions just like this link Link: [http://download.oracle.com/docs/cd/E12839_01/doc.1111/e13925/config_screens.htm#CJAEABGD]
    all the installation seems good, but when i try to deploy my composite application into the proxy server 'soa_proxy' with JDev, i got error like this
    Image: !http://img9.imageshack.us/img9/2122/error2z.jpg!
    and when i go to Http://hostname:7001/em
    i just see my composite deployed only in 'soa_server2'.
    UPDATE : well, now the error was gone when deploying. but we still got little odd result,
    when i deploy with jdev, it still fine, until i go to the enterprise manager. yess still.. my composite only deplyed in 'soa_server1'. i got some reference that we can copy the domain directory in soa_proxy and then paste into the server that not yet been deployed before. its seems oke..
    i've been thinking, how if i got 10 node of cluster? 50 node of cluster ? should i copy the directory just like that ?? is there another charmed way to do it???
    can somebody help me with this simple case?
    regards
    Wildan
    Edited by: wildsoft on Feb 12, 2010 11:33 AM
    =======
    here is my last trial to deploy the cluster environment, then i just got the same issues, our team here think thats the issues causing by oracle bug in code behind. for reminder what i do last experiment
    1. we deploy/configure the domain (admin console,cluster node) then starting up all the services smoothly without no issues & as we saw in the console monitor we can see the cluster is syncronizing.
    2. then we create simple composite.
    3. we try to deploy the composite to the cluster domain, and what we got is the composite only deployed in one cluster node.
    let me describe to clear it,
    * first trial, when we deploy the composite, here is what we got in em console
    *[-] SoaInfra (SoaServer1)*
    [+] CompositeLabTest
    *[-] SoaInfra (SoaServer2)*
    in JDev we also saw this message (the project CompositeLabTest Deploy Process is skipped), some kind like that
    * second time trial, we try to shut the SoaServer2 down, then restart it, what we got in em console
    *[-] SoaInfra (SoaServer1)*
    [+] CompositeLabTest
    *[-] SoaInfra (SoaServer2)*
    [+] CompositeLabTest
    . so until today my soa suite 11g clustering experience is never going good practice.. any of you may had experience with clustering too, how that can be done? please respon...
    thanks
    regards
    Wildan Abdat
    Edited by: wildsoft on Apr 27, 2010 4:08 PM
    Edited by: wildsoft on Apr 27, 2010 4:13 PM

    Hi there.
    Me too I have a similar problem with cluster deployment.
    I have two different domains in two different phisical machine on the same LAN.
    These domains are equals and the sole difference is regarding the IP configuration:
    domain 1
    machine 172.0.0.1
    soaadmin 172.0.0.1
    soa1 172.0.0.2
    soa1 172.0.0.3
    domain 2
    machine 172.0.1.1
    soaadmin 172.0.1.1
    soa1 172.0.1.2
    soa1 172.0.1.3
    When I try to deploy a new composite from the EM this fails (it remains in waiting for a response like the followed)
    <Jun 18, 2010 10:42:00 AM CEST> <Warning> <org.apache.myfaces.trinidadinternal.context.RequestContextImpl> <BEA-000000> <Could not find partial trigger idArchiveFileBrowserDialog from RichInputText[UIXEditableFacesBeanImpl, id=idArchiveLoc]>
    Processing sar=/tmp/dir2448127768139530528tmp/sca_SOAComposite1_rev1.0.jar
    Adding sar file - /tmp/dir2448127768139530528tmp/sca_SOAComposite1_rev1.0.jar
    Creating HTTP connection to host:172.0.0.2, port:10002
    What I checked:
    In multicast configuration soa1 (domain1) sent the request to all soa servers in the LAN (even in that one that aren't configurated in his domain)
    In unicast configuration soa1 (domain1) sent the request only to the soa2 (domain1) server but it remain in waiting for a response for all the time.
    What it is strange is that if I stop the domain2 the request can be performed and my composite is deployed in both the servers.
    Any idea about this strange behaviour?
    N.B.
    I'm not using Coherence.

  • XML to CSV routine using XSLT.  Oracle bugs?

    I'm trying to write some XSLT so that I can apply it to any given XML using  XMLTransform to generate a flattened CSV structure.  My input can be any XML document, with any number of nested levels so the structure isn't known to the XSLT.  I'm fairly new to XSLT but am having problem with Oracle's version of it.  I've tested on both 10gR2 and 11gR2.
    CSV Rules :
    Adjacent fields must be separated by a comma
    Embedded commas in fields are escaped e.g. 15, Maple Street => "15, Maple Street"
    Embedded quotes in fields are escaped.  e.g. O'Brien => "O'Brien" or John "Jonner" McNabb => "John ""Jonner"" McNabb"
    Embedded CR / LF or CRLF in fields are escaped with quotes.
    Records are separated with CRLF pairs
    Flattening Rules :
    The text of leaf elements (elements without children) are output even if they are empty
    Any element with text is output
    A new line occurs whenever the nesting level changes. i.e. If an element has children.
    When I run the following XML and my XSLT through Oracle I get results inconsistent with results I get when I run the XML and XSLT through online XSLT utils (including W3C's test pages).
    with qryXML as (
      select xmltype(q'[
      <email>
        <to>Steve O'Brien</to>
        <cc/>
        <from>Jane "The Smiler" Griff</from>
        <heading>Reminder</heading>
        <body>Hey, don't forget me this weekend!  I've enclosed some pics from last weekend
      Love Jane
      </body>
        <attachments>
          <attachment>
            <filename>Dance.jpg</filename>
            <encoding>MIME</encoding>
          </attachment>
          <attachment>
            <filename>Signature.txt</filename>
            <encoding/>
          </attachment>
        </attachments>
      </email>
      ]') as XMLDATA from dual)
    select
       XMLTransform(q.XMLDATA,
          xmltype(q'[
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="text"/>
        <xsl:strip-space elements="*"/>
        <xsl:template match="*[text() or not(*)]">
            <xsl:if test="position() &gt; 1">
                <xsl:text>,</xsl:text>
            </xsl:if>
        <xsl:call-template name="display_csv_field">
          <xsl:with-param name="field" select="."/>
        </xsl:call-template>
            <xsl:if test="not(following-sibling::*[text() or not(*)])">
                <xsl:text>
    </xsl:text>         
            </xsl:if>
        </xsl:template>
      <xsl:template name="display_csv_field">
        <xsl:param name="field"/>
        <xsl:variable name="CRLF">
          <xsl:text>&#13;&#10;</xsl:text>
        </xsl:variable>
        <xsl:variable name="CR">
          <xsl:text>&#13;</xsl:text>
        </xsl:variable>
        <xsl:variable name="LF">
          <xsl:text>&#10;</xsl:text>
        </xsl:variable>
        <xsl:variable name="apos">'</xsl:variable>   
        <xsl:choose>
          <xsl:when test="contains( $field, '&quot;' )">
            <!-- Field contains a quote. So escape  -->
            <xsl:text>"</xsl:text>
            <xsl:call-template name="escape_quotes">
              <xsl:with-param name="string" select="$field" />
            </xsl:call-template>
            <xsl:text>"</xsl:text>
          </xsl:when>
          <xsl:when test="contains( $field, ',' ) or
                          contains( $field, $apos ) or
                          contains( $field, $CRLF ) or
                          contains( $field, $CR ) or
                          contains( $field, $LF )" >
            <!-- Field contains a comma, apostrophe and/or a linefeed, so quote -->
            <xsl:text>"</xsl:text>
            <xsl:value-of select="$field" />
            <xsl:text>"</xsl:text>
          </xsl:when>
          <xsl:otherwise>
            <!-- No need to enclose this field in quotes. -->
            <xsl:value-of select="$field" />
          </xsl:otherwise>
        </xsl:choose>
      </xsl:template>
      <xsl:template name="escape_quotes">
        <xsl:param name="string" />
        <xsl:value-of select="substring-before( $string, '&quot;' )" />
        <xsl:text>""</xsl:text>
        <xsl:variable name="substring_after_first_quote"
                      select="substring-after( $string, '&quot;' )" />
        <xsl:choose>
          <xsl:when test="not( contains( $substring_after_first_quote, '&quot;' ) )">
            <xsl:value-of select="$substring_after_first_quote" />
          </xsl:when>
          <xsl:otherwise>
            <!-- The substring after the first quote contains a quote.
                 So, we call ourself recursively to escape the quotes
                 in the substring after the first quote. -->
            <xsl:call-template name="escape_quotes">
              <xsl:with-param name="string" select="$substring_after_first_quote" />
            </xsl:call-template>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:template> 
    </xsl:stylesheet>
    )) from qryXML q  
    Output from Oracle (which appears incorrect)
    &quot;Steve O&apos;Brien&quot;&quot;Jane &quot;&quot;The Smiler&quot;&quot; Griff&quot;Reminder&quot;Hey, don&apos;t forget me this weekend!  I&apos;ve enclosed some pics from last weekend
      Love Jane
      &quot;
    Dance.jpgMIME
    Signature.txt
    Output from most other XSLT test environments (which appears correct):
    "Steve O'Brien",,"Jane ""The Smiler"" Griff",Reminder,"Hey, don't forget me this weekend!  I've enclosed some pics from last weekend
    Love Jane
    Dance.jpg,MIME
    Signature.txt,
    Oracle's XSLT handling appears incorrect in several ways:
    1. There is no comma delimiter separating fields and on investigation, position() is always returning 1, which is incorrect.  From XSLT reference "The position function returns a number equal to the context position from the expression evaluation context." ...."the position, or index number, of the node, relative to all the selected nodes in the node list."  Therefore any node in a node list should be indexable with position.   I am selecting a node list *[text() or not(*)] => Any nodes with text or with no children, yet position of each node in this list is always 1.
    2. My XSLT says the output is text, yet Oracle is still using HTML character escaping which is not text!  &quot; instead of " and &apos; instead of '.  I could search and replace, but I shouldn't have to.
    Can anyone explain why Oracle's XSLT differs from other XSLT processors and offer suggestions to solve these issues.  Are these bugs?

    Here's an example tested on 11.2.0.2 :
    SQL> set scan off
    SQL> set long 5000
    SQL> set lines 200
    SQL> var doc clob
    SQL> begin
      2   :doc := '<email>
      3      <to>Steve O''Brien</to>
      4      <cc/>
      5      <from>Jane "The Smiler" Griff</from>
      6      <heading>Reminder</heading>
      7      <body>Hey, don''t forget me this weekend!  I''ve enclosed some pics from last weekend
      8    Love Jane
      9    </body>
    10      <attachments>
    11        <attachment>
    12          <filename>Dance.jpg</filename>
    13          <encoding>MIME</encoding>
    14        </attachment>
    15        <attachment>
    16          <filename>Signature.txt</filename>
    17          <encoding/>
    18        </attachment>
    19      </attachments>
    20    </email>';
    21  end;
    22  /
    PL/SQL procedure successfully completed.
    SQL> select xmlcast(
      2           xmlquery(
      3           'declare function local:formatField ($e as element()) as xs:string
      4            {
      5              let $t := ora:replace($e, "&quot;", "&quot;&quot;")
      6              return if (    contains($t, "&quot;")
      7                          or contains($t, ",")
      8                          or contains($t, "&apos;")
      9                          or contains($t, "&#13;")
    10                          or contains($t, "&#10;") )
    11                     then concat("&quot;", $t, "&quot;")
    12                     else $e
    13            }; (::)
    14            string-join(
    15              for $i in //*[*[text() or not(node())]]
    16              return
    17                string-join(
    18                  for $j in $i/*[text() or not(node())]
    19                  return local:formatField($j)
    20                , ","
    21                )
    22            , "&#13;&#10;"
    23            )'
    24             passing xmltype(:doc)
    25             returning content
    26           )
    27           as clob
    28         ) as result
    29  from dual ;
    RESULT
    "Steve O'Brien",,"Jane ""The Smiler"" Griff",Reminder,"Hey, don't forget me this
    weekend!  I've enclosed some pics from last weekend
      Love Jane
    Dance.jpg,MIME
    Signature.txt,
    We could also use a single ora:matches function in place of the OR'ed contains but it doesn't appear to work on 11.2.0.3, got an internal error :
    ORA-00600: code d'erreur interne, arguments : [qmxqrs_xvm_popLastFuncArgAsStr:1], [], [], [], [], [], [], [], [], [], [], []

  • Oracle BUG (CASE + remote tables + inline view)

    Oracle 9.2.0.8
    BUG: Oracle inserts NULL when we use CASE statement in the SELECT query and we join a remote table with inline view.
    Script:
    CREATE TABLE t1 (a number(19,4)OK.
    SELECT (case when b = 1 then c else d end)
    FROM t2@Remote LEFT JOIN
    (SELECT a FROM t3@Remote) q ON (t2.a = q.a)123
    456
    789
    3 rows selected.
    INSERT INTO TABLE t1 (a)
    SELECT (case when b = 1 then c else d end)
    FROM t2@Remote LEFT JOIN
    (SELECT a FROM t3@Remote) q ON (t2.a = q.a)3 rows inserted.
    SELECT * FROM t1<null>
    <null>
    <null>
    3 rows selected
    Oracle inserts the correct values if I:
    * replace the CASE with DECODE
    * join with table not with an inline view
    * join local tables
    Someone with registration in the Metalink can post the bug.
    Best regards, Beroetz

    Oracle 9.2.0.8
    BUG: Oracle inserts NULL when we use CASE statement in the SELECT query and we join a remote table with inline view.
    Script:
    CREATE TABLE t1 (a number(19,4)OK.
    SELECT (case when b = 1 then c else d end)
    FROM t2@Remote LEFT JOIN
    (SELECT a FROM t3@Remote) q ON (t2.a = q.a)123
    456
    789
    3 rows selected.
    INSERT INTO TABLE t1 (a)
    SELECT (case when b = 1 then c else d end)
    FROM t2@Remote LEFT JOIN
    (SELECT a FROM t3@Remote) q ON (t2.a = q.a)3 rows inserted.
    SELECT * FROM t1<null>
    <null>
    <null>
    3 rows selected
    Oracle inserts the correct values if I:
    * replace the CASE with DECODE
    * join with table not with an inline view
    * join local tables
    Someone with registration in the Metalink can post the bug.
    Best regards, Beroetz

  • Unable to Execute QUery ORA -00911 Probably Oracle Bug Please confirm

    HI Gurus,
    Unable to run the query:
    Was able to run select query fine, was able to run insert query fine...but when combining and running, its throwng the follwoing error:
    Is this a bug in ORacle?
    Error starting at line 1 in command:
    INSERT INTO MigrationCorrespData1(did) SELECT did from revisions where (dInDate >={ts '2011-09-01 00:00:01'} and dInDate <={ts '2012-01-01 23:59:59'})
    Error at Command Line:1 Column:80
    Error report:
    SQL Error: ORA-00911: invalid character

    It's not a bug, your syntax just isn't Oracle syntax.
    I googled a bit (which you could have done yourself as easily) and it appears that your syntax is JDBC syntax. The Oracle equivalent is timestamp:
    select timestamp'2009-12-08 00:00:00.000' my_ts from dual;
    MY_TS                         
    08-DEC-09 12.00.00.000000000 AMEdited by: InoL on Jun 6, 2012 8:57 AM

  • Oracle bugs?

    I use Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod in windows2003, and I made a script:
    DROP table test_constraint;
    create table test_constraint
    col1          NUMBER(1)
              CONSTRAINT cn_tc_col1 NOT NULL
              CONSTRAINT cc_tc_col1 CHECK (col1 IN (1,2,8)),
    col2          DATE
    CONSTRAINT cn_tc_col2 NOT NULL,
    col3          char(1)
    CONSTRAINT cc_tc_col3 CHECK (col3 IN ('S','D'))
    ALTER TABLE test_constraint
    ADD CONSTRAINT tc_tc_col1_col3 CHECK
    ((col1 = 8 AND col3 IS NOT NULL AND col3 = 'D') OR
    (col1 = 1 AND col3 IS NOT NULL AND col3 = 'S') OR
    (col1 NOT IN (1,8) AND col3 IS NULL ));
    insert into test_constraint values (1,sysdate,'S');
    insert into test_constraint values (8,sysdate,'D');
    insert into test_constraint values (2,sysdate,NULL);
    select * from test_constraint;
    commit;
    create or replace
    TRIGGER tr_test_constraint_br
    BEFORE UPDATE ON test_constraint
    FOR EACH ROW
    BEGIN
    IF :new.col1 = 8 THEN
    :new.col3 := 'D';
    END IF;
    END;
    set serveroutput on;
    DECLARE
    LVCol2     test_constraint.col2%TYPE;
    LVCol3     test_constraint.col3%TYPE;
    BEGIN
    UPDATE test_constraint
    SET col1 = 8,
    col2 = sysdate
    WHERE col1 = 1
    RETURNING col2, col3
    INTO LVCol2,LVCol3;
    dbms_output.put_line('col2 = ' || LVCol2);
    dbms_output.put_line('col3 = ' || LVCol3);
    END;
    it will generate check constraint violated error here. but if you:
    alter table test_constraint disable constraint tc_tc_col1_col3;     
    and execute that pl/sql block again, it works fine.
    Any one knows that it is a bug for Oracle Database 10g Enterprise Edition Release 10.2.0.1.0?

    on 10.2.0.3, it works, as per the documentation
    http://download.oracle.com/docs/cd/B14117_01/server.101/b10743/triggers.htm#i13362
    so, yes, its a bug. apply a patch. upgrade. whatever it takes.

  • Oracle bug? - Oracle opinion welcomed (copy of post in OC4J forum)

    Hi,
    We are trying to run two web modules (A and B) on OC4J 10g standalone (on Windows 2000/XP), but we are facing a big problem.
    After much investigation we really think it is a OC4J bug, but we are opened to any opinion or solution...
    The problem is that a servlet or jsp on the web module B sometimes seems processed by OC4J by a thread created for the other web module A. As a consequence, if in the servlet (in fact in the method of a class instanciated in the servlet...) of B, we perform :
    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    then we get the classloader of the web module A, and then we are not able to instantiate a class of B and get a "ClassNotFoundException".
    This problem does not always happens. It is random even if it seems to have much more chance to happen if we execute requests on both modules in a little delay.
    We tried running the two web module in a single EAR or in two separate EAR but it made no difference.
    A debug of OC4J (with Eclipse 2.1) consolidates our mind it is a OC4J problem. Here is the kind of pile of execution we get for a thread HTTPRequestHandler of OC4J :
    [top of pile]
    ServletRequestDispatcher.forwardInternal(ServletRequest, HttpServletResponse) line 317
    HttpRequestHandler.processRequest(ApplicationServerThread, EvermindHttpServlet, ...) line 790
    => in this method we have the attributes :
    - thread.contextClassLoader = the one of web module A
    - request.application.name = module_B_name and request.application.contextPatch = module_B_contextpath
    ApplicationServerThread(Thread).run() line: 536
    We already met classloader problems and resolved them putting some common librairies of A and B in the applib directory. But this can not be envisaged for our new problem. Moreover we want to keep a "parent first" classloading.
    Has someone already met similar problems ?
    Thanks for any help.

    Thanks for the answers.
    I use a OC4J 10g 9.0.4 version but an evaluation version so I have no support id for a TAR.
    Sorry if my problem is difficult to understand (maybe it's my english which is difficult to understand!), but it is really difficult to explain...
    In fact the OC4J output does not show the classloading problem.
    I use Struts in the two WAR modules, and, for those who know Struts, it appears that I sometimes get a nullPointerException because in a Struts action my ActionForm is null (which should never happened). To find why the ActionForm is null I debug my application with Eclipse and I found the ActionForm was instanciated with the following code (classname is the name of a class extending the ActionForm class):
    // Look up the class loader to be used
    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    if (classLoader == null) {
    classLoader = RequestUtils.class.getClassLoader();
    // Attempt to load the specified class
    return (classLoader.loadClass(className));
    It appears that classLoader.loadClass(className) throws a ClassNotFoundException, and Struts, instead of throwing the exception, returns a value null for the ActionForm.
    With the debug I watch which classloader was used and I was surprised to see it was the classloader of my other WAR module. Though the struts servlet is well called on the good web application, and all the struts class are in the web-inf/lib directory of each application.
    I'm not sure this will make my problem easier to understand. Thanks for all who will make the effort of understand.
    emmanuel

  • Weblogic 6.1sp3 Oracle 9i connectivity issue

    All,
    I need your help in overcoming a Connection Pool issue. Details are:
    -Configuration - Weblogic 6.1 sp2, Oracle 9i (on a P4 machine)
    -Connection pool entry (config.xml)
    <JDBCConnectionPool CapacityIncrement="1" DriverName="oracle.jdbc.driver.OracleDriver"
    InitialCapacity="5"
    MaxCapacity="25" Name="ejbPool" Properties="user=testuser;password=testpassword;dll=ocijdbc8;protocol=thin"
    RefreshMinutes="10" ShrinkPeriodMinutes="5" Targets="myserver"
    TestConnectionsOnReserve="true" TestTableName="dual" URL="jdbc:oracle:thin:@delmtest:1521:SID"/>
    While starting weblogic, I get the following exception:
    <Oct 25, 2002 5:00:46 PM IST> <Error> <JDBC> <Cannot startup connection pool "ejbPool"
    weblogic.common.ResourceException:
    Could not create pool connection. The DBMS driver exception was:
    java.lang.ArrayIndexOutOfBoundsException
    at oracle.security.o3logon.C0.r(C0)
    at oracle.security.o3logon.C0.l(C0)
    at oracle.security.o3logon.C1.c(C1)
    at oracle.security.o3logon.O3LoginClientHelper.getEPasswd(O3LoginClientHelper)
    Any pointers will be greatly appreciated.
    Thanks,
    Raja

    Problem solved!! Solution was to include the correct classes12.jar file in the
    CLASSPATH BEFORE weblogic.jar. This is because weblogic.jar also ships with an
    oracle driver, which is 8.1.7 (not 9i).
    Thanks for your help..
    Joseph Weinstein <[email protected]> wrote:
    >
    >
    Raja Raman wrote:
    Full stack trace is:Yep. The pool never got created. The failure below is during pool creation,
    and is definitely an Oracle internal problem. You should simplify the
    problem
    by trying (maybe with Oracle's help) to make a simple JDBC connection
    to your DBMS, with their driver, in a simple standalone program.
    joe
    <Oct 25, 2002 7:38:25 PM IST> <Error> <JDBC> <Cannot startup connectionpool "ejbPool"
    weblogic.common.ResourceException:
    Could not create pool connection. The DBMS driver exception was:
    java.lang.ArrayIndexOutOfBoundsException
    at oracle.security.o3logon.C0.r(C0)
    at oracle.security.o3logon.C0.l(C0)
    at oracle.security.o3logon.C1.c(C1)
    at oracle.security.o3logon.O3LoginClientHelper.getEPasswd(O3LoginClientHelper)
    at oracle.jdbc.ttc7.O3log.<init>(O3log.java:289)
    at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:251)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:246)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:365)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:260)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:193)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:134)
    at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:698)
    at weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java:282)
    at weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:623)
    at weblogic.jdbc.common.JDBCService.addDeployment(JDBCService.java:107)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:279)
    at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:233)
    at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:193)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
    at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:359)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
    at $Proxy28.updateDeployments(Unknown Source)
    at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2761)
    at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:370)
    at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:160)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
    at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:359)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
    at $Proxy37.start(Unknown Source)
    at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean_CachingStub.java:480)
    at weblogic.management.Admin.startApplicationManager(Admin.java:1180)
    at weblogic.management.Admin.finish(Admin.java:590)
    at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:518)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:203)
    at weblogic.Server.main(Server.java:35)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:209)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:134)
    at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:698)
    at weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java:282)
    at weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:623)
    at weblogic.jdbc.common.JDBCService.addDeployment(JDBCService.java:107)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:279)
    at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:233)
    at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:193)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
    at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:359)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
    at $Proxy28.updateDeployments(Unknown Source)
    at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2761)
    at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:370)
    at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:160)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
    at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:359)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
    at $Proxy37.start(Unknown Source)
    at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean_CachingStub.java:480)
    at weblogic.management.Admin.startApplicationManager(Admin.java:1180)
    at weblogic.management.Admin.finish(Admin.java:590)
    at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:518)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:203)
    at weblogic.Server.main(Server.java:35)
    >
    Joseph Weinstein <[email protected]> wrote:
    Raja Raman wrote:
    All,
    I need your help in overcoming a Connection Pool issue. Details
    are:
    -Configuration - Weblogic 6.1 sp2, Oracle 9i (on a P4 machine)
    -Connection pool entry (config.xml)
    <JDBCConnectionPool CapacityIncrement="1" DriverName="oracle.jdbc.driver.OracleDriver"
    InitialCapacity="5"
    MaxCapacity="25" Name="ejbPool" Properties="user=testuser;password=testpassword;dll=ocijdbc8;protocol=thin"
    RefreshMinutes="10" ShrinkPeriodMinutes="5" Targets="myserver"
    TestConnectionsOnReserve="true" TestTableName="dual" URL="jdbc:oracle:thin:@delmtest:1521:SID"/>
    While starting weblogic, I get the following exception:
    <Oct 25, 2002 5:00:46 PM IST> <Error> <JDBC> <Cannot startup connectionpool "ejbPool"
    weblogic.common.ResourceException:
    Could not create pool connection. The DBMS driver exception was:
    java.lang.ArrayIndexOutOfBoundsException
    at oracle.security.o3logon.C0.r(C0)
    at oracle.security.o3logon.C0.l(C0)
    at oracle.security.o3logon.C1.c(C1)
    at oracle.security.o3logon.O3LoginClientHelper.getEPasswd(O3LoginClientHelper)Let me see the whole stacktrace. From the pool definition, the pooleither
    never got created,
    or it did get created and made some successful connections, so I suspect
    you may not be
    actually trying to get pool connections.
    Joe Weinstein at BEA
    Any pointers will be greatly appreciated.
    Thanks,
    Raja

  • Weblogic8.1sp4 Oracle JDBC driver

    we are upgrading the weblogic from 6.1 to 8.1sp4. Thse Oracle database the company using is Oracle 9i.
              On 6.1, we have to use the Oracle shiped driver(jdbc:oracle:thin) and put the zip file in the weblogic classpath. While working on the 8.1sp4. Does choosing the Oracle thin Driver for 8.1,9.0,10. is good enough to support the current Oracle version, and no need to set the classpath.
              Thanks
              CC

    cathy chow wrote:
              > we are upgrading the weblogic from 6.1 to 8.1sp4. Thse Oracle database the company using is Oracle 9i.
              >
              > On 6.1, we have to use the Oracle shiped driver(jdbc:oracle:thin) and put the zip file in the weblogic
              > classpath. While working on the 8.1sp4. Does choosing the Oracle thin Driver for 8.1,9.0,10. is good
              > enough to support the current Oracle version, and no need to set the classpath.
              >
              Yes.
              Joe
              > Thanks
              > CC

  • Oracle SQL - Bug

    Hi All,
    I am writing this so that someone someday can take this to Oracle Corp as this is a simple bug which ought to be rectified by Oracle.
    Eg: select * from emp a where a.empno in ( select empno from empl b)
    Here i am using an Isolation Level 1 by using a Sub-Query to only return rows that matches with empno in table Empl but Empl table used in Sub Query does not have a Column by name empno . This should have returned an Oracle error instead it is taking the Column alias of table emp in Main Query.
    Many of us here will think or presume that this is correct as when using Isolation levels but this is not happening that way . There is an Oracle Bug which ought to be rectified in their next release.

    Definitively not a bug, at least bad query writing.
    Use prefix should solve your problem, something like this :
    select * from emp a where a.empno in ( select[b] b.empno from empl b)Furthermore, I wouldn't understand why you want, in the subquery, get the empno from the emp table instead of empl.
    Here was some threads about that, please read one of them here below :
    Re: Bug in Oracle 9.2.0.1.0.
    Moreover, this is not because you said "many of us here" want a correction that Oracle will correct it, because that's not a bug !
    Nicolas.

Maybe you are looking for