JDBC Troubles..

JDK Version "1.2.2" on Solaris
Oracle Version 8.1.5
What type/version of Oracle JDBC driver should I use to connect to the database from the server. [The code runs in the server itself]

JDK Version "1.2.2" on Solaris
Oracle Version 8.1.5
What type/version of Oracle JDBC driver should I use to connect to the database from the server. [The code runs in the server itself]

Similar Messages

  • Trouble while passing an array as a parameter to an JDBC Control

    Hi everyone, recently I have upgraded my WLS Workshop 8.1 application to WLS 10gR3 using the workshop 8.1 application upgrade but after the upgrade to beehive controls I'm having troubles in a couple of methods that receive an array as a parameter. One of the methods is the following:
    * @jc:sql array-max-length="all" max-rows="all"
    * statement::
    * select COUNT(*) FROM (
    * SELECT la.lea_gkey,la.eme_gkey
    * FROM (SELECT gkey, name, role FROM employees WHERE {sql:fn in(gkey,{emeGkeyArray})}) e,
    * lead_assignees la,
    * leads le,
    * cities ct,
    * (select lea_gkey,name,email,phone,title from contacts where principal = 'X') cn,
    * (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TARGET') targets,
    * (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP5') top5,
    * (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP100') top100
    * WHERE e.gkey = la.eme_gkey
    * AND la.lea_gkey = le.gkey
    * AND le.city = ct.gkey(+)
    * AND le.gkey = cn.lea_gkey(+)
    * AND le.gkey = targets.lea_gkey(+)
    * AND le.gkey = top5.lea_gkey(+)
    * AND le.gkey = top100.lea_gkey(+)
    * {sql: whereClause}
    * UNION
    * SELECT DISTINCT la.lea_gkey,la.eme_gkey
    * FROM (SELECT gkey, name, role FROM employees WHERE {sql:fn in(gkey,{emeGkeyArray})}) e,
    * lead_assignees la,
    * shared_accounts sa,
    * leads le,
    * cities ct,
    * employees asign,
    * (select lea_gkey,name,email,phone,title from contacts where principal = 'X') cn,
    * (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TARGET') targets,
    * (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP5') top5,
    * (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP100') top100
    * WHERE e.gkey = sa.eme_gkey
    * AND asign.gkey = la.eme_gkey
    * AND asign.active='X'
    * AND sa.lea_gkey = le.gkey
    * AND sa.lea_gkey = la.lea_gkey
    * AND le.city = ct.gkey(+)
    * AND le.gkey = cn.lea_gkey(+)
    * AND le.gkey = targets.lea_gkey(+)
    * AND le.gkey = top5.lea_gkey(+)
    * AND le.gkey = top100.lea_gkey(+)
    * {sql: assigneeClause}
    * UNION
    * SELECT DISTINCT la.lea_gkey,la.eme_gkey
    * FROM (SELECT gkey, name, role FROM employees WHERE {sql:fn in(gkey,{emeGkeyArray})}) e,
    * lead_assignees la,
    * shared_accounts sa,
    * leads le,
    * cities ct,
    * (select lea_gkey,name,email,phone,title from contacts where principal = 'X') cn,
    * (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TARGET') targets,
    * (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP5') top5,
    * (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP100') top100
    * WHERE e.gkey = la.eme_gkey
    * AND sa.lea_gkey = le.gkey
    * AND sa.lea_gkey = la.lea_gkey
    * AND le.city = ct.gkey(+)
    * AND le.gkey = cn.lea_gkey(+)
    * AND le.gkey = targets.lea_gkey(+)
    * AND le.gkey = top5.lea_gkey(+)
    * AND le.gkey = top100.lea_gkey(+)
    * {sql: sharedClause})::
    @JdbcControl.SQL(arrayMaxLength = 0,
    maxRows = JdbcControl.MAXROWS_ALL,
    statement = "select COUNT(*) FROM ( SELECT la.lea_gkey,la.eme_gkey FROM (SELECT gkey, name, role FROM employees WHERE {sql:fn in(gkey,{emeGkeyArray})}) e, lead_assignees la, leads le, cities ct, (select lea_gkey,name,email,phone,title from contacts where principal = 'X') cn, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TARGET') targets, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP5') top5, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP100') top100 WHERE e.gkey = la.eme_gkey AND la.lea_gkey = le.gkey AND le.city = ct.gkey(+) AND le.gkey = cn.lea_gkey(+) AND le.gkey = targets.lea_gkey(+) AND le.gkey = top5.lea_gkey(+) AND le.gkey = top100.lea_gkey(+) {sql: whereClause} UNION SELECT DISTINCT la.lea_gkey,la.eme_gkey FROM (SELECT gkey, name, role FROM employees WHERE {sql:fn in(gkey,{emeGkeyArray})}) e, lead_assignees la, shared_accounts sa, leads le, cities ct, employees asign, (select lea_gkey,name,email,phone,title from contacts where principal = 'X') cn, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TARGET') targets, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP5') top5, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP100') top100 WHERE e.gkey = sa.eme_gkey AND asign.gkey = la.eme_gkey AND asign.active='X' AND sa.lea_gkey = le.gkey AND sa.lea_gkey = la.lea_gkey AND le.city = ct.gkey(+) AND le.gkey = cn.lea_gkey(+) AND le.gkey = targets.lea_gkey(+) AND le.gkey = top5.lea_gkey(+) AND le.gkey = top100.lea_gkey(+) {sql: assigneeClause} UNION SELECT DISTINCT la.lea_gkey,la.eme_gkey FROM (SELECT gkey, name, role FROM employees WHERE {sql:fn in(gkey,{emeGkeyArray})}) e, lead_assignees la, shared_accounts sa, leads le, cities ct, (select lea_gkey,name,email,phone,title from contacts where principal = 'X') cn, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TARGET') targets, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP5') top5, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP100') top100 WHERE e.gkey = la.eme_gkey AND sa.lea_gkey = le.gkey AND sa.lea_gkey = la.lea_gkey AND le.city = ct.gkey(+) AND le.gkey = cn.lea_gkey(+) AND le.gkey = targets.lea_gkey(+) AND le.gkey = top5.lea_gkey(+) AND le.gkey = top100.lea_gkey(+) {sql: sharedClause})")
    public Long getProspectsCount(String[] emeGkeyArray, String whereClause, String assigneeClause, String sharedClause) throws SQLException;
    The execution of the method is the following:
    pendingApprovals = leadsListingDB.getProspectsCount(employeeHierarchyArray, pendingApprovalsClause, pendingApprovalsClause, pendingApprovalsClause);
    When the method is executed all the String parameters (whereClause, assigneeClause & sharedClause) are replaced well except the array parameter (emeGkeyArray) so the execution throws the following exception because the array is not replaced:
    <Jan 20, 2010 1:01:26 PM CST> <Debug> <org.apache.beehive.controls.system.jdbc.JdbcControlImpl> <BEA-000000> <Enter: onAquire()>
    <Jan 20, 2010 1:01:26 PM CST> <Debug> <org.apache.beehive.controls.system.jdbc.JdbcControlImpl> <BEA-000000> <Enter: invoke()>
    <Jan 20, 2010 1:01:26 PM CST> <Info> <org.apache.beehive.controls.system.jdbc.JdbcControlImpl> <BEA-000000> <PreparedStatement: select COUNT(*) FROM ( SELECT la.lea_gkey,la.eme_gkey FROM (SELECT gkey, n
    me, role FROM employees WHERE (gkey IN ())) e, lead_assignees la, leads le, cities ct, (select lea_gkey,name,email,phone,title from contacts where principal = 'X') cn, (SELECT lea_gkey, tag FROM lead
    tags WHERE tag = 'TARGET') targets, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP5') top5, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP100') top100 WHERE e.gkey = la.eme_gkey AND la.l
    a_gkey = le.gkey AND le.city = ct.gkey(+) AND le.gkey = cn.lea_gkey(+) AND le.gkey = targets.lea_gkey(+) AND le.gkey = top5.lea_gkey(+) AND le.gkey = top100.lea_gkey(+) AND LA.ACTIVE = 'X' AND LE.WE
    KLY_POTENTIAL > 0 AND (LE.APPROVED IS NULL OR LE.APPROVED != 'Y') AND LA.SALE_STAGE IN(3034,3005) UNION SELECT DISTINCT la.lea_gkey,la.eme_gkey FROM (SELECT gkey, name, role FROM employees WHERE (gkey I
    ())) e, lead_assignees la, shared_accounts sa, leads le, cities ct, employees asign, (select lea_gkey,name,email,phone,title from contacts where principal = 'X') cn, (SELECT lea_gkey, tag FROM lea
    tags WHERE tag = 'TARGET') targets,  (SELECT leagkey, tag FROM lead_tags WHERE tag = 'TOP5') top5, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP100') top100 WHERE e.gkey = sa.eme_gkey AND asi
    n.gkey = la.eme_gkey AND asign.active='X' AND sa.lea_gkey = le.gkey AND sa.lea_gkey = la.lea_gkey AND le.city = ct.gkey(+) AND le.gkey = cn.lea_gkey(+) AND le.gkey = targets.lea_gkey(+) AND le.gkey
    = top5.lea_gkey(+) AND le.gkey = top100.lea_gkey(+) AND LA.ACTIVE = 'X' AND LE.WEEKLY_POTENTIAL > 0 AND (LE.APPROVED IS NULL OR LE.APPROVED != 'Y') AND LA.SALE_STAGE IN(3034,3005) UNION SELECT DISTINCT
    la.lea_gkey,la.eme_gkey FROM (SELECT gkey, name, role FROM employees WHERE (gkey IN ())) e, lead_assignees la, shared_accounts sa, leads le, cities ct, (select lea_gkey,name,email,phone,title from c
    ntacts where principal = 'X') cn, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TARGET') targets, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP5') top5, (SELECT lea_gkey, tag FROM lead_tags
    WHERE tag = 'TOP100') top100 WHERE e.gkey = la.eme_gkey AND sa.lea_gkey = le.gkey AND sa.lea_gkey = la.lea_gkey AND le.city = ct.gkey(+) AND le.gkey = cn.lea_gkey(+) AND le.gkey = targets.lea_gkey(+
    AND le.gkey = top5.lea_gkey(+) AND le.gkey = top100.lea_gkey(+) AND LA.ACTIVE = 'X' AND LE.WEEKLY_POTENTIAL > 0 AND (LE.APPROVED IS NULL OR LE.APPROVED != 'Y') AND LA.SALE_STAGE IN(3034,3005)) Params:
    {}>
    <Jan 20, 2010 1:01:26 PM CST> <Debug> <org.apache.beehive.netui.pageflow.FlowController> <BEA-000000> <Invoking exception handler method handleException(java.lang.Exception, ...)>
    [LeadsMailer] Unhandled exception caught in Global.app:
    java.sql.SQLSyntaxErrorException: ORA-00936: missing expression
    So the big question is if that behavior is due to a bug of I'm doing something wrong. Do someone can give me an advice about this problem because the array parameter has no problems in workshop 8.1?
    Thanks in advance!

    Greetings
    I may not have an answer for you, but i am in the same boat! I am trying to pass an array to store in the database. I have 2 out of 8 columns that need to be stored as arrays. Everything saves EXEPT for the 2 arrays in question. I am using BEEHIVE with my web app. The strange thing is that i do not receive any syntax errors or runtime codes. I am still searching for an answer. If i find anything out, i will let you know.
    John Miller
    [email protected]

  • In Trouble with the Oracle JDBC Driver version - 10.1.0.5.0

    Hi !
    Without any problems i'm using the Oracle JDBC Driver version - 10.1.0.3.0 to access to the
    Oracle database (Oracle Database 10g Release 10.2.0.1.0 - 64bit Production).
    But exchanging the JDBC Driver 10.1.0.3.0 to 10.1.0.5.0 brings up the following problem:
    the statement
         con.prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability)
         (with parameters resultSetType = 1003, resultSetConcurrency = 1007, resultSetHoldability= 1)
    returns null !
    while using the Oracle JDBC Driver version - 10.1.0.3.0 the statement (with same parameters)
    returns a correct PreparedStatement.
    Every hint or idea is welcome.
    Best regards,
    Claus

    Duplicate post:
    In Trouble with the Oracle JDBC Driver version - 10.1.0.5.0
    Claus,
    Pardon me if I am stating the obvious, but why don't you use the 10.2 JDBC driver with your 10.2 database? The driver is part of the database distribution. Otherwise, you can download the driver from the OTN Web site.
    Good Luck,
    Avi.

  • JDBC MSSQL connection trouble

    Hi,
    I am trying to source a resultSet to a (SAP)Table in NWDS.
    This is my code:
    IPrivateTableContentComponentView.IVerticalGroupElement element = node.createVerticalGroupElement();
         try{
         InitialContext initialContext = new InitialContext();
         DataSource dataSource = (DataSource)initialContext.lookup("jdbc/MyAlias");
         Connection connection = dataSource.getConnection();
         Statement stmt = connection.createStatement();
         ResultSet rs = stmt.executeQuery("select * from DEP");
         while (rs.next()){
              node.addElement(element);
              element.setKeyToSelect(rs.getString(1));
         catch(SQLException e){
         System.out.println(e.getMessage());     
         catch(NamingException e){
         System.out.println(e.getMessage());
    I have used Radiobuttons as TableCellEditors.
    I have tried many methods for connecting the driver, in this example I connected the driver at VA on server.
    The trouble is I don't get any errors, I just don't get any results from the query in to the table.
    Any thoughts?
    Regards,
    Simon

    Hi Simon,
    possibly the following hints can help you to find out if it is actually the database access that is not working in your application:
    1.
    Please view our "getting started with relational persistence" tutorial: http://help.sap.com/saphelp_nw04s/helpdata/en/91/ccbf560ecc4e2fb99b09a5e7bce95e/frameset.htm
    demonstrating accessing table data with JDBC. You find the code of the example as the file J2EE_GettingStartedOpenSQL.zip
    in the "examples" folder of your Developer studio installation.
    2. you can view the system log of the server, for example using the Visual Administrator tool, go to the service LogViewer
    3. What are the results of debugging of the component in question? Debugging is a very good method to find out quick what data has been transferred to your application (and what happens in the following)
    4. some comments to your jdbc code template:
    - best you close all jdbc resources (result sets, connections, statements) explicit, namely in the finally clause
    - it is not a good idea to write "select *". Better name columns you read "select colA, colB"
    If you use "select *" always use the
    getXXX(String columnname) result set method
    Please view the corresponding documentation:
    http://help.sap.com/saphelp_nw04s/helpdata/en/ba/e7a1c1bc208c4bbb41b0bd20b066db/frameset.htm
    Good luck
    Katharina

  • JDBC Connection Trouble--Solaris8

    This seems strange, and I hope someone can point me in the right direction. I had a servlet install that was working fine, Solaris 8, Tomcat4.0.3, and a 9i client. I was using the oci driver, had a little trouble getting it working at first... Then set the LD_LIBRARY_PATH and everything worked.
    Then I replaced the Tomcat directory ( didn't touch the Oracle directories ), and tried to restart. Now I can't get the thing to work.
    I have checked the database url and it is the same. The connection code has not changed.
    Following is the error
    java.lang.NullPointerException
         at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAccess.java:1743)
         at oracle.jdbc.oci8.OCIEnv.getEnvHandle(OCIEnv.java:69)
         at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:452)
         at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:307)
         at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:442)
         at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:321)
         at java.sql.DriverManager.getConnection(DriverManager.java:512)
         at java.sql.DriverManager.getConnection(DriverManager.java:171)
         at com.chipware.servlets.users.AdminUser.connect(AdminUser.java:28)
         at com.chipware.servlets.listeners.ServletStartupListener.contextInitialized(ServletStartupListener.java:60)
         at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3175)
         at org.apache.catalina.core.StandardContext.start(StandardContext.java:3378)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)
         at org.apache.catalina.core.StandardHost.start(StandardHost.java:614)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)
         at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343)
         at org.apache.catalina.core.StandardService.start(StandardService.java:388)
         at org.apache.catalina.core.StandardServer.start(StandardServer.java:506)
         at org.apache.catalina.startup.Catalina.start(Catalina.java:781)
         at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
         at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
         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:324)
         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)error
    I am sure it is a configuration thing ( it still all works on Windows), but I can't think of where to look next.
    Any ideas???
    Thanks,
    Mark

    Hi Ravi Kasibhatla,
    I think you should set String URL = "jdbc:timesten:direct:TT_TTD_DEMO";
    If you use cache group, you need set OracleUID and OraclePassword.
    This is a example :
    import com.timesten.jdbc.TimesTenDataSource;
    import java.sql.*;
    public class Test2 {
    public static void main(String[] args) {
    String URL = "jdbc:timesten:direct:TT_TTD_DEMO";
    Connection con = null;
    try {
    TimesTenDataSource ds = new TimesTenDataSource();
    // Construct the connection URL
    System.out.println("\nUsing direct connection : TT_TTD_DEMO");
    ds.setUrl(URL);
    ds.setUser("test");
    ds.setOraclePassword("test");
    ds.setPassword("test");
    con = ds.getConnection();
    /*.....Your codes.........*/
    } catch (SQLException ex) {
    try {
    con.rollback();
    } catch (SQLException e) {
    System.out.println("SQLException: " + ex.toString());
    } finally {
    try {
    if ((con != null) && !con.isClosed()) {
    System.out.println("\nClosing the connection\n");
    con.close();
    } catch (SQLException ex) {
    Best Regards

  • Trouble to connect to Oracle Lite with JDBC

    Hi.
    I have installed Oracle Lite 9i on my PC (Win 2000 Pro). Then I connected an HP Jornada 525 (WinCE 3.0) and with
    ActiveSync I installed the Oracle Mobile Client. Using MSql, I created some tables and did some data inserts - Oracle
    is working fine on the Pocket PC. The next step was to create an Java application that will run on the Jornada to
    connect to this database and edit its data. Here is the initial source code:
    import java.sql.*;
    public class JDBCEX {
    public void JDBCEX () {
    public static void main(String args[]) {
    Connection conn = null;
    Statement stmt = null;
    ResultSet retset = null;
    try {
    Class.forName("oracle.lite.poljdbc.POLJDBCDriver");
    conn = DriverManager.getConnection("jdbc:Polite:Polite","system", "manager");
    catch (Exception e) {
    System.out.println(e);
    System.exit(0);
    This works fine on my PC, but in the Pocket PC it gave me: java.sql.SQLException: Internal Error. This after I expanded
    the jar files, 'cause before it tells me that ther is no oljdbc40 on the shared library path. I adjusted the classpath on the
    registry, but i does not have any impact ... There is no file with name oljdbc40, only JARs olite40 and olitejdbc40. I installed
    olitejdbcpj40.jar, and setting this library leads to the same error above.
    What could be wrong? Do you have any tutorial or can you list all steps necessary to bring this working?
    Thanks

    If you're attempting to use the ODBC API directly, have you downloaded the ODBC SDK from Microsoft? That will include some sample code, which is a great starting point. So far as I'm aware, you shouldn't need to configure anything in Borland C++ that you don't have to configure in any other C++ compiler to use ODBC.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Trouble connecting to the Microsoft SQL Server 2005 using JDBC Connection

    Hi,
    I am unable to connect to the Microsoft SQL Server 2005 using JDBC Connection. Kindly tell me steps to connect to the SQL Server using JDBC. The error message that I am getting while creating a data source is :
    java.rmi.RemoteException: com.sap.engine.services.dbpool.exceptions.BaseRemoteException: Error during start of application "sap.com/JDBCConnector_KedDS.xml". [id = StartupError]
    at com.sap.engine.services.dbpool.deploy.DataSourceManagerImpl.startApplication(DataSourceManagerImpl.java:608)
    at com.sap.engine.services.dbpool.deploy.DataSourceManagerImpl.deploy(DataSourceManagerImpl.java:285)
    at com.sap.engine.services.dbpool.deploy.DataSourceManagerImpl.createDataSource(DataSourceManagerImpl.java:342)
    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:324)
    at com.sap.pj.jmx.introspect.DefaultMBeanInvoker.invoke(DefaultMBeanInvoker.java:58)
    at com.sap.pj.jmx.mbeaninfo.AdditionalInfoProviderMBean.invoke(AdditionalInfoProviderMBean.java:289)
    at com.sap.pj.jmx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:944)
    at com.sap.pj.jmx.server.interceptor.MBeanServerWrapperInterceptor.invoke(MBeanServerWrapperInterceptor.java:288)
    at com.sap.engine.services.jmx.CompletionInterceptor.invoke(CompletionInterceptor.java:409)
    at com.sap.pj.jmx.server.interceptor.BasicMBeanServerInterceptor.invoke(BasicMBeanServerInterceptor.java:277)
    at com.sap.jmx.provider.ProviderInterceptor.invoke(ProviderInterceptor.java:258)
    at com.sap.engine.services.jmx.RedirectInterceptor.invoke(RedirectInterceptor.java:340)
    at com.sap.pj.jmx.server.interceptor.MBeanServerInterceptorChain.invoke(MBeanServerInterceptorChain.java:330)
    at com.sap.engine.services.jmx.MBeanServerSecurityWrapper.invoke(MBeanServerSecurityWrapper.java:287)
    at com.sap.engine.services.jmx.MBeanServerInvoker.invokeMbs(MBeanServerInvoker.java:131)
    at com.sap.engine.services.jmx.ClusterInterceptor.invokeMbs(ClusterInterceptor.java:212)
    at com.sap.engine.services.jmx.ClusterInterceptor.invoke(ClusterInterceptor.java:766)
    at com.sap.engine.services.jmx.MBeanServerInterceptorInvoker.invokeMbs(MBeanServerInterceptorInvoker.java:102)
    at com.sap.engine.services.jmx.connector.p4.P4ConnectorServerImpl.invokeMbs(P4ConnectorServerImpl.java:61)
    at com.sap.engine.services.jmx.connector.p4.P4ConnectorServerImplp4_Skel.dispatch(P4ConnectorServerImplp4_Skel.java:64)
    at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320)
    at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198)
    at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129)
    at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: java.rmi.RemoteException: Error occurred while starting application in whole cluster and wait.; nested exception is:
    com.sap.engine.services.deploy.exceptions.ServerDeploymentException: Clusterwide exception: server ID 13169050:com.sap.engine.services.dbpool.exceptions.BaseDeploymentException: Cannot create DataSource "KedDS".
    at com.sap.engine.services.dbpool.deploy.ContainerImpl.startDataSources(ContainerImpl.java:1843)
    at com.sap.engine.services.dbpool.deploy.ContainerImpl.prepareStart(ContainerImpl.java:489)
    at com.sap.engine.services.deploy.server.application.StartTransaction.prepareCommon(StartTransaction.java:223)
    at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:171)
    at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:301)
    at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesImpl(ParallelAdapter.java:342)
    at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:126)
    at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:245)
    at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:4761)
    at com.sap.engine.services.deploy.server.DeployCommunicatorImpl.startApplicationAndWait(DeployCommunicatorImpl.java:661)
    at com.sap.engine.services.deploy.server.DeployCommunicatorImpl.startApplicationAndWait(DeployCommunicatorImpl.java:645)
    at com.sap.engine.services.dbpool.deploy.DataSourceManagerImpl.startApplication(DataSourceManagerImpl.java:606)
    at com.sap.engine.services.dbpool.deploy.DataSourceManagerImpl.deploy(DataSourceManagerImpl.java:285)
    at com.sap.engine.services.dbpool.deploy.DataSourceManagerImpl.createDataSource(DataSourceManagerImpl.java:342)
    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:324)
    at com.sap.pj.jmx.introspect.DefaultMBeanInvoker.invoke(DefaultMBeanInvoker.java:58)
    at com.sap.pj.jmx.mbeaninfo.AdditionalInfoProviderMBean.invoke(AdditionalInfoProviderMBean.java:289)
    at com.sap.pj.jmx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:944)
    at com.sap.pj.jmx.server.interceptor.MBeanServerWrapperInterceptor.invoke(MBeanServerWrapperInterceptor.java:288)
    at com.sap.engine.services.jmx.CompletionInterceptor.invoke(CompletionInterceptor.java:409)
    at com.sap.pj.jmx.server.interceptor.BasicMBeanServerInterceptor.invoke(BasicMBeanServerInterceptor.java:277)
    at com.sap.jmx.provider.ProviderInterceptor.invoke(ProviderInterceptor.java:258)
    at com.sap.engine.services.jmx.RedirectInterceptor.invoke(RedirectInterceptor.java:340)
    at com.sap.pj.jmx.server.interceptor.MBeanServerInterceptorChain.invoke(MBeanServerInterceptorChain.java:330)
    at com.sap.engine.services.jmx.MBeanServerSecurityWrapper.invoke(MBeanServerSecurityWrapper.java:287)
    at com.sap.engine.services.jmx.MBeanServerInvoker.invokeMbs(MBeanServerInvoker.java:131)
    at com.sap.engine.services.jmx.ClusterInterceptor.invokeMbs(ClusterInterceptor.java:212)
    at com.sap.engine.services.jmx.ClusterInterceptor.invoke(ClusterInterceptor.java:766)
    at com.sap.engine.services.jmx.MBeanServerInterceptorInvoker.invokeMbs(MBeanServerInterceptorInvoker.java:102)
    at com.sap.engine.services.jmx.connector.p4.P4ConnectorServerImpl.invokeMbs(P4ConnectorServerImpl.java:61)
    at com.sap.engine.services.jmx.connector.p4.P4ConnectorServerImplp4_Skel.dispatch(P4ConnectorServerImplp4_Skel.java:64)
    at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320)
    at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198)
    at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129)
    at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: com.sap.engine.services.dbpool.exceptions.BaseInstantiationException: Cannot create instance ManagedConnectionFactoryImpl.
    at com.sap.engine.services.dbpool.spi.ManagedConnectionFactoryImpl.<init>(ManagedConnectionFactoryImpl.java:78)
    at com.sap.engine.services.dbpool.deploy.ContainerImpl.startDataSources(ContainerImpl.java:1779)
    ... 42 more
    Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
    Found in negative cache
    ------------------------- Loader Info -------------------------
    ClassLoader name: [library:KedDriver]
    Parent loader name: [Frame ClassLoader]
    No references !
    Resources:
    E:\usr\sap\J2E\JC01\j2ee\cluster\server0\bin\ext\KedDriver\sqljdbc.jar
    E:\usr\sap\J2E\JC01\j2ee\cluster\server0\bin\core_lib\opensqlport.jar
    Loading model: {parent,local,references}
    at com.sap.engine.frame.core.load.ReferencedLoader.loadClass(ReferencedLoader.java:360)
    at com.sap.engine.services.dbpool.spi.ManagedConnectionFactoryImpl.<init>(ManagedConnectionFactoryImpl.java:74)
    ... 43 more
    at com.sap.engine.services.deploy.server.DeployCommunicatorImpl.startApplicationAndWait(DeployCommunicatorImpl.java:663)
    at com.sap.engine.services.deploy.server.DeployCommunicatorImpl.startApplicationAndWait(DeployCommunicatorImpl.java:645)
    at com.sap.engine.services.dbpool.deploy.DataSourceManagerImpl.startApplication(DataSourceManagerImpl.java:606)
    ... 31 more
    Caused by: com.sap.engine.services.deploy.exceptions.ServerDeploymentException: Clusterwide exception: server ID 13169050:com.sap.engine.services.dbpool.exceptions.BaseDeploymentException: Cannot create DataSource "KedDS".
    at com.sap.engine.services.dbpool.deploy.ContainerImpl.startDataSources(ContainerImpl.java:1843)
    at com.sap.engine.services.dbpool.deploy.ContainerImpl.prepareStart(ContainerImpl.java:489)
    at com.sap.engine.services.deploy.server.application.StartTransaction.prepareCommon(StartTransaction.java:223)
    at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:171)
    at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:301)
    at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesImpl(ParallelAdapter.java:342)
    at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:126)
    at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:245)
    at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:4761)
    at com.sap.engine.services.deploy.server.DeployCommunicatorImpl.startApplicationAndWait(DeployCommunicatorImpl.java:661)
    at com.sap.engine.services.deploy.server.DeployCommunicatorImpl.startApplicationAndWait(DeployCommunicatorImpl.java:645)
    at com.sap.engine.services.dbpool.deploy.DataSourceManagerImpl.startApplication(DataSourceManagerImpl.java:606)
    at com.sap.engine.services.dbpool.deploy.DataSourceManagerImpl.deploy(DataSourceManagerImpl.java:285)
    at com.sap.engine.services.dbpool.deploy.DataSourceManagerImpl.createDataSource(DataSourceManagerImpl.java:342)
    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:324)
    at com.sap.pj.jmx.introspect.DefaultMBeanInvoker.invoke(DefaultMBeanInvoker.java:58)
    at com.sap.pj.jmx.mbeaninfo.AdditionalInfoProviderMBean.invoke(AdditionalInfoProviderMBean.java:289)
    at com.sap.pj.jmx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:944)
    at com.sap.pj.jmx.server.interceptor.MBeanServerWrapperInterceptor.invoke(MBeanServerWrapperInterceptor.java:288)
    at com.sap.engine.services.jmx.CompletionInterceptor.invoke(CompletionInterceptor.java:409)
    at com.sap.pj.jmx.server.interceptor.BasicMBeanServerInterceptor.invoke(BasicMBeanServerInterceptor.java:277)
    at com.sap.jmx.provider.ProviderInterceptor.invoke(ProviderInterceptor.java:258)
    at com.sap.engine.services.jmx.RedirectInterceptor.invoke(RedirectInterceptor.java:340)
    at com.sap.pj.jmx.server.interceptor.MBeanServerInterceptorChain.invoke(MBeanServerInterceptorChain.java:330)
    at com.sap.engine.services.jmx.MBeanServerSecurityWrapper.invoke(MBeanServerSecurityWrapper.java:287)
    at com.sap.engine.services.jmx.MBeanServerInvoker.invokeMbs(MBeanServerInvoker.java:131)
    at com.sap.engine.services.jmx.ClusterInterceptor.invokeMbs(ClusterInterceptor.java:212)
    at com.sap.engine.services.jmx.ClusterInterceptor.invoke(ClusterInterceptor.java:766)
    at com.sap.engine.services.jmx.MBeanServerInterceptorInvoker.invokeMbs(MBeanServerInterceptorInvoker.java:102)
    at com.sap.engine.services.jmx.connector.p4.P4ConnectorServerImpl.invokeMbs(P4ConnectorServerImpl.java:61)
    at com.sap.engine.services.jmx.connector.p4.P4ConnectorServerImplp4_Skel.dispatch(P4ConnectorServerImplp4_Skel.java:64)
    at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320)
    at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198)
    at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129)
    at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: com.sap.engine.services.dbpool.exceptions.BaseInstantiationException: Cannot create instance ManagedConnectionFactoryImpl.
    at com.sap.engine.services.dbpool.spi.ManagedConnectionFactoryImpl.<init>(ManagedConnectionFactoryImpl.java:78)
    at com.sap.engine.services.dbpool.deploy.ContainerImpl.startDataSources(ContainerImpl.java:1779)
    ... 42 more
    Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
    Found in negative cache
    ------------------------- Loader Info -------------------------
    ClassLoader name: [library:KedDriver]
    Parent loader name: [Frame ClassLoader]
    No references !
    Resources:
    E:\usr\sap\J2E\JC01\j2ee\cluster\server0\bin\ext\KedDriver\sqljdbc.jar
    E:\usr\sap\J2E\JC01\j2ee\cluster\server0\bin\core_lib\opensqlport.jar
    Loading model: {parent,local,references}
    at com.sap.engine.frame.core.load.ReferencedLoader.loadClass(ReferencedLoader.java:360)
    at com.sap.engine.services.dbpool.spi.ManagedConnectionFactoryImpl.<init>(ManagedConnectionFactoryImpl.java:74)
    ... 43 more
    at com.sap.engine.services.deploy.server.application.ParallelAdapter.sleepClientThread(ParallelAdapter.java:270)
    at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:127)
    at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:245)
    at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:4761)
    at com.sap.engine.services.deploy.server.DeployCommunicatorImpl.startApplicationAndWait(DeployCommunicatorImpl.java:661)
    ... 33 more
    at com.sap.engine.services.dbpool.exceptions.BaseRemoteException.writeReplace(BaseRemoteException.java:178)
    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:324)
    at java.io.ObjectStreamClass.invokeWriteReplace(ObjectStreamClass.java:896)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1011)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
    at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:367)
    at javax.management.MBeanException.writeObject(MBeanException.java:126)
    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:324)
    at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
    at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:367)
    at com.sap.exception.BaseExceptionInfo.writeObject(BaseExceptionInfo.java:964)
    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:324)
    at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
    at com.sap.engine.services.jmx.ResponseMessage.writeBody(ResponseMessage.java:177)
    at com.sap.engine.services.jmx.Message.writeMsg(Message.java:257)
    at com.sap.engine.services.jmx.Message.getMsg(Message.java:453)
    at com.sap.engine.services.jmx.Message.writeExternal(Message.java:505)
    at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1267)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1245)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
    at com.sap.engine.services.jmx.connector.p4.P4ConnectorServerImplp4_Skel.dispatch(P4ConnectorServerImplp4_Skel.java:66)
    at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320)
    at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198)
    at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129)
    at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

    i'm using jcreator pro
    jdk i.6
    mssql server 2005
    and downloaded the jdbc driver( i noticed that the msutil.jar and msbase.jar are not in the folder avalable on microsoft site Microsoft SQL Server 2005 JDBC Driver so i installed
    Microsoft SQL Server 2000 Driver for JDBC 1st and just changed the jqljdb.jar file with the one available in Microsoft SQL Server 2005 JDBC Driver )
    and set the path of the CLASSPATH to a folder which name has no spaces
    and tried Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    and Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    and tried compiling and running with command prompt
    and still have the same exception which occurs at runtime
    "An exception has occured: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver"
    i really need help

  • DB2 and WebSphere: having trouble running the JDBC driver script

    I'm investigating WebSphere Studio Application Developer (WSAD) and want to go through one of their tutorials. They require DB2 7.1, so I installed that. There is a script in the DB2 7.1 distribution that enables the JDBC driver within WSAD. Howver, the script won't run because it says I don't have the correct permissions.
    I'm running all this on Win2K, and my userid has administrator privileges, and I installed both WSAD and DB2 under that userid.
    So, has anybody got WSAD and DB2 to work together? If so, how?
    Thanks much in advance.
    Jane Sokolow
    S1Studio tech writer

    You are suppose to run one of these two batch files:
    C:\Program Files\SQLLIB\java12\usejdbc1.bat
    C:\Program Files\SQLLIB\java12\usejdbc2.bat
    I assume that you need the second one. If you take a look inside of this batch file you'll that it is only simple copy/remove files. You should be able to do those operations with your userid. Perhaps, it is a good ideea to stop either DB2 and WSAD before running this batch file (is trying to remove two files one .dll and another .exe which could be in use ...).

  • Meeting trouble when inserting a record into dababase using JDBC.

    Hi, everyone!
    If I want to insert a record in a table of a database, but I
    do not know whether there is already a primary key existing in
    the database (I mean the value of the record which I want to insert
    conflicting, i.e. duplicating, with one of the value of primary
    key in the database). So, I have two solutions:
    1. check whether there is already a primary key which confilcting
    with the value I want to insert, if not, insert into database.
    2. do not do any check before and insert the record directly, and catch
    SQLException.
    But they both have shortcomings. Solution 1 will lost time (must checking first)
    and solution 2 will throw a SQLException, and from the Exception, I do not know
    how can I infer it is a primary key conflicting exception.
    (I do not know how to distinguish it from other type of SQLException, for example,
    database name error exception or SQL statement syntax error).
    I do not know whether I have made myself understood.
    Who have better solutions?
    Thanks in advance,
    George

    If I use solution 2, can I get some information from
    SQLException? For example, can the exception tell me
    whether it is a duplicated primary key error or SQL
    statememt syntax error? You don't have to look at the error text. You should
    look at the error code. But keep in mind that
    it is vendor specific. A duplicate key error in Oracle
    has different error code then in SQL Server.Sounds good in theory, in practice it leaves a lot to be desired. First one still has to figure out which codes are problematic, and there is still no guarantee that they won't change. Moreover you might find that the code is used for different types of errors, and that won't work.
    >
    May you can have a look at the sqlstate, this should
    be the same across different DB's as it is defined int
    he SQL92 standard, but I wouldn't bet on it...
    I would bet - against it.

  • A trouble with "LIKE" in a select statement

    Hi!
    I'm having trouble with "LIKE" in a select statement...
    With Access I can make the following and everything works well:
    SELECT name, birthday
    FROM client
    WHERE birthday LIKE '*/02/*';
    but if try to do it in my application (it uses Access), it doesn't work - I just can't understand that!!!
    In my application the "month" is always the currently month taken from the "System". Look what I'm doing...
    String query1 = "SELECT name, birthday " +
              "FROM client " +
              "WHERE birthday " +
              "LIKE '*/" +
              pMonth +
              "/*' " +
              "ORDER BY birthday ASC ";
    ResultSet rs = statement1.executeQuery(consulta1);
    boolean moreRecords = rs.next();
    The variable "moreRecords" is always "false", the query returns nothing although the table "client" has records that attend the query.
    Please, anyone can help me?! It's a little bit urgent.
    Thanks,
    Katia.

    Hi Katia,
    I'll bet the problem lies with the characters you're using to escape the LIKE clause. You're using the ones that Access likes to see, but that's not necessarily what's built into the JDBC-ODBC driver class.
    You can find out what the correct escape wildcard characters are from the java.sql.DatabaseMetaData.getSearchStringEscape() method. It'll tell you what to use in the LIKE clause.
    I'm not 100% sure about your code. It doesn't use query1 anywhere. I'd do this:
    String query = "SELECT name, birthday FROM client WHERE birthday LIKE ? ORDER BY birthday ASC";
    PreparedStatement statement = connection.createStatement(query);
    String escape = connection.getMetaData().getSearchStringEscape();
    String test = escape + '/' + pMonth + '/' + escape;
    statement.setString(1, test);
    ResultSet rs = statement.executeQuery();
    while (rs.hasNext())
    // load your data into a data structure to pass back.
    rs.close();
    statement.close();Let me know if that works. - MOD

  • $200 reward to solve problem with JDBC and CLOB.getCharacterOutputStream

    I'm trying to update CLOB with the getCharacterOutputStream as suggested in the example code. It works with US7ASCII DB instance but not instances in UTF8.
    I've been browsing through all the Oracle doc's and found some rather confusing statements:
    In the page at http://oradoc.photo.net/ora816/java.816/a81354/oralob2.htm#1043220
    it says: [When writing to or reading from a CLOB, the JDBC drivers perform all character set conversions for you.]
    also: [The oracle.sql.CLOB class supports all the character sets that the Oracle data server supports for CLOB types.]
    So far so good.
    In the page at http://oradoc.photo.net/ora816/java.816/a81354/oraint3.htm#1012518
    it says [The oracle.sql package supports these datatypes in several ways: CLOBs point to large fixed-width character data items (that is, characters that require a fixed number of bytes per character) and are supported by the oracle.sql.CLOB class.]
    Ooh no! Is this for real? UTF8 is variable width and does this mean it is not supported?
    Any way to get around this?
    In the page at http://oradoc.photo.net/ora816/java.816/a81358/03_pub2.htm#36009
    says [6.The mappings to oracle.sql classes are optimal because they preserve data formats and require no character-set conversions (apart from the usual network conversions). Those classes are especially useful in applications that "shovel" data between SQL and Java.]
    "No character set conversion"? Very confusing!
    I've been hammering on this CLOB/JDBC/UTF8 problem for more than a week now and I really appreciate some solutions, workarounds, or whatever help I can get. I'm running java stored procedure in 8.1.6 on Linux RH6.2.
    For your trouble, I'd pay $200 for the first guy who come up with a verifiable solution.

    This is just findings based upon your comments:
    Please refer to document Oracle8i National Language Support Guide
    Release 2 (8.1.6) from Oracle Documentation Library, Release 8.1.7
    Chapter 6 Java,
    There its clearly mention that:
    "Oracle JDBC drivers provide globalization support by allowing users to retrieve data from or insert data into a database in any character set that Oracle supports. Because Java strings are UCS2 encoded (16-bit Unicode) for JDBC programs, the target character set on the client is always UCS2. Character set conversion is required to convert data from the database character set (Db Charset) to UCS2. This applies to CHAR, LONG, CLOB, and VARCHAR2 data types; RAW data is not converted. "
    Also..please refer this...
    "oracle.sql.CLOB's method getCharacterStream() returns the contents of a CLOB as a Unicode stream."
    "The techniques that Oracle's drivers use to perform character set conversion for Java applications depend on the character set the database uses. The simplest case is where the database uses a US7ASCII or WE8ISO8859P1 character set. In this case, the driver converts the data directly from the database character set to UCS2,which is used in Java applications. "
    "If you are working with databases that employ a non-US7ASCII or non-WE8ISO8859P1 character set (for example, Japanese or Korean), then the driver converts the data, first to UTF8, then to UCS2. "
    In my case the characte-set of the database is WE8ISO8859P1 and for security reason i can't change the character set but my feeling is that if you are updating the CLob from the java client you are forming a reference of a clob in the client which is UCS2 at the Java side. Now when you are populating the clob through java.io.Writer and call the procedure to pass the reference of the clob to the procedure then I believe the JDBC will convert the UCS2 datatype of Clob to UTF8 in the database.
    You can try out the code snippet:
    package ServletGDC;
    import java.io.*;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import oracle.sql.*;
    import java.sql.*;
    import oracle.jdbc.driver.*;
    import ClassesGDC.*;
    public class testUpload extends HttpServlet {
    private String m_strMessage="";//It stores the message to be uploaded along with the Document
    Connection conn=null;
    public void doPost(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException {
    String strContent="";
    //res.setContentType("application/msword");
    res.setContentType("text/html");
    PrintWriter out = res.getWriter();
    try {
    CallableStatement cmt=null;
    OutputStream output=null;
    ByteArrayOutputStream byteoutput=null;
    String strDocString="";
    oracle.sql.CLOB tempClob = null;
    String strPassedFileName="";     // the file name passed in the request object
    String strStdFilename="";//the file name to be given to the best practice
    String strSaveDirectory="";     //the directory in which the bp is to be saved
    String strParamName="";//name of parameters
    String strParamValue="";//value of parameters
    int intTempVariable=0; // temporaty variable
    long lngSizeOfFileUploaded=0;//stores the size of the file which had been uploaded in the file system
    File filePathOfFileUploaded=null;//stores the path of the file uploaded to the file system
    String strQuery="";
    //ST------------checks if the user has logged in or not-----------------------
    HttpSession session=req.getSession(true);
    if(req.getContentLength()>20*1024*1024)
    throw new skip("The size of the posted content is more than 10 MB . If you have a best practice whose size is more than 1 MB please mail it to Us.");
    byteoutput = new ByteArrayOutputStream();
    MultipartParser mp = new MultipartParser(req, 20*1024*1024); // 10MB is the limit of the file to be uploaded
    Part part;//Its an abstact part which helps in retrieving information about the file and the parameters
    while ((part = mp.readNextPart()) != null) {//Reads the next part
    strParamName = part.getName();
    // the following if is executed if the part is for a parameter rather than a file
    if (part.isParam()) {
    }else if (part.isFile()) {
    // it's a file part
    m_strMessage="inside file part";
    FilePart filePart = (FilePart) part;
    strPassedFileName = filePart.getFileName();
    strContent= filePart.getContentType();
    out.println("<BR><font color=red>strPassedFileName is "+strPassedFileName+"</font>");
    if(strPassedFileName != null || !(strPassedFileName.trim().equals("")) ) {
    // the part actually contained a file
    out.println("<BR><font color=red> before forming long</font>");
    //lngSizeOfFileUploaded = filePart.writeTo(filePathOfFileUploaded);      //the statement upload the bestpractice in the
    lngSizeOfFileUploaded = filePart.writeTo(byteoutput);     //specified file path filePathOfFileUploaded.
    out.println("<BR><font color=red> after file is written into the outputstream</font>");
    else {
    throw new skip("The file name is null or it is empty space. Files in such Format are not accepted");
    }//end of else if
    }//end of while loop
    if(     lngSizeOfFileUploaded==0)     {// the size of the file uploaded is zero then the file supplied was not proper and hence exception is to be thrown
    //if(filePathOfFileUploaded.exists())
    //     filePathOfFileUploaded.delete();
    throw new skip("The File could not be uploaded,Possible reasons may be that the file is sent null or the file is corrupted");
    //END---------------the file is uploaded in the proper directory--------------------
    //res.setContentType(strContent);
    out.println("<BR><font color=red>long value is : "+lngSizeOfFileUploaded+" and content is "+strContent+"</font>");
    String strbyte= byteoutput.toString();
    byteoutput.flush();
    Class.forName("oracle.jdbc.driver.OracleDriver");
    // Establish network connection to database
    conn = DriverManager.getConnection("jdbc:oracle:thin:@pc-p32670:1521:GDCDBI","gdc_user","myuser");
    //if(conn!=null)
    out.println("<BR><font color=red>Connection formed"+conn);
    //els
    //out.println("<BR><font color=red>long value is : "+strbyte+"</font>");
    try{
    tempClob = oracle.sql.CLOB.createTemporary(conn,true, oracle.sql.CLOB.DURATION_SESSION);
    out.println("<BR><font color=red>tempClob : "+tempClob);
    tempClob.open( oracle.sql.CLOB.MODE_READWRITE);
    java.io.Writer tempClobWriter = tempClob.getCharacterOutputStream();
    // writing the string formed from the multipart file to the clob
    tempClobWriter.write(strbyte);
    if(tempClob!=null){}
    out.println("<BR><font color=red>CLOB value is : "+tempClob+"</font>");
    strQuery="{call INSERT_CLOB(?,?)}";
    cmt=conn.prepareCall(strQuery);
    cmt.setString(1,strPassedFileName);
    cmt.setClob(2,tempClob);
    cmt.registerOutParameter(2,java.sql.Types.CLOB);
    cmt.execute();
    tempClobWriter.flush();
    tempClobWriter.close();
    tempClob.freeTemporary();
    //res.setContentType(strContent);
    //strDocString.toString();
    out.println("<BR><font color=red>bob is "+strbyte+"</font>");
    tempClob.close();
    }catch(Exception e){
    tempClob.close();
    out.println("<font color=blue> Error is :"+e.getMessage()+"</font>");
    //e.printStackTrace(out);
    cmt.close();
    //out.println("<BR><font color=red><h2><b>SUCCESS</h2></font>");
    //res.sendRedirect("../test/showfile.jsp?contentype="+strContent.trim()+"");
    }catch(Exception e){
    java.util.Date d = new java.util.Date();
    String s =d.toString();
    out.println("<font color=blue> Error is :"+e.getMessage()+"</font>");
    //e.printStackTrace(out);
    }finally{
    try{
    if(conn!=null)
    conn.close();
    }catch(Exception e){
    out.println("<font color=blue> Error is :"+e.getMessage()+"</font>");
    }// end of finally
    } //end of doPost
    } //end of class
    in the Procedure you will be inserting/updating the clob in a table with the reference clob in the out parameter of the procedure
    Thanks.

  • Use JDBC to query data for JSP Report

    Hi all,
    I met a trouble when use JDBC to query data,
    it can show data in report builder, but get error when call from url for exxample: http://localhost:8889/reports/TestJDBCReport.jsp
    found error message:
    javax.servlet.jsp.JspException: rwlib-1: REP-4100: Failed to execute data source. REP-0069: Internal error JDBCPDS-62000:Invalid sign-on parameter P_JDBCPDS
    javax.servlet.jsp.JspException: rwlib-1: REP-4100: Failed to execute data source.
    REP-0069: Internal error
    JDBCPDS-62000:Invalid sign-on parameter P_JDBCPDS
    anyone know pls help me
    Many thanks

    As a general rule, it's a good idea to separate the
    presentation (JSP and HTML) from the business rules
    (database access). I know you didn't do that on the
    AS/400, you had display files and business logic in
    the same program (at least, we certainly do in ours),
    but it's a good policy to follow in the web world.
    That means, don't put your database access code in
    the JSP. Other than that, it depends on the data.
    If you have simple data (e.g. customer's name and
    d address) then a Java bean would suffice. If you
    have complex data (e.g. customer's payment history)
    then a bean still might suffice. You would use an
    "include" if you had some data (static or dynamic)
    that you wanted to appear in several different pages
    in the same form.Thanks, I figured putting the code in the JSP was not the best way, but I wasn't sure about the other options.

  • JBO-26061, Error while opening JDBC connection, please help

    Hello
    I am new to JDeveloper suite.
    I tried to follow BC4J/JSP tutorial found in "JDeveloper Handbook" but every time I try to execute my starter page, I get the following error:
    Error Message: JBO-29000: Unexpected exception caught: oracle.jbo.DMLException, msg=JBO-26061: Error while opening JDBC connection.
    Connection test runs successfully in JDev itself and I had no trouble with creating BC4j components (entity object, view and application module), mapping fields etc. Bc4j.xcfg file looks OK as well as server.xml of OC4J server.
    I guess that OC4J server is unable to connect to database, but I cannot see why and what could be done about it.
    Any recommendations would be warmly appreciated. Please send cc to [email protected] as well.
    Thanks in advance,
    Kristjan

    Kristjan,
    BC4J has a tester that can be used to test applications. Right mousew click onto the Application Module and choose tester from the menu. Use setting as defaulted. If this can't connect, then obviously the database connection defined for the Application module is different from the one you are testing. Also, make sure the database password of the connection gets deployed (checkbox option in the connection dialog)
    Frank

  • JDBC Adapter: J2EE server crashes while sending large messages

    We want to use the following scenario to transfer data from a MS SQL Server to SAP BW via XI:
    JDBC Sender Adapter – XI – SAP ABAP Proxy.
    All works fine with a small amount of data. But if the select statement delivers too many record sets and the size of the transformed XML payload is greater then 50 MB the J2EE server crashes. A complete restart is necessary. It seems to be am memory problem.
    Here are the entries from our log files:
    dev_server0
    [Thr 6151] Mon Jul 24 12:46:57 2006
    [Thr 6151] JLaunchIExitJava: exit hook is called (rc=666)
    [Thr 6151] **********************************************************************
    ERROR => The Java VM terminated with a non-zero exit code.
    Please see SAP Note 940893 , section 'J2EE Engine exit codes'
    for additional information and trouble shooting.
    [Thr 6151] SigISetIgnoreAction : SIG_IGN for signal 17
    [Thr 6151] JLaunchCloseProgram: good bye (exitcode=666)
    std_server0.out
    FATAL: Caught OutOfMemoryError! Node will exit with exit code 666java.lang.OutOfMemoryError
    Is this a general problem of the XI or a specific one of our configuration? Is it possible to transfer such large messages via XI? If not, is there a workaround for such scenarios?
    (Memory heap size of the J2EE server is 1024 MB.)

    > Hi Gil,
    >
    > i had nearly the same problems some times in praxis
    > and the mapping was the reason. Just change your
    > interface determination temporary, delete the mapping
    > and test again to find out if the mapping is the
    > reason.
    >
    > Regards,
    > Udo
    I have changed my interface determination so that no message mapping is used. The J2EE server still crashes.
    > Hi Gil,
    > This does sounds like a memory problem especially
    > when it comes to 50M message with a minimum XI sys
    > requierments...
    > To be sure you can check on the RWB for the
    > componnent monitoring at the JDBC adapters and look
    > for your adapter
    > look at the status of the adapter and the trace
    > there...
    Hi Nimrod
    In case of such an error I have no entries in channel monitor. So I can't see anything there. I have also no entries in message monitor of the RWB in this case. So I don't get any information with standard XI tools.
    > My reccomendation to you is to set the poll intervall
    > to a shorter period,this way you'll make sure you get
    > less records...I hope you have remembered to add  a
    > status/flag column on the table to be set after
    > selection so no duplicate records will be taken on
    > the second pools.
    >
    The problem is that the source of my data is not a simple SQL statement but a stored procedure. So I don't know exactly how many records will be delivered. A update command is not possible.

  • SQL INSERT trouble- please help

    I'm having an trouble,to INSERT a record to my db.(MySQL)
    This is the condition.
    There is a form to validate the NicNo,which is input by the user.If it it exist, then the system displays an error msg. If it is not,display a new form to enter the candidate details.Then the user can save them to the db.These are working well.But,when I go to the mySQL console and check,the record is nicely saved except 2 fields.(civilStatus and eduQua).
    Did you know why? I check my prepared statement,I think it's OK.
    Here are the codes:
    The form which is used by the user to input NicNo.
    <%@ page session="false" %>
    <%@ page import="java.sql.*,java.util.*,javax.servlet.http.*" %>
    <form method="POST" action="EntInterProcess.jsp">
        <center>
            <div align="center">
        <center>
       <TABLE borderColor=burlywood cellSpacing=0 cellPadding=1
                width="256" borderColorLight=moccasin border=1>
          <tr>
            <td noWrap style="background-color: #DEB887" width="80"><B>NIC No</b></td>
            <td width="106">
            <input type="text" name="nicno" size="14" style="border:1px solid #0000FF;
    color: #FF0000; font-weight: bold"></td>
            <td width="56"><input type="submit" value="Select" name="B1"></td>
          </tr>
         </table>
           </center>
      </div>
    </form>The file called "EntInterProcess.jsp"
    <%@ page import="core.CandidateMgr" %>
    <jsp:useBean id="CandidateMgr" class="core.CandidateMgr" scope="session"/>
    <jsp:setProperty name="CandidateMgr" property="*"/>
    <%
    String nextPage ="MainForm.jsp";
    if(CandidateMgr.verifyNicNo()){
         nextPage="InterviewForm.jsp";
         }else{
         nextPage="ExitError.jsp";
    %><jsp:forward page="<%=nextPage%>"/>I didn't copy here the page called "InterviewForm.jsp",because it has many fields.If you want please tell me.So I copy here the CandidateMgr.java file, which is the javaBean.
    package core;
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import javax.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class CandidateMgr
       private String nicno;
       private String name
       private String address;
       private String civilStatus;
       private String tele;
       private String eduQua;
         // Constructor
         public CandidateMgr()
       * Returns the nicno.
       public String getNicno()
          return nicno;
       * Sets the nicno.
       public void setNicno(String nicno)
          this.nicno = nicno;
       * Returns the name.
       public String getName()
          return name;
       * Sets the name.
       public void setName(String name)
          this.name = name;
       * Returns the address.
       public String getAddress()
          return address;
       * Sets the address.
       public void setAddress(String address)
          this.address = address;
       * Returns the civilStatus.
       public String getCivil()
          return civilStatus;
       * Sets the civilStatus.
       public void setCivil(String civilStatus)
          this.civilStatus= civilStatus;
       * Returns the tele.
       public String getTele()
          return tele;
       * Sets the tele.
       public void setTele(String tele)
          this.tele= tele;
       * Returns the eduQua.
       public String getEdu()
          return eduQua;
       * Sets the eduQua.
       public void setEdu(String eduQua)
          this.eduQua= eduQua;
         public boolean verifyNicNo(){
              boolean nic_no_select_ok = false;
              String nic="xxxx";
              try{
                   String DRIVER = "com.mysql.jdbc.Driver";
                   java.sql.Connection conn;
                   String URL = "jdbc:mysql://localhost:3306/superfine";
                    //Open the database
                   Class.forName(DRIVER).newInstance();
                   Connection con=null;
                   PreparedStatement pstmt1 = null;
                   con = DriverManager.getConnection(URL);
                   String sql="SELECT * FROM Candidate where nicNo= ?";          
                   pstmt1 = con.prepareStatement(sql);
                   pstmt1.setString(1,nicno);
                   ResultSet rs1 = pstmt1.executeQuery();
                                while(rs1.next()){
                        nic=rs1.getString("nicNo");
                   if(nic=="xxxx")
                        nic_no_select_ok = true;
                   } else{
                        nic_no_select_ok = false;     
                   rs1.close();
                           pstmt1.close();
                   con.close();
                catch(ClassNotFoundException e1){
                   System.err.println(e1.getMessage());
                catch(SQLException e2){
                           System.err.println(e2.getMessage());
               catch (java.lang.InstantiationException e3) {
                    System.err.println(e3.getMessage());
              catch (java.lang.IllegalAccessException e4) {
                    System.err.println(e4.getMessage());
              catch (java.lang.NullPointerException e5){
                   System.err.println(e5.getMessage());
              return nic_no_select_ok;
         public boolean addInter(){
              boolean add_inter_ok = false;
              try{
                   String DRIVER = "com.mysql.jdbc.Driver";
                   java.sql.Connection conn;
                   String URL = "jdbc:mysql://localhost:3306/superfine";
                    //Open the database
                   Class.forName(DRIVER).newInstance();
                   Connection con=null;
                   PreparedStatement pstmt3=null;
                   con = DriverManager.getConnection(URL);
                   String sqle ="INSERT INTO Candidate VALUES(?,?,?,?,?,?)";
                   pstmt3 = con.prepareStatement(sqle);
                   //assign value for ???
                   pstmt3.setString(1, nicno);
                   pstmt3.setString(2, name);
                   pstmt3.setString(3, address);
                   pstmt3.setString(4, civilStatus);
                   pstmt3.setString(5, tele);
                   pstmt3.setString(6, eduQua);
                   if(pstmt3.executeUpdate()==1) add_inter_ok=true;
                   pstmt3.close();
                           con.close();
                catch(ClassNotFoundException e1){
                   System.err.println(e1.getMessage());
                catch(SQLException e2){
                           System.err.println(e2.getMessage());
               catch (java.lang.InstantiationException e3) {
                    System.err.println(e3.getMessage());
              catch (java.lang.IllegalAccessException e4) {
                    System.err.println(e4.getMessage());
              return add_inter_ok;
    }These are the codes which I use to do this task.I don't know what happend to that 2 fields(they save in the db as NULL).Is there a nice method to do this database declaration? I try to declare that part as
    a seperate class,but I don't know how to code that by using java and call it to other sections for reuse.
    Anyone can answer these questions,please tell me how to do this,because it's urgent.
    Thanks.

    Hi Casabianca,
    Your code looks okay. I have just a couple of questions:
    (1) Are you 100% certain that those columns are of type VARCHAR/String in your MySQL database?
    (2) You only have a default ctor for your core.CandidateMgr class, and it has no implementation at all. That means that the six private member Strings are all set to null.
    Your addInter() method inserts the current values of the private data members into MySQL. If it so happened that those two fields, civilStatus and eduQua, were never initialized using calls to their respective setters, then their values would still be null because you never set them to sensible values inside the constructor.
    I'd do two things:
    (1) Add code to your default constructor to set all the strings to the empty string.
    (2) Write a second constructor that allows a user to initialize all six strings when the object is created. That way you can have a fully-initialized instance of CandidateMgr without having to call the setters. Have your default ctor simply call this second ctor:
    public CandidateMgr()
        this("", "", "", "", "", "");
    public CandidateMgr(final String nicno, final String name, final String address, final String civilStatus, final String tele, final String eduQua)
      this.nicno = nicno;  
      this.name  = name;
      this.address = address;  
      this.civilStatus = civilStatus;  
      this.tele = tele;  
      this.eduQua = eduQua;
    }Always write a constructor so the object is ready for use right away.
    See if that fixes your problem. The JDBC code looks okay.

Maybe you are looking for

  • Lack of Sound in You Tube Videos.

    I have lost all sound tracks from yuo tube videos , the video is still there but not the sound. I have followed all the hints on the help pages but it has not helped. Any ideas would be appreciated.

  • Datatable with drop down list in a cell

    Does anyone know the existing example of datatable against certain memory structure with possibility to have drop down list in a cell ( I mean after switching to editing mode some columns become drop down lists , otherwise just value ). TIA Michael

  • Run Time Errors : Raise_Exception, Exception condition "WRONG_PARAMETERS" r

    Hi SAP Gurus, I have activated Document splitting & when iam trying to post the document then iam getting the following Run Time Error. Iam using SAP ECC 6.0 Short text                                                                                Ex

  • Profiling with -Xrunhprof

    Hi, I am running a Java process and I am trying to gather memory information using -Xrunhprof. Sometimes it works fine, but sometimes the file ends up only having the minimum of 1974 bytes (which is the header of the file). Anyone have problems like

  • Apple OS X and BufferedImage

    I have written an application using 12 bit grayscale images with a Custom BufferedImage type (using a BandedSampleModel and ComponentColorModel). One of my clients works with Apple computers using OSX verson 10.0.4. When loading an image there is the