Getting inline schema documentation with JDBC

Some databases (Oracle, IBM DB2) provides possibility to add additional documentation to database schema (using SQL commands COMMENT ON, LABEL ON). This is information is preserved together with other meta-information about tables in the database.
Is it possible to access this documentation with JDBC?
Best,
Maciej
Edited by: dzieciou on Feb 13, 2009 3:16 AM

Frank
- is the JDBC jar file required on the "Server" side (RHEL 5.3) or "Client" side (Windows XP) (sorry if I'm using the wrong terminology, I'm still getting started with OWB)?
Yes. At the client JDBC driver is required to import the metadata (tables\views\etc) and at the server to execute the code generated by code templates.
- the JDBC driver requires a .dll (Win) / .so (Linux); is this possible with OWB? Or does OWB accept only "pure" JDBC drivers?
Not sure about this one - the .dll and .so are OS files , i think the JDBC driver should figure it out if they are configured correctly on the OS
- is there any possibility to debug the JDBC access (some kind of log file, perhaps)?
There are two ways you can debug
1) Logging at the OWB level (client side) -
The following blog to demonstrates how to do it
http://blogs.oracle.com/warehousebuilder/2009/11/how_to_turn_on_logging_for_owb_112_design_client.html
2) JDBC Driver logging -
Few JDBC drivers provides logging , you can specify the log file as part of your JDBC URL. Check the documentation of your JDBC driver (PI JDBC driver) whether it provides you that feature.
Regards,
Suraj.

Similar Messages

  • How can I get the same session with jdbc?

    HI
    After I create or use a JDBC connection,
    i do a query.
    How can I get the same session next time?
    thanks a lot!

    Hi qin,
    Unless I have misunderstood your question, a 'connection' and a 'session' are the same thing. When you obtain a database connection, you have created a database session. Once you close that connection, the session dies -- it no longer exists. You cannot obtain the same 'session' when you get another database 'connection' (after you closed the first one).
    Hope this answers your question.
    Good Luck,
    Avi.

  • Error when create XMLType object with JDBC connection

    Hello, I try to get an XMLType object with JDBC, but it doesn't work. Can somebody help me?
    My code is :
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@"+"a02w03:1521:PROJET", "scott", "tiger");
    OraclePreparedStatement stmt = (OraclePreparedStatement) conn.prepareStatement("select xmldoc from cv_col");
    ResultSet rset = stmt.executeQuery();
    OracleResultSet orset = (OracleResultSet) rset;
    while(orset.next())
    OPAQUE o = orset.getOPAQUE(1);
    System.out.println(o.getSQLTypeName());
    XMLType poxml = XMLType.createXML(o);
    My database table:
    CREATE TABLE cv_col (
    XMLDoc xmltype
    Execution: The SQL type name "SYS.XMLTYPE" is write and then I obtain the error:
    Exception in thread main
    java.lang.NoSuchMethodError: java.lang.String oracle.jdbc.internal.OracleConnection.getProtocolType()
         at oracle.xdb.XMLType.initConn(XMLType.java:2072)
         at oracle.xdb.XMLType.<init>(XMLType.java:903)
         at oracle.xdb.XMLType.createXML(XMLType.java:493)
         at Prog.main(Prog.java:26)
    Process exited with exit code 1.
    Thank you, very much!

    What platform are you using for the database, what are you running your code on.
    Which database version are you working with.. What is your class path. What version of JDBC and OCI are in the client environment, eg what are CLASSPATH and PATH / LD_LIBRARY_PATH settings. Have you tested your code using a simple IDE like Oracle's JDeveloper or run it from directly from the command line.

  • How to get the field's type in the database with jdbc?

    How to get the one filed's type(varchar,int,long...etc) with jdbc??
    Can u help me??
    It's best that giving a sample code..

    Thx for your reply,BheegaChicken! But i use it with
    oracle9i jdbc..It doesn't return to my the fields
    type correctly..
    This is problem is caused by oracle jdbc??
    Can u tell me??It depends on the driver classes you are using... some of them don't have an implementation for those methods and you won''t get anything useful. Check the driver documentation.
    ***Annie***

  • Error getting schema root with OLAP API

    I am getting the following error:
    java.sql.SQLException: Io exception: Connection reset by peer: JVM_recv in socket input stream read
         void oracle.jdbc.dbaccess.DBError.throwSqlException(java.lang.String, java.lang.String, int)
         void oracle.jdbc.dbaccess.DBError.throwSqlException(int, java.lang.Object)
         void oracle.jdbc.dbaccess.DBError.throwSqlException(java.io.IOException)
         void oracle.jdbc.driver.OracleStatement.executeNonQuery(boolean)
         void oracle.jdbc.driver.OracleStatement.doExecuteOther(boolean)
         void oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout()
         int oracle.jdbc.driver.OraclePreparedStatement.executeUpdate()
         boolean oracle.jdbc.driver.OraclePreparedStatement.execute()
         oracle.express.idl.ExpressMdmModule.MetadataPropertyBagUnion[] oracle.express.idl.ExpressMdmModule.MetadataProviderInterfaceStub.getMetadataPropertyBags(java.lang.String[])
         oracle.express.mdm.MetadataPropertyBag[] oracle.express.mdm.MetadataPropertyBagFetcher.fetchMetadataPropertyBags(java.lang.String[])
         oracle.express.mdm.MdmObject oracle.express.mdm.MdmMetadataProvider.getMetadataObject(java.lang.String)
         oracle.express.mdm.MdmSchema oracle.express.mdm.MdmMetadataProvider.getRootSchema()
         void mypackage3.olaptest.<init>()
         void mypackage3.olaptest.main(java.lang.String[])
    java.lang.NullPointerException
         oracle.express.mdm.MetadataPropertyBag[] oracle.express.mdm.MetadataPropertyBagFetcher.fetchMetadataPropertyBags(java.lang.String[])
         oracle.express.mdm.MdmObject oracle.express.mdm.MdmMetadataProvider.getMetadataObject(java.lang.String)
         oracle.express.mdm.MdmSchema oracle.express.mdm.MdmMetadataProvider.getRootSchema()
         void mypackage3.olaptest.<init>()
         void mypackage3.olaptest.main(java.lang.String[])
    ***Exception encountered : java.lang.NullPointerException
    Process exited with exit code 0.
    ... when running the following code
    try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    String url = "jdbc:oracle:thin:@jonm2000:1521:jonm";
    String user = "sh";
    String password = "sh";
    oracle.jdbc.OracleConnection conn = (oracle.jdbc.OracleConnection)java.sql.DriverManager.getConnection(url, user, password);
    ExpressTransactionProvider tp = new ExpressTransactionProvider();
    ExpressDataProvider dp = new ExpressDataProvider(conn, tp);
    dp.initialize();
    MdmMetadataProvider mp = null;
    mp = (MdmMetadataProvider) dp.getDefaultMetadataProvider();
    MdmSchema root = mp.getRootSchema();
    dp.close();
    conn.close();
    catch(Exception e) {
    System.out.println("***Exception encountered : " + e.toString());
    e.printStackTrace();
    It is also brings down the Oracle database.
    I am running:
    JDeveloper 9.0.2.822.0
    Oracle Database 9.0.2.1.0
    The code I am running is pretty much copied from the Oracle OLAP API guide - does anyone know why I am getting problems?

    It appears to be missing metadata. Since you are trying to get the schema, this is most likely a field that is required but not present (something silly, like labels). Try the following scripts posted below that verify metadata.
    When creating solved level hierarchies, all of these dimensions require 4 special dimension attributes. All 4 of these dimension attributes require a level attribute to be mapped to a populated column in each of the solved hierarchies.
    The 4 special attributes are:
    GID
    PARENT_GID
    ET
    PARENT_ET.
    You can check if these attributes exist with the following query:
    SELECT DA.OWNER,\n\
    DA.DIMENSION_NAME,\n\
    DA.ATTRIBUTE_NAME,\n\
    NVL(DA.DISPLAY_NAME, DA.ATTRIBUTE_NAME),\n\
    NVL(DA.DESCRIPTION, DA.ATTRIBUTE_NAME),\n\
    (CASE WHEN D.DESCRIPTOR_VALUE = 'Long Description' THEN 4\n\
    WHEN D.DESCRIPTOR_VALUE = 'Short Description' THEN 5\n\
    WHEN D.DESCRIPTOR_VALUE = 'End Date' THEN 1\n\
    WHEN D.DESCRIPTOR_VALUE = 'Time Span' THEN 2\n\
    WHEN D.DESCRIPTOR_VALUE = 'Year Ago Period' THEN 3\n\
    WHEN D.DESCRIPTOR_VALUE = 'Grouping ID' THEN 6\n\
    WHEN D.DESCRIPTOR_VALUE = 'Parent Grouping ID' THEN 7\n\
    WHEN D.DESCRIPTOR_VALUE = 'ET Key' THEN 8\n\
    WHEN D.DESCRIPTOR_VALUE = 'Parent ET Key' THEN 9\n\
    ELSE 0\n\
    END)\n\
    FROM ALL_OLAP2_DIM_ATTRIBUTES DA,\n\
    all_olap2_entity_desc_uses edu,\n\
    all_olap_descriptors d\n\
    where\n\
    DA.OWNER = EDU.ENTITY_OWNER (+)\n\
    AND DA.DIMENSION_NAME = EDU.ENTITY_NAME (+)\n\
    AND DA.ATTRIBUTE_NAME = EDU.CHILD_ENTITY_NAME (+)\n\
    AND EDU.DESCRIPTOR_ID = D.DESCRIPTOR_ID (+)\n\
    ORDER BY DA.OWNER, DA.DIMENSION_NAME, DA.ATTRIBUTE_NAME
    For these 4 attributes, it's not enough that they just exist, (note you can name them whatever you want) but they also have to be marked as the appropriate type as per the above SQL.
    Note also that the above SQL checks for other specially marked attributes such as Long/Short Description and End Date/Time Span. These attributes can exist without being marked as such (and can even be missing completely), and OLAP API will still function. However, I believe the OLAP API functions "better" if these attributes exist and are marked as special.
    The below SQL will check your column mappings for all attributes. (As a general rule, you shouldn't have to worry too much about mapping any CWMLITE logical entity to a valid table/column, because the CWMLITE API should catch if you don't use a valid table/column.)
    select owner,\n\
    dimension_name,\n\
    hierarchy_name,\n\
    level_name,\n\
    attribute_name,\n\
    table_owner,\n\
    table_name,\n\
    column_name,\n\
    (case when dtype = 'NUMBER' then 0\n\
    when dtype = 'DOUBLE' then 5\n\
    when dtype = 'FLOAT' then 4\n\
    when dtype = 'DATE' then 7\n\
    else 1 end)\n\
    from\n\
    all_olap2_dim_level_attr_maps\n\
    ORDER BY OWNER, DIMENSION_NAME, HIERARCHY_NAME, ATTRIBUTE_NAME
    Finally, note that any hierarchy which you map as coming from an AW will be a solved level hierarchy.

  • Generating the wsdl with inline schema for the bpel process

    Hi
    When a BPEL process is deployed, we can get the WSDL of the same by logging into the BPEL console, but the WSDL contains the reference to the schema using the namespace. Can we generate the wsdl with the inline schema.
    Suggestions are highly appreciated.
    Thanks

    Hi,
    If the wsdl is referring to a Schema file you won't be able to see the schema definition in the WSDL file itself,for that you have to refer to the deployed jar which contains the XML schema.The default path for the deployed jar is <Oracle_SOA_Installed_Home>/bpel/domains/<domain_name>/tmp/<bpelprocess.jar>
    Otherwise if you have the source project you can always refer to it in JDev.
    Rgrds.

  • Error in WSDL file with Inline schemas in RAD

    Hi,
    I am having a WSDL which is generated in Weblogic workshop. I need to generate a client for that WSDL in RAD 7.0 with websphere 6.1.
    WSDL is having inline schemas. when i used the same WSDL in RAD it is showing compile time errors at complex types.
    My scenario: I am getting error at type="*_Type1_*" , it saying type reference is unresolved.
    <xs:schema xmlns="XXXX" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="XXXX" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:complexType name="complextype1">
    <xs:sequence>
    <xs:element name="Location" type="*_Type1_*" nillable="true"/>
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="XXXX" targetNamespace="XXXX" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:simpleType name="Type1">
    <xs:restriction base="xs:string"/>
    </xs:simpleType>
    </xs:schema>
    Thanks in advance.

    Hi,
    I am also getting the same problem on a Web Service created from a function module. This happens when I try to create a new endpoint and save.
    Did you manage to find a solution to this.
    Regards,
    Andy.

  • Accessing a specific schema with JDBC

    My database has several schemas and I'm trying to access a specific schema using the following code snipet:
    Class driverClass = Class("oracle.jdbc.driver.OracleDriver");
    Connection jdbcConnection = Drivermanager.getConnection("jdbc:oracle:thin:@datastore:1527:dbname","username","password");
    IDatabaseConnection connection = new DatabaseConnection(jdbcConnection);
    Is there a way to access schema mike27 on dbname? I keep getting the schema pointed to by the public synonyms.

    Hi,
    I would think that you have to override the doDML method in ADF BC to then insert/update the values in the scott schema. For this the main schema must have privileges on teh Scott schema to perform the operation
    Frank

  • 3rd party integration: How to get XML Schema (.xsd) for a custom entity, to use with a mapper

    Is there an easy way to get the xml schema/DTD for a custom entity, specifically an .XSD file for that entity (which will then be used to create a map to be able to transform the fields of the entity to a 3rd-party message format)?
    So have a custom entity with lots and lots of fields. Each of the fields will map to a differently named field to match the schema of the 3rd party entity. A very common situation. Looking to use a tool like the Biztalk mapper or Altova's MapForce to generate
    an .xslt file to transform the downloaded entity (service.Retrieve with all columns) to the new format. (Will implement a typical VETR pattern.)
    Apparently with CRM 4 there was a call that provided this, but from 2011 has not been available. Working with a crm 2015 system.

    That will give a descriptor of the table and allow creation of an .XSD file, but it's really complex in terms of types, and the there's type conversion. It might be an easy way to get a schema, with the downside being it's hard to use that schema. 
    It seems easier to do a fetch of the record with all fields filled in using service.Retrieve, and then converting this to xml, using Microsoft's guidance leads to using https://msdn.microsoft.com/en-us/library/hh675409.aspx which will serialize the entity
    into XML with all the fields converted to type string, and with complex fields likewise converted to strings with additional information about the type. 
    Using this it's possible using an number of tools to create an easier to use .XSD file.
    However, it would seem most integrations of this type are using 3rd party CRM connectors. Perhaps this is why Microsoft hasn't provided anything direct (and took away what they did have in crm4.0 due to it generating a hard to use .XSD or due to letting
    their partners continue income streams from selling connectors").
    But without using 3rd party connectors, or following the still tedious method of generating .XSD (a useable .xsd), have not yet come up with an easy, automatic way to get an .XSD or to easily integrate with 3rd party message format.

  • I have a problem with JDBC Realm in Tomcat/Oracle/Win XP

    I have a problem with JDBC Realm in Tomcat.
    I have attached my server.xml file located in the
    C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\server.xml
    The Problem is that when I login I get the user name and password prompt but it does not resolve.
    When I enter in the tomcat-users.xml password with memory realm uncommented it works fine.
    C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\tomcat-users.xml
    Is there a cache or something I need to reset for the JDBC Realm to work?
    I have attached my tables and contents as well...
    Did I miss something????
    Thanks
    Phil
    server.xml
    <Server port="8005" shutdown="SHUTDOWN">
    <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
    <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
    <!-- Global JNDI resources -->
    <GlobalNamingResources>
    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    </GlobalNamingResources>
    <!-- Define the Tomcat Stand-Alone Service -->
    <Service name="Catalina">
    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector
    port="8080" maxHttpHeaderSize="8192"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" />
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009"
    enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    <!-- Define the top level container in our container hierarchy -->
    <Engine name="Catalina" defaultHost="localhost">
    <!--
    <Realm className="org.apache.catalina.realm.MemoryRealm" />
    -->
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="oracle.jdbc.driver.OracleDriver"
    connectionURL="jdbc:oracle:thin:@localhost:1521:orcl"
    connectionName="testName" connectionPassword="testPass"
    userTable="users"
    userNameCol="user_name"
    userCredCol="user_pass"
    userRoleTable="user_roles"
    roleNameCol="role_name" />
    <!-- Define the default virtual host
    Note: XML Schema validation will not work with Xerces 2.2.
    -->
    <Host name="localhost" appBase="webapps"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    </Host>
    </Engine>
    </Service>
    </Server>
    Tables
    create table users
    user_name varchar(15) not null primary key,
    user_pass varchar(15) not null
    create table roles
    role_name varchar(15) not null primary key
    create table user_roles
    user_name varchar(15) not null,
    role_name varchar(15) not null,
    primary key( user_name, role_name )
    select * from users;
    ----------------------+
    | user_name | user_pass |
    ----------------------+
    | tomcat | tomcat |
    | user1 | tomcat |
    | user2 | tomcat |
    | user3 | tomcat |
    ----------------------+
    select * from roles;
    | role_name |
    | tomcat |
    | role1 |
    select * from user_roles;
    -----------------------+
    | role_name | user_name |
    -----------------------+
    | tomcat | user1 |
    | role1 | user2 |
    | tomcat | tomcat |
    | role1 | tomcat |
    -----------------------+

    Jan 2, 2008 11:49:35 AM org.apache.coyote.http11.Http11Protocol init
    INFO: Initializing Coyote HTTP/1.1 on http-8080
    Jan 2, 2008 11:49:35 AM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 734 ms
    Jan 2, 2008 11:49:35 AM org.apache.catalina.core.StandardService start
    INFO: Starting service Catalina
    Jan 2, 2008 11:49:35 AM org.apache.catalina.core.StandardEngine start
    INFO: Starting Servlet Engine: Apache Tomcat/5.5.9
    Jan 2, 2008 11:49:35 AM org.apache.catalina.realm.JDBCRealm start
    SEVERE: Exception opening database connection
    java.sql.SQLException: oracle.jdbc.driver.OracleDriver
         at org.apache.catalina.realm.JDBCRealm.open(JDBCRealm.java:684)
         at org.apache.catalina.realm.JDBCRealm.start(JDBCRealm.java:758)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1004)
         at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
         at org.apache.catalina.core.StandardService.start(StandardService.java:450)
         at org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
         at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
    Jan 2, 2008 11:49:35 AM org.apache.catalina.core.StandardHost start
    INFO: XML validation disabled
    Jan 2, 2008 11:49:36 AM org.apache.catalina.core.StandardContext resourcesStart

  • Get Database Schema Name

    Hi,
    I am trying to retrieve the schema name from my application so I can perform some ALTER DATABASE `foo`... statements in MySql which ensure database intergrity for my application. Ideally i would want to accomplish this without having to run a regular expression on my connect url:
    url="jdbc:mysql://localhost:3306/bad2?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true"
    which already has the default schema/database I am using. I was wondering if there is some JDBC standard method that all drivers comply to as I would rather avoid having to write some conditional, vendor specific code. Ideally this will be present in DatabaseMetadata.Thanks,
    Nedko
    http://www.nedkoko.com
    Edited by: nedKoKo.com on Oct 11, 2007 10:55 AM
    Edited by: nedKoKo.com on Oct 11, 2007 11:25 AM

    Owen unfortunately Connection.getCatalog() works well with all databases but Oracle which gets me back to square 1 of the problem. My application is designed to use different database vendors among which are MySql, MsSQL and Oracle. A standard connection URL should work fine and connect to the specified schema of your choice. The problem however is that the Connect URL string in Oracle is different and does not specify the default schema:
    Mysql: url="jdbc:mysql://localhost:3306/database_name?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true"
    MsSQL: url="jdbc:jtds:sqlserver://sqlserver:1433/database_name;SelectMethod=cursor"
    Oracle: url="jdbc:oracle:thin:@bart:1521:orcl"
    The oracle URL is constructed according the specs (http://www.oracle.com/technology/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm#05_03) and does not specify schema by default but just SID name. As I am using Hibernate persistence in my J2EE app I am forced to specify "schemaName" when I initialize my environment which works fine but is Oracle specific. On the other hand Connection.getCatalog() works great with other vendors but returns NULL for Oracle. Ideally i want to be able to resolve everything in a unified way and not have to write vendor specific code. Any suggestions are appreciated.
    Nedko

  • Slow performance WLS with jdbc pools

    Hi all, we have follow configuration of our system: the server with applications and server with jdbc pools. Recently we get strange situation. The server with jdbc pools it seems hung. We get thread dumps for this server and we see that it not hung, but normally work but very slow. Many weblogic.kernel.Default threads were busy by rmi database calls (see below). Anothe strange that before slowing server work nothing enties in server log. Last entry in server log were one hour before slow work. May someone propose why this situation can occure?
    Thread dump:
    <b>"ExecuteThread: '0' for queue: 'weblogic.kernel.Default'" id=11 idx=0x1c tid=6668 prio=5 alive, daemon
    at java/util/WeakHashMap.get(Ljava/lang/Object;)Ljava/lang/Object;(WeakHashMap.java:342)[optimized]
    at weblogic/rmi/internal/ClientRuntimeDescriptor.intern(Ljava/lang/String;)Lweblogic/rmi/internal/ClientRuntimeDescriptor;(ClientRuntimeDescriptor.java:130)[inlined]
    at weblogic/rmi/internal/BasicRuntimeDescriptor.getClientRuntimeDescriptor(Ljava/lang/String;)Lweblogic/rmi/internal/ClientRuntimeDescriptor;(BasicRuntimeDescriptor.java:459)[optimized]
    at weblogic/rmi/internal/BasicServerRef.getStub()Ljava/lang/Object;(BasicServerRef.java:656)[optimized]
    at weblogic/rmi/internal/OIDManager.getReplacement(Ljava/lang/Object;)Ljava/lang/Object;(OIDManager.java:189)[optimized]
    at weblogic/rmi/extensions/StubFactory.getStub(Ljava/rmi/Remote;)Ljava/lang/Object;(StubFactory.java:66)
    at weblogic/jdbc/rmi/internal/CallableStatementImpl.interopWriteReplace(Lweblogic/common/internal/PeerInfo;)Ljava/lang/Object;(CallableStatementImpl.java:50)
    at weblogic/rmi/utils/io/InteropObjectReplacer.replaceObject(Ljava/lang/Object;)Ljava/lang/Object;(InteropObjectReplacer.java:38)[optimized]
    at weblogic/common/internal/ChunkedObjectOutputStream.replaceObject(Ljava/lang/Object;)Ljava/lang/Object;(ChunkedObjectOutputStream.java:54)[inlined]
    at weblogic/common/internal/ChunkedObjectOutputStream$NestedObjectOutputStream.replaceObject(Ljava/lang/Object;)Ljava/lang/Object;(ChunkedObjectOutputStream.java:249)[optimized]
    at java/io/ObjectOutputStream.writeObject0(Ljava/lang/Object;Z)V(Unknown Source)[inlined]
    at java/io/ObjectOutputStream.writeObject(Ljava/lang/Object;)V(Unknown Source)[inlined]
    at weblogic/common/internal/ChunkedObjectOutputStream.writeObject(Ljava/lang/Object;)V(ChunkedObjectOutputStream.java:120)[inlined]
    at weblogic/rjvm/MsgAbbrevOutputStream.writeObject(Ljava/lang/Object;Ljava/lang/Class;)V(MsgAbbrevOutputStream.java:94)[optimized]
    at weblogic/jdbc/rmi/internal/ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_oracle_jdbc_driver_OracleConnection_WLSkel.invoke(ILweblogic/rmi/spi/InboundRequest;Lweblogic/rmi/spi/OutboundResponse;Ljava/lang/Object;)Lweblogic/rmi/spi/OutboundResponse;(Unknown Source)[optimized]
    at weblogic/rmi/internal/BasicServerRef.invoke(Lweblogic/rmi/extensions/server/RuntimeMethodDescriptor;Lweblogic/rmi/spi/InboundRequest;Lweblogic/rmi/spi/OutboundResponse;)V(BasicServerRef.java:477)[optimized]
    at weblogic/rmi/internal/BasicServerRef$1.run()Ljava/lang/Object;(BasicServerRef.java:420)[inlined]
    at weblogic/security/acl/internal/AuthenticatedSubject.doAs(Lweblogic/security/subject/AbstractSubject;Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;(AuthenticatedSubject.java:363)[inlined]
    at weblogic/security/service/SecurityManager.runAs(Lweblogic/security/acl/internal/AuthenticatedSubject;Lweblogic/security/acl/internal/AuthenticatedSubject;Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;(SecurityManager.java:147)[inlined]
    at weblogic/rmi/internal/BasicServerRef.handleRequest(Lweblogic/rmi/spi/InboundRequest;)V(BasicServerRef.java:415)[inlined]
    at weblogic/rmi/internal/BasicExecuteRequest.execute(Lweblogic/kernel/ExecuteThread;)V(BasicExecuteRequest.java:27)[optimized]
    at weblogic/kernel/ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest;)V(ExecuteThread.java:219)[optimized]
    at weblogic/kernel/ExecuteThread.run()V(ExecuteThread.java:178)
    at jrockit/vm/RNI.c2java(IIII)V(Native Method)
    -- end of trace
    "ExecuteThread: '1' for queue: 'weblogic.kernel.Default'" id=12 idx=0x1e tid=6669 prio=5 alive, daemon
    at java/util/WeakHashMap.get(Ljava/lang/Object;)Ljava/lang/Object;(WeakHashMap.java:346)[optimized]
    at weblogic/rmi/internal/ClientRuntimeDescriptor.intern(Ljava/lang/String;)Lweblogic/rmi/internal/ClientRuntimeDescriptor;(ClientRuntimeDescriptor.java:130)[inlined]
    at weblogic/rmi/internal/BasicRuntimeDescriptor.getClientRuntimeDescriptor(Ljava/lang/String;)Lweblogic/rmi/internal/ClientRuntimeDescriptor;(BasicRuntimeDescriptor.java:459)[optimized]
    at weblogic/rmi/internal/BasicServerRef.getStub()Ljava/lang/Object;(BasicServerRef.java:656)[optimized]
    at weblogic/rmi/internal/OIDManager.getReplacement(Ljava/lang/Object;)Ljava/lang/Object;(OIDManager.java:189)[optimized]
    at weblogic/rmi/extensions/StubFactory.getStub(Ljava/rmi/Remote;)Ljava/lang/Object;(StubFactory.java:66)
    at weblogic/jdbc/rmi/internal/CallableStatementImpl.interopWriteReplace(Lweblogic/common/internal/PeerInfo;)Ljava/lang/Object;(CallableStatementImpl.java:50)
    at weblogic/rmi/utils/io/InteropObjectReplacer.replaceObject(Ljava/lang/Object;)Ljava/lang/Object;(InteropObjectReplacer.java:38)[optimized]
    at weblogic/common/internal/ChunkedObjectOutputStream.replaceObject(Ljava/lang/Object;)Ljava/lang/Object;(ChunkedObjectOutputStream.java:54)[inlined]
    at weblogic/common/internal/ChunkedObjectOutputStream$NestedObjectOutputStream.replaceObject(Ljava/lang/Object;)Ljava/lang/Object;(ChunkedObjectOutputStream.java:249)[optimized]
    at java/io/ObjectOutputStream.writeObject0(Ljava/lang/Object;Z)V(Unknown Source)[inlined]
    at java/io/ObjectOutputStream.writeObject(Ljava/lang/Object;)V(Unknown Source)[inlined]
    at weblogic/common/internal/ChunkedObjectOutputStream.writeObject(Ljava/lang/Object;)V(ChunkedObjectOutputStream.java:120)[inlined]
    at weblogic/rjvm/MsgAbbrevOutputStream.writeObject(Ljava/lang/Object;Ljava/lang/Class;)V(MsgAbbrevOutputStream.java:94)[optimized]
    at weblogic/jdbc/rmi/internal/ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_oracle_jdbc_driver_OracleConnection_WLSkel.invoke(ILweblogic/rmi/spi/InboundRequest;Lweblogic/rmi/spi/OutboundResponse;Ljava/lang/Object;)Lweblogic/rmi/spi/OutboundResponse;(Unknown Source)[optimized]
    at weblogic/rmi/internal/BasicServerRef.invoke(Lweblogic/rmi/extensions/server/RuntimeMethodDescriptor;Lweblogic/rmi/spi/InboundRequest;Lweblogic/rmi/spi/OutboundResponse;)V(BasicServerRef.java:477)[optimized]
    at weblogic/rmi/internal/BasicServerRef$1.run()Ljava/lang/Object;(BasicServerRef.java:420)[inlined]
    at weblogic/security/acl/internal/AuthenticatedSubject.doAs(Lweblogic/security/subject/AbstractSubject;Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;(AuthenticatedSubject.java:363)[inlined]
    at weblogic/security/service/SecurityManager.runAs(Lweblogic/security/acl/internal/AuthenticatedSubject;Lweblogic/security/acl/internal/AuthenticatedSubject;Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;(SecurityManager.java:147)[inlined]
    at weblogic/rmi/internal/BasicServerRef.handleRequest(Lweblogic/rmi/spi/InboundRequest;)V(BasicServerRef.java:415)[inlined]
    at weblogic/rmi/internal/BasicExecuteRequest.execute(Lweblogic/kernel/ExecuteThread;)V(BasicExecuteRequest.java:27)[optimized]
    at weblogic/kernel/ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest;)V(ExecuteThread.java:219)[optimized]
    at weblogic/kernel/ExecuteThread.run()V(ExecuteThread.java:178)
    at jrockit/vm/RNI.c2java(IIII)V(Native Method)
    -- end of trace</b>

    Denis Reimer wrote:
    Hi all, we have follow configuration of our system: the server with applications and server with jdbc pools. Recently we get strange situation. The server with jdbc pools it seems hung. We get thread dumps for this server and we see that it not hung, but normally work but very slow. Many weblogic.kernel.Default threads were busy by rmi database calls (see below). Anothe strange that before slowing server work nothing enties in server log. Last entry in server log were one hour before slow work. May someon
    e propose why this situation can occure?
    Thread dump:
    <b>"ExecuteThread: '0' for queue: 'weblogic.kernel.Default'" id=11 idx=0x1c tid=6668 prio=5 alive, daemon
    at java/util/WeakHashMap.get(Ljava/lang/Object;)Ljava/lang/Object;(WeakHashMap.java:342)[optimized]
    at weblogic/rmi/internal/ClientRuntimeDescriptor.intern(Ljava/lang/String;)Lweblogic/rmi/internal/ClientRuntimeDescriptor;(ClientRuntimeDescriptor.java:130)[inlined]
    at weblogic/rmi/internal/BasicRuntimeDescriptor.getClientRuntimeDescriptor(Ljava/lang/String;)Lweblogic/rmi/internal/ClientRuntimeDescriptor;(BasicRuntimeDescriptor.java:459)[optimized]
    at weblogic/rmi/internal/BasicServerRef.getStub()Ljava/lang/Object;(BasicServerRef.java:656)[optimized]
    at weblogic/rmi/internal/OIDManager.getReplacement(Ljava/lang/Object;)Ljava/lang/Object;(OIDManager.java:189)[optimized]
    at weblogic/rmi/extensions/StubFactory.getStub(Ljava/rmi/Remote;)Ljava/lang/Object;(StubFactory.java:66)
    at weblogic/jdbc/rmi/internal/CallableStatementImpl.interopWriteReplace(Lweblogic/common/internal/PeerInfo;)Ljava/lang/Object;(CallableStatementImpl.java:50)
    at weblogic/rmi/utils/io/InteropObjectReplacer.replaceObject(Ljava/lang/Object;)Ljava/lang/Object;(InteropObjectReplacer.java:38)[optimized]
    at weblogic/common/internal/ChunkedObjectOutputStream.replaceObject(Ljava/lang/Object;)Ljava/lang/Object;(ChunkedObjectOutputStream.java:54)[inlined]
    at weblogic/common/internal/ChunkedObjectOutputStream$NestedObjectOutputStream.replaceObject(Ljava/lang/Object;)Ljava/lang/Object;(ChunkedObjectOutputStream.java:249)[optimized]
    at java/io/ObjectOutputStream.writeObject0(Ljava/lang/Object;Z)V(Unknown Source)[inlined]
    at java/io/ObjectOutputStream.writeObject(Ljava/lang/Object;)V(Unknown Source)[inlined]
    at weblogic/common/internal/ChunkedObjectOutputStream.writeObject(Ljava/lang/Object;)V(ChunkedObjectOutputStream.java:120)[inlined]
    at weblogic/rjvm/MsgAbbrevOutputStream.writeObject(Ljava/lang/Object;Ljava/lang/Class;)V(MsgAbbrevOutputStream.java:94)[optimized]
    at weblogic/jdbc/rmi/internal/ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_oracle_jdbc_driver_OracleConnection_WLSkel.invoke(ILweblogic/rmi/spi/InboundRequest;Lweblogic/rmi/spi/OutboundResponse;Ljava/lang/Object;)Lweblogic/rmi/spi/OutboundResponse;(Unknown Source)[optimized]
    at weblogic/rmi/internal/BasicServerRef.invoke(Lweblogic/rmi/extensions/server/RuntimeMethodDescriptor;Lweblogic/rmi/spi/InboundRequest;Lweblogic/rmi/spi/OutboundResponse;)V(BasicServerRef.java:477)[optimized]
    at weblogic/rmi/internal/BasicServerRef$1.run()Ljava/lang/Object;(BasicServerRef.java:420)[inlined]
    at weblogic/security/acl/internal/AuthenticatedSubject.doAs(Lweblogic/security/subject/AbstractSubject;Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;(AuthenticatedSubject.java:363)[inlined]
    at weblogic/security/service/SecurityManager.runAs(Lweblogic/security/acl/internal/AuthenticatedSubject;Lweblogic/security/acl/internal/AuthenticatedSubject;Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;(SecurityManager.java:147)[inlined]
    at weblogic/rmi/internal/BasicServerRef.handleRequest(Lweblogic/rmi/spi/InboundRequest;)V(BasicServerRef.java:415)[inlined]
    at weblogic/rmi/internal/BasicExecuteRequest.execute(Lweblogic/kernel/ExecuteThread;)V(BasicExecuteRequest.java:27)[optimized]
    at weblogic/kernel/ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest;)V(ExecuteThread.java:219)[optimized]
    at weblogic/kernel/ExecuteThread.run()V(ExecuteThread.java:178)
    at jrockit/vm/RNI.c2java(IIII)V(Native Method)
    -- end of trace
    "ExecuteThread: '1' for queue: 'weblogic.kernel.Default'" id=12 idx=0x1e tid=6669 prio=5 alive, daemon
    at java/util/WeakHashMap.get(Ljava/lang/Object;)Ljava/lang/Object;(WeakHashMap.java:346)[optimized]
    at weblogic/rmi/internal/ClientRuntimeDescriptor.intern(Ljava/lang/String;)Lweblogic/rmi/internal/ClientRuntimeDescriptor;(ClientRuntimeDescriptor.java:130)[inlined]
    at weblogic/rmi/internal/BasicRuntimeDescriptor.getClientRuntimeDescriptor(Ljava/lang/String;)Lweblogic/rmi/internal/ClientRuntimeDescriptor;(BasicRuntimeDescriptor.java:459)[optimized]
    at weblogic/rmi/internal/BasicServerRef.getStub()Ljava/lang/Object;(BasicServerRef.java:656)[optimized]
    at weblogic/rmi/internal/OIDManager.getReplacement(Ljava/lang/Object;)Ljava/lang/Object;(OIDManager.java:189)[optimized]
    at weblogic/rmi/extensions/StubFactory.getStub(Ljava/rmi/Remote;)Ljava/lang/Object;(StubFactory.java:66)
    at weblogic/jdbc/rmi/internal/CallableStatementImpl.interopWriteReplace(Lweblogic/common/internal/PeerInfo;)Ljava/lang/Object;(CallableStatementImpl.java:50)
    at weblogic/rmi/utils/io/InteropObjectReplacer.replaceObject(Ljava/lang/Object;)Ljava/lang/Object;(InteropObjectReplacer.java:38)[optimized]
    at weblogic/common/internal/ChunkedObjectOutputStream.replaceObject(Ljava/lang/Object;)Ljava/lang/Object;(ChunkedObjectOutputStream.java:54)[inlined]
    at weblogic/common/internal/ChunkedObjectOutputStream$NestedObjectOutputStream.replaceObject(Ljava/lang/Object;)Ljava/lang/Object;(ChunkedObjectOutputStream.java:249)[optimized]
    at java/io/ObjectOutputStream.writeObject0(Ljava/lang/Object;Z)V(Unknown Source)[inlined]
    at java/io/ObjectOutputStream.writeObject(Ljava/lang/Object;)V(Unknown Source)[inlined]
    at weblogic/common/internal/ChunkedObjectOutputStream.writeObject(Ljava/lang/Object;)V(ChunkedObjectOutputStream.java:120)[inlined]
    at weblogic/rjvm/MsgAbbrevOutputStream.writeObject(Ljava/lang/Object;Ljava/lang/Class;)V(MsgAbbrevOutputStream.java:94)[optimized]
    at weblogic/jdbc/rmi/internal/ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_oracle_jdbc_driver_OracleConnection_WLSkel.invoke(ILweblogic/rmi/spi/InboundRequest;Lweblogic/rmi/spi/OutboundResponse;Ljava/lang/Object;)Lweblogic/rmi/spi/OutboundResponse;(Unknown Source)[optimized]
    at weblogic/rmi/internal/BasicServerRef.invoke(Lweblogic/rmi/extensions/server/RuntimeMethodDescriptor;Lweblogic/rmi/spi/InboundRequest;Lweblogic/rmi/spi/OutboundResponse;)V(BasicServerRef.java:477)[optimized]
    at weblogic/rmi/internal/BasicServerRef$1.run()Ljava/lang/Object;(BasicServerRef.java:420)[inlined]
    at weblogic/security/acl/internal/AuthenticatedSubject.doAs(Lweblogic/security/subject/AbstractSubject;Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;(AuthenticatedSubject.java:363)[inlined]
    at weblogic/security/service/SecurityManager.runAs(Lweblogic/security/acl/internal/AuthenticatedSubject;Lweblogic/security/acl/internal/AuthenticatedSubject;Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;(SecurityManager.java:147)[inlined]
    at weblogic/rmi/internal/BasicServerRef.handleRequest(Lweblogic/rmi/spi/InboundRequest;)V(BasicServerRef.java:415)[inlined]
    at weblogic/rmi/internal/BasicExecuteRequest.execute(Lweblogic/kernel/ExecuteThread;)V(BasicExecuteRequest.java:27)[optimized]
    at weblogic/kernel/ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest;)V(ExecuteThread.java:219)[optimized]
    at weblogic/kernel/ExecuteThread.run()V(ExecuteThread.java:178)
    at jrockit/vm/RNI.c2java(IIII)V(Native Method)
    -- end of trace</b>Hi. It seems you're doing JDBC in an external client, using our RMI-based
    JDBC wrappers to the actual connection in the WLS server, and you are
    doing LOB retrieval. This means your query goes from your client to
    the WLS process, and then to the DBMS, and the LOB data (big) has to go
    from the DBMS to the WLS process and then back over RMI to your client.
    This is bound to be inefficient. If you can move your JDBC to a JSP or
    other serverside class, it will be much faster. Otherwise, if the
    management that WLS provides is not strictly necessary for the LOB
    manipulation, it may be faster to get that directly from the DBMS to
    the external client by using the vendor's JDBC driver directly.
    Joe

  • Problem with JDBC and Tomcat

    I don't know where the problem originate, the only thing in my memory is that the program worked very well on my PC yesterday, but today, without even slightest change, it doesn't work anymore. As to debug it, I simplified the codes to the least, but it still refuse to work. I was beaten down by this problem totally, and cannot make out any solution for it, so, I come here, hoping to find a warrior to kill this damned bug for me.
    My program is a Servlet, but for the purpose of debugging, I have recode it to an Application/Servlet. When run as a application, I can get the result expected, but as a Servlet, :-(, maybe you should see it by yourself. My server software is Tomcat 4.1.15, and the JDK version is 1.4.0. To excute this program, you should add Data Source "Test" to ODBC.
    ///////////////////////code begins/////////////////////////
    import java.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    public class Ex extends HttpServlet
         int ErrorType = 0;
         String err = new String("");
         public static void main(String args[]) throws Exception{
              Ex cEx = new Ex();
              cEx.init();     
              System.out.println(cEx.ErrorType);     
         public void init() {
              String url = "jdbc:odbc:Test";
              ErrorType = 3;     //passed
              try{
                   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
              } catch (ClassNotFoundException e) {
                   e.printStackTrace();
                   ErrorType = 1; //trapped in Class.forName
              try{
                   Connection c = DriverManager.getConnection(url);
              } catch (SQLException e) {
                   e.printStackTrace();
                   ErrorType = 2; //trapped in DriverManager.getConnection
                   err = e.getMessage();
         public void service(HttpServletRequest req, HttpServletResponse res)
                   throws IOException {
              res.setContentType("text/html; charset=GB2312");
              PrintWriter out = res.getWriter();
              out.println("Success " + "<p>" + ErrorType + "<p>" +err);
              out.close();
    //////////////////////////code ends///////////////////////////////
    The result from the Servlet tell me that the problem occurred within the connection process, I don't know who should be responsible to this - Tomcat or JDBC?

    If you could print the exception that you got then that would help :) In the mean time, I could make a guess. It is unlikely that your application server (in this case, Tomcat) is blocking connections from your servlet. So the problem is either with JDBC directly or with the underlying datasource. It seems unlikely that it is JDBC given that you have stated that the code has not changed and it works in application form.
    My guess would be that you are coming up against some sort of security constraint (eg: your DBMS is letting you log in from one IP but not another?, your Java plug-in security policy is disallowing the connection?). It's hard to say.
    But if it works as an application but not via a servlet then you could try putting this in your java.policy file, which is located in the directory where your plug-ins are installed (eg: "C:\Program Files\Java\<version>\lib\security\") on Windows systems;
    permission java.net.SocketPermission "bend xp:1099", "listen,connect,accept";
    Try that, see if it works :)
    Ben

  • HT1553 I did the back up as instructed... Installed a larger hard drive and followed the restore instructions... Now I get a white screen with a folder icon and blinking question mark. When trying to set startup with new drive I get a bless tool error...

    I did the back up as instructed... Installed a larger hard drive and followed the restore instructions... Now I get a white screen with a folder icon and blinking question mark. When trying to set startup with new drive I get a bless tool error... Help!!

    If you have installed a new hard drive , you will need to have formatted it in Disk Utility correctly. This may explain your problem.
    Boot  into your 10.6 Install disk again at the top menubar > Utilities > select Disk utility and in there select your new hard drive, and select the tab Erase and choose to make the format as  Mac OS Extended Journaled. When that is finished look in the main window to make sure that the partition map scheme says GUID Partition Table.
    Now go to the Restore tab and reinstall from your backup.

  • Interface program with JDBC

    I created three database tables in PostgreSQL database and interfaced it with JDBC.
    In the interface program, I queried the program to retrieve data from two tables. I got results from the first table, but did not get any result from the second table. Rather, the system sent the following error message: Exception in thread "main" java.sql.SQLException: ERROR: parser: parse error at or
    near "mdas_ar_coments"
    at org.postgresql.core.QueryExecutor.executeV2(QueryExecutor.java:289)
    Mdas_ar_coments is the name of the second table. I have checked the names, there is no spelling mistake in both the database tables and interface program.
    Please, let me know how to query two or more tables in a JDBC interface program.
    Thanks.

    Please show me how you are attempting to query two tables using JDBC.

Maybe you are looking for

  • Marketplace Adapter

    Hello, We want to migrate BC scenario to XI. There is marketset connector used in BC. It does mapping of Idoc to XCBL format. There is customized mapping for different vendors. I found xsd for order xcbl from xcbl.org which i have imported in XI but

  • Up to my 3rd iPad :(

    I broke up first ipad, it was thrown accidentally. And I left my 2nd iPad on top of my car and flew off! I paid $380 for my replacement iPad. I'm about to have an appointment with a genius. I hope that the price doesn't go up for my 3rd replacement i

  • Unable to uninstall itunes so can update

    I've been trying to udate itunes kept getting error & Now trying to follow dirctions by apple forum to uninstall ad then re-install itunes. Now I can not uninstall the componet "Apple Software Update" & "Apple Mobile Device" when I try to uninstall I

  • Unable to start OIM Server

    Hi all, I installed OIM server on Redhat linux. I am accessing the following url to access the OIM Admin and user console. http://<hostname:7001>/xlWebApp. But i am getting an Error 404: not found. i didnt find the file xlStartServer.sh in <oimserver

  • Why is my SIM not valid although my iPhone 5 is unlocked?

    Hi all, About a year ago I dropped my ATT issued phone and had it replaced by one at the Apple store. I was able to use my new iPhone 5 abroad with a T-mobile Germany SIM card with no problems. I am thinking because since it was issued by Apple, it w