Java.sql.SQLException: Cannot convert value

I have a database table - name is client. It has one field with TimeStamp Datatype.
I am using mysql-3.23.51-win and j2sdk-1_4_0_01-windows-i586.
create table client (
MODIFIED timestamp(14)
while I am doing select MODIFIED from client that time I am receiving 00000000000000.
So It has 00000000000000 value in databse.
Now I am getting this value using ResultSet. for that
I have a one Client Object class name is GenericClient
public class GenericClient {
private java.util.Date _modified;
public java.util.Date getModified() {
return _modified;
public void setModified(java.util.Date newVal) {
this._modified = newVal;
In my database processing class I am getting database value and set that value in setModified(java.util.Date newVal).
like
private Client decodeRow(ResultSet rs) throws SQLException {
GenericClient obj = new GenericClient();
obj.setModified(rs.getTimestamp(1));
return obj;
So at obj.setModified(rs.getTimestamp(1)); line I am received error message
java.sql.SQLException: Cannot convert value '00000000000000' from column 1 to TIMESTAMP.
Please guide me why I am receiving the above error.
Thanks
Amit

Please find some more information from my side
1) I am passing Timestamp Object
2) I am using PreparedStatement
3) code
Table : client
create table client (
     MODIFIED timestamp(14)
);Bean Class
public class GenericClient {
     private java.util.Date _modified;
     public java.util.Date getModified() {
          return _modified;
     public void setModified(java.util.Date newVal) {
          this._modified = newVal;
}Method - which is fired error
private Client decodeRow(ResultSet rs) throws SQLException {
     GenericClient obj = new GenericClient();
     obj.setModified(rs.getTimestamp(1));
     return obj;
}3) Error Stack
==========
java.sql.SQLException: Cannot convert value '00000000000000' from column 1 to TIMESTAMP.
        at com.mysql.jdbc.ResultSet.getTimestampFromString(ResultSet.java:5538)
        at com.mysql.jdbc.ResultSet.getTimestampInternal(ResultSet.java:5566)
        at com.mysql.jdbc.ResultSet.getTimestamp(ResultSet.java:5219)
        at com.ksea.manager.ClientManager.decodeRow(ClientManager.java:463)
        at com.ksea.manager.ClientManager.loadByWhere(ClientManager.java:266)
        at com.ksea.manager.ClientManager.loadByWhere(ClientManager.java:221)
        at com.ksea.manager.ClientManager.loadByWhere(ClientManager.java:203)
        at com.ksea.manager.ClientManager.loadByUsername(ClientManager.java:53)
        at com.ksea.nt.DBSynch.synchEmployees(DBSynch.java:83)
        at com.ksea.nt.DBSynch.synchAll(DBSynch.java:35)
        at com.ksea.nt.DBSynch.main(DBSynch.java:168)4) db Info
=======
I am using mysql-3.23.51-win and j2sdk-1_4_0_01-windows-i586.

Similar Messages

  • Java.sql.SQLException: Invalid precision value. Cannot be less than zero

    Hi,
    In my portlet application have several jsf tables which bind to several oracle tables. I have tested the portlet in pluto and tried to deploy it on liferay. However, I get an exception stating:
    java.sql.SQLException: Invalid precision value. Cann
    ot be less than zero
    What could this exception mean? Has anyone else encountered this?
    Marc
    P.S. The trace is shown below:
    Feb 6, 2007 12:34:56 AM org.apache.catalina.core.ApplicationDispatcher invoke
    SEVERE: Servlet.service() for servlet jsp threw exception
    java.lang.RuntimeException: java.sql.SQLException: Invalid precision value. Cann
    ot be less than zero
    at com.sun.data.provider.impl.CachedRowSetDataProvider.setCursorRow(Cach
    edRowSetDataProvider.java:343)
    at com.sun.data.provider.impl.CachedRowSetDataProvider.setCursorIndex(Ca
    chedRowSetDataProvider.java:300)
    at com.sun.data.provider.impl.CachedRowSetDataProvider.getRowCount(Cache
    dRowSetDataProvider.java:624)
    at com.sun.rave.web.ui.component.TableRowGroup.getRowKeys(TableRowGroup.
    java:806)
    at com.sun.rave.web.ui.component.TableRowGroup.getFilteredRowKeys(TableR
    owGroup.java:429)
    at com.sun.rave.web.ui.component.TableRowGroup.getRowCount(TableRowGroup
    .java:749)
    at com.sun.rave.web.ui.component.Table.getRowCount(Table.java:307)
    at com.sun.rave.web.ui.renderer.TableRenderer.renderTitle(TableRenderer.
    java:400)
    at com.sun.rave.web.ui.renderer.TableRenderer.encodeBegin(TableRenderer.
    java:123)
    at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.jav
    a:683)

    I've dug deeper into this problem and am able reproduce the error in the Pluto server. To reproduce this error, I modified my Oracle jdbc driver from the JSC embedded driver (smoracle.jar) to the Oracle native driver (ojdbc14.jar). Now, I am getting the exception in my Sun Application Server:
    What is the difference between ojdbc14.jar and smoracle.jar that could cause this problem? What can I do so that I can fix this problem for ojdbc14.jar?
    Thanks,
    Marc
    P.S.
    The problem is with the clob column (DOR_NOTE_TX). The stack trace is:
    [#|2007-02-06T09:00:53.663-0800|INFO|sun-appserver-pe8.2|javax.enterprise.system.stream.out|_ThreadID=16;|
    Reader executing query ps=0 SELECT DOR_NOTE_DT, DOR_NOTE_TX FROM DOR.DOR_NOTE_DATA WHERE DOR_NOTE_CD='SECURITY' AND TO_CHAR(DOR_Note_Dt, 'mm/dd/yyyy') = '02/05/2007'
    No Params|#]
    [#|2007-02-06T09:00:53.679-0800|WARNING|sun-appserver-pe8.2|javax.enterprise.system.stream.err|_ThreadID=16;|
    java.sql.SQLException: Invalid precision value. Cannot be less than zero
    Message was edited by:
    marcnikko

  • Java.sql.SQLException: Cannot load JDBC driver class 'null'

    Hi,
    I am a beginner of using jdbc, i use the tomcat4.1.x, mysql3.23.54 and it's jdbc driver 2.0.14. I place the drive <in jar file> in tomcat/commons/lib and configure the server.xml, web.xml and some testing coding. But there are some error like the following:
    java.sql.SQLException: Cannot load JDBC driver class 'null'
         at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:529)
         at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:312)
         at foo.DBTest.init(DBTest.java:18)
         at org.apache.jsp.test_jsp._jspService(test_jsp.java:48)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
    of course its some of the error code and there are more.
    Why I have this problems and how can I fix it? Can someone help me??
    Thanks,
    Tong
    I place my test.jsp at tomcat/webapps/DBTest and DBTest.java at tomcat/webapps/DBTest/WEB-INF/classes/foo
    additional of the tomcat/conf/server.xml
    <Resource name="TestDB" auth="Container" type="javax.sql.DataSource" description="MySQL TestDB"/>
    <ResourceParams name="TestDB">
    <parameter><name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    </parameter>
    <parameter><name>maxActive</name><value>10</value></parameter>
    <parameter><name>maxIdle</name><value>1</value></parameter>
    <parameter><name>maxWait</name><value>10000</value></parameter>
    <parameter><name>username</name><value>javauser</value></parameter>
    <parameter><name>password</name><value>javadude</value></parameter>
    <parameter>
    <name>driverClassName</name>
    <value>org.gjt.mm.mysql.Driver</value>
    </parameter>
    <parameter>
    <name>url</name>
    <value>jdbc:mysql://localhost:3306/javatest?autoReconnect=true</value>
    </parameter>
    </ResourceParams>
    tomcat/webapps/DBTest/WEB-INF/web.xml :
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app PUBLIC
    "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <description>MySQL Test App</description>
    </web-app>

    Post the part of your code that loads the driver and connects. My guess is you are using a variable for the name of the driver and the variable has not been set to anything(intially set to null).
    Thanks
    Cardwell

  • Java.sql.SQLException: Cannot load JDBC driver

    THis topic has been discussed many many times but I still not able to connect to Oracle 8i from my servlet using Tomcat 4.1.12 on hp-ux and java1.3
    I always got: java.sql.SQLException: Cannot load JDBC driver class 'null'
    In server.xml:
    <Context Path="/MyApp" docBase="MyApp" debug="0" reloadable="true" >
    <Resource name="jdbc/ora" auth="Container" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/ora" >
    <parameter>
    <name>username</name>
    <value>myname</value>
    </parameter>
    <parameter> <name>password</name>
    <value>mypassword</value>
    </parameter>
    <parameter> <name>driverClassName</name>
    <value>oracle.jdbc.driver.OracleDriver</value>
    </parameter>
    <parameter>
    <name>url</name>
    <value>jdbc:oracle:thin:@myhostname:1521:ora</value>
    </parameter> </ResourceParams>
    </Context>
    In MyApp/WEB-INF/web.xml:
    <resource-ref>
    <res-ref-name>jdbc/ora</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    The Oracle jdbc jar file classes12.jar is under common/lib in Tomcat's home. read Permission is there.
    In the servlet:
    init(ServletConfig config):
    Context init = new InitialContext();
    Context ctx = (Context) init.lookup("java:comp/env");
    dataSource = (DataSource) ctx.lookup("jdbc/acdb");
    doPost(..)
    the error occured at :
    synchronized (dataSource){
    con = dataSource.getConnection();}
    Thanks in advance!

    Everything looks correct to me, except for one thing.
    In your web.xml you have this:
    <res-ref-name>jdbc/ora</res-ref-name> In your server.xml, you have this tag, which matches your web.xml:
    <ResourceParams name="jdbc/ora" > But in your Java code, you've got this:
    dataSource = (DataSource) ctx.lookup("jdbc/acdb"); When I've successfully set up a Web app data source, all three names had to agree. You either need to change your Java lookup name to "jdbc/ora" or change the web.xml and server.xml to "jdbc/acdb".
    See if that does it. Everything else sounds correct to me. - MOD

  • Java.sql.SQLException: Cannot call rollback when using distributed transac

    Hi all,
    I am getting the below exception trace when I tried to rollback the data in WLI.I am getting the db connection Object from DBControl.
    java.sql.SQLException: Cannot call rollback when using distributed transactions
    at weblogic.jdbc.wrapper.JTAConnection.rollback(JTAConnection.java:313)
    at controls.DailyFeedFileJavaImpl.excuteBatch(DailyFeedFileJavaImpl.jcs:
    904)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java
    :371)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:42
    3)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:39
    6)
    at com.bea.wlw.runtime.jcs.container.JcsProxy.invoke(JcsProxy.java:381)
    at $Proxy59.excuteBatch(Unknown Source)
    at QnbDailyFeedProcess.feedFileJavaObjExcuteBatch(QnbDailyFeedProcess.jp
    d:274)
    at QnbDailyFeedProcess_wf$ImplControlSend15.invoke(QnbDailyFeedProcess_w
    f.java:146)
    at com.bea.wli.bpm.runtime.Perform.execute(Perform.java:32)
    at com.bea.wli.bpm.runtime.ProcessState.executeInternalCallback(ProcessS
    tate.java:726)
    at QnbDailyFeedProcess_wf$_ProcessState.executeInternalCallback(QnbDaily
    FeedProcess_wf.java:311)
    at com.bea.wli.bpm.runtime.ProcessState.executeInternalCallback(ProcessS
    tate.java:685)
    at com.bea.wli.bpm.runtime.ProcessState.processNodeOrchestration(Process
    State.java:681)
    at sun.reflect.GeneratedMethodAccessor193.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java
    :371)
    at com.bea.wli.bpm.runtime.JpdInternalDispMethod.invoke(JpdInternalDispM
    ethod.java:87)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:42
    3)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:39
    6)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:24

    shanmuga gomathi nayagam wrote:
    Hi all,
    I am getting the below exception trace when I tried to rollback the data in WLI.I am getting the db connection Object from DBControl.
    java.sql.SQLException: Cannot call rollback when using distributed transactions
    at weblogic.jdbc.wrapper.JTAConnection.rollback(JTAConnection.java:313)Hi, Ideally, you should obtain the Transaction object and roll it back/ set it
    to rollback only.
    Joe
    at controls.DailyFeedFileJavaImpl.excuteBatch(DailyFeedFileJavaImpl.jcs:
    904)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java
    :371)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:42
    3)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:39
    6)
    at com.bea.wlw.runtime.jcs.container.JcsProxy.invoke(JcsProxy.java:381)
    at $Proxy59.excuteBatch(Unknown Source)
    at QnbDailyFeedProcess.feedFileJavaObjExcuteBatch(QnbDailyFeedProcess.jp
    d:274)
    at QnbDailyFeedProcess_wf$ImplControlSend15.invoke(QnbDailyFeedProcess_w
    f.java:146)
    at com.bea.wli.bpm.runtime.Perform.execute(Perform.java:32)
    at com.bea.wli.bpm.runtime.ProcessState.executeInternalCallback(ProcessS
    tate.java:726)
    at QnbDailyFeedProcess_wf$_ProcessState.executeInternalCallback(QnbDaily
    FeedProcess_wf.java:311)
    at com.bea.wli.bpm.runtime.ProcessState.executeInternalCallback(ProcessS
    tate.java:685)
    at com.bea.wli.bpm.runtime.ProcessState.processNodeOrchestration(Process
    State.java:681)
    at sun.reflect.GeneratedMethodAccessor193.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java
    :371)
    at com.bea.wli.bpm.runtime.JpdInternalDispMethod.invoke(JpdInternalDispM
    ethod.java:87)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:42
    3)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:39
    6)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:24

  • Java.sql.SQLException: Cannot disable AUTO_COMMIT

    Hi,
    I am getting "java.sql.SQLException: Cannot disable AUTO_COMMIT" exception when using mySQL
    with Weblogic 5.1 EJB (through org.gjt.mm.mysql.Driver JDBC driver).
    Can anybody help!!!!!!
    Thank you, Eric
    [email protected]

    eric wrote:
    >
    Hi,
    I am getting "java.sql.SQLException: Cannot disable AUTO_COMMIT" exception when using mySQL
    with Weblogic 5.1 EJB (through org.gjt.mm.mysql.Driver JDBC driver).Hi. I'd have to see the whole stack trace to know for sure, but it looks like the
    DBMS/driver you're using doesn't implement the transactional calls/behavior that
    are required for managing EJB transactions. If you can write a small standalone
    java program that just gets a JDBC connection to your database, then calls setAutoCommit(false),
    then does a few updates, then calls Conenction.commit(), then there may be a weblogic problem,
    but if your simple program gets the same error, you need a transactionally capable DBMS.
    Joe
    Can anybody help!!!!!!
    Thank you, Eric
    [email protected]

  • Java.sql.SQLException: Cannot obtain connection after 3600 seconds. , Exception = Access not allowed

    Using Weblogic Platform 7.0 (installed from platform700_win32.exe),
    Running a BPM Doamin(WLIDomain with BPM only).
    When I try to access my entity bean(CMP), the following exception is getting thrown.
    I have seen a similar post in here, but the answer to that post, which says to
    provide ACL. does not apply quite well my scenario.
    To do this, I right clicked on the connection pool and selected define Ploicy..
    It shows two options
    RealmAdapterAuthorizer and DefaultAuthorizer; On DefaultAuthroizer i specified
    role accessing the resource would be "everyone". - restarted the server - but
    still the same error.
    Please suggest a solution if any. Do i have to get some service pack for this?
    TIA
    Ranjith.

    We have never seen a case yet where this was not a permissions problem.
    Do you have a fileRealm.properties file as part of your configuration?
    "Ranjith" <[email protected]> wrote in message
    news:3f0fdeb3$[email protected]..
    >
    java.sql.SQLException: Cannot obtain connection after 3600 seconds. ,Exception
    = Access not allowed
    java.sql.SQLException: Cannot obtain connection after 3600 seconds. ,Exception
    = Access not allowed
    atweblogic.jdbc.jts.Connection.wrapAndThrowSQLException(Connection.java:701)
    atweblogic.jdbc.jts.Connection.getOrCreateConnection(Connection.java:623)
    atweblogic.jdbc.jts.Connection.prepareStatement(Connection.java:133)
    atweblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.ja
    va:139)
    atweblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:81
    atservice.samplemgt.v1_0.ejb.entity.BanksampletypeCMP_ckv0ao__WebLogic_CMP_RDB
    MS.ej
    bFindAll(BanksampletypeCMP_ckv0ao__WebLogic_CMP_RDBMS.java:873)
    at java.lang.reflect.Method.invoke(Native Method)
    atweblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.collectionFinder(RDBMSPersi
    stenceManager
    java:300)
    atweblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityManager.
    java:715)
    atweblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityManager.
    java:688)
    atweblogic.ejb20.internal.EntityEJBLocalHome.finder(EntityEJBLocalHome.java:47
    6)
    at ...

  • Java.sql.SQLException:Cannot open any more tables.

    I have such exception(java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Cannot open any more tables.) when I try to make request to database:
    if(null!=con)
    try{
    Statement stmt;
    stmt = con.createStatement ( ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_UPDATABLE);
    ResultSet rs= stmt.executeQuery(quary);
    } catch(SQLException ex) {
    System.err.println("SQLException: " + ex.getMessage());
    ex.printStackTrace();
    }//try
    But exception occurs after several requests(about 20). First 20 requests work fine. What is it? Thanks.

    Statement stmt;
    stmt = con.createStatement ( ResultSet.TYPE_SCROLL_INSENSITIVE,
    try{
    ResultSet.CONCUR_UPDATABLE);
    ResultSet rs= stmt.executeQuery(quary);
    } catch(SQLException ex) {
    System.err.println("SQLException: " + ex.getMessage());
    ex.printStackTrace();
    }//tryyou should reuse the statement rather than opening it for every query
    Good Luck

  • Java.sql.SQLException: Cannot rollback a transactional connection

    Hi
    This is what i am trying to do:
    try{
    conn = getConnection();
    conn.setAutoCommit(false);
    execQuery(sql_1);
    execQuery(sql_2);
    conn.commit();
    }catch(Exception ex){
    conn.rollback();
    i have made an error in sql_2 so i get an Exception. My queries use the same "conn" so the rollback should applay to the first query but it has made a commit. How do i get rollback to work?
    I read this in an other topic:
    Make sure that you configure your database connection in the jboss.jcml and not in the bean (or servlet) itself.
    Then, make a lookup via jndi. On this way, the driver gets bound to the transactionManager and the rollback() works finde.
    But i don�t know how to configure the connections, and how does the trasactionManager work.
    Can some one help me?

    Maybe i should ad that i am using Oracle db an the
    code is in a Entity BeanThis changes the way you want to do rollbacks. Rollbacks in ejbs are handled by the container. In order to do rollbacks, you need to flag the transaction as to be rolled back. To do this, you need to call the method setRollbackOnly() in the ejb's SessionContext - sessionContext.setRollbackOnly();
    For this to work correctly, you must declare the method in the ejb's deployment descriptor as requiring to handle transactions by specifying the appropriate value for the <tran-attribute> element of you ejb's dd.
    BTW, you'd be better off posting EJB related question in the J2EE SDK forum.

  • Java.sql.SQLException: Error accessing jdbc driver

    Hi,
    We are using WebLogic Server 7.0 as Application Server.
    We now create a connection pool named regPool and
    a Tx datasource named regDS.
    When we get the connection from the datasource, exception occurred.
    java.sql.SQLException: Error accessing jdbc driver: driverURL =
    jdbc:weblogic:pool:regPool, props = {enableTwoPhaseCommit=false,
    jdbcTxDataSource=true, connectionPoolID=regPool}
    at
    weblogic.jdbc.jts.Driver.wrapAndThrowSQLException(Driver.java:323)
    at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:377)
    at weblogic.jdbc.jts.Driver.connect(Driver.java:129)
    at
    weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java
    :265)
    So I guess that why we can't use CMP for finding data. Here is the error when we call the finder.
    javax.ejb.FinderException: Exception in findAllEmr while preparing or
    executing statement: 'null'
    java.sql.SQLException: Cannot obtain connection after 30 seconds. ,
    Exception = Access not allowed
    java.sql.SQLException: Cannot obtain connection after 30 seconds. ,
    Exception = Access not allowed
    at
    weblogic.jdbc.jts.Connection.wrapAndThrowSQLException(Connection.java:694)
    According to the exception message, it looks
    like the connection fail between WLS and Oracle 9.2.
    Here is a scenario I think you should need to know.
    I change the table-name in the weblogic-cmp-rdbms-jar.xml
    to a name that doesn't exist in the database.
    Then, re-package the EJB, copy it to server and restart the server.
    A exception occurred that says the table doesn't exist.
    So, in this case, it looks like the datasource works and
    connection is fine.
    Any recommendation will be appreciated.
    Jimmy Chang

    Hi!
    I am a default user to the databse server. I connect to the database with '\' as the username and blank passoword(I mean with Network authentication may be).When I am trying to create connection using
    con = DriverManager.getConnection("jdbc:oracle:thin:@DRACINAL2:BSAJ", "/","" )
    it gives me followint error
    ava.sql.SQLException: Null user or password not supported in THIN driver
         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.check_error(int)
         oracle.jdbc.dbaccess.DBConversion oracle.jdbc.ttc7.TTC7Protocol.logon(java.lang.String, java.lang.String, java.lang.String, java.util.Properties)
         void oracle.jdbc.driver.OracleConnection.<init>(oracle.jdbc.dbaccess.DBAccess, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.util.Properties)
         java.sql.Connection oracle.jdbc.driver.OracleDriver.getConnectionInstance(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.util.Properties)
         java.sql.Connection oracle.jdbc.driver.OracleDriver.connect(java.lang.String, java.util.Properties)
         java.sql.Connection java.sql.DriverManager.getConnection(java.lang.String, java.util.Properties, java.lang.ClassLoader)
         java.sql.Connection java.sql.DriverManager.getConnection(java.lang.String, java.lang.String, java.lang.String)
         void textPack.GenTextFile.main(java.lang.String[])
    How should I go about it?
    Thanks for your help.
    -Sreekanth Varidhireddy

  • Java.sql.SQLException: ORA-12899

    Hi All,
    I am working on IDOC to JDBC scenario.We want to POst the data from SAP to Oracle Data base. So i have used the hasQuot for Date elements.http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/2002.I [original link is broken] [original link is broken] [original link is broken] am getting the below error in the receiver JDBC channel.
    Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. XXXXXX (structure 'Statement'): java.sql.SQLException: ORA-12899: value too large for column "HRCORE_D"."HRP1007"."BEGDA" (actual: 9, maximum: 8).
    In the XML i m able to see only 8 characters for BEGDA field. I have used trim function before each block in the Mapping.
    <BEGDA hasQuot="No">TO_DATE('2011-08-22','yyyy-MM-dd')</BEGDA>
    Please let me know the solution for this.
    Thanks,
    Soumya.

    The error shows that you are sending the value more than declared for that date field in the table.  You send the field value size more than 8 characters. You actually send 9 characters. This is purely backend error. Java trim method will remove only blank space on the leading and trailing.

  • Java.sql.SQLException: Fail to convert between UTF8 and UCS2: failUTF8Conv

    Hi all,
    I am writing a servlet that connects to Oracle 8.0.6 through jdbc for jdk1.2 on NT 4.0
    English version and it works fine.
    But when the servlet is deployed to a solaris with Oracle 8.0.5 (not a typo, the oracle on
    NT is 8.0.6 and oracle on solaris is 8.0.5) and jdbc for jdk1.2 (of course, for Solaris),
    the servlet failed with the Exception:
    java.sql.SQLException: Fail to convert between UTF8 and UCS2: failUTF8Conv
    (I am using JRun 3.0 as the application and web server for both NT and Solaris)
    (The database in both the NT and solaris platform are using UTF8 charset)
    My servlet looks like this: (dbConn is a Connection object proved to be connected to Oracle
    in previous segment of the same method):
    String strSQL = "SELECT * FROM test";
    try { Statement stmt = dbConn.createStatement();
    ResultSet rs = stmt.execute(strSQL);
    while (rs.next()) {
    out.println("id = " + rs.getInt("id"));
    System.out.println("id written");
    out.println("name = " + rs.getString("name")); // <-- this is the line the
    exception is thrown
    System.out.println("name written");
    } catch (java.sql.SQLException e) {
    System.out.println("SQL Exception");
    System.out.println(e);
    The definition of the "test" table is:
    create table test(
    id number(10,0),
    name varchar2(30));
    There are about 10 rows exists in the table "test", in which all rows contains ONLY chinese
    characters in the "name" field.
    And when I view the System log, the string "id written" is shown EXACTLY ONCE and then there
    is:
    SQL Exception
    java.sql.SQLException: Fail to convert between UTF8 and UCS2: failUTF8Conv
    That means the resultset is fetch back from the database correctly. The problem arise only
    during the getString("name") method.
    Again, this problem only happens when the servlet is run on the solaris platform.
    At first I would expect there are some strange code shown on the web page rather than having
    an exception. I know that I should use getBytes to convert between different encodings, but
    that's another story.
    One more piece of information: When all the rows contains ascii characters in their "name"
    field, the servlet works perfectly even in solaris.
    If anyone knows why and how to tackle the problem please let me know. You can feel free to
    send email to me at [email protected]
    Many thanks,
    Ben
    null

    Hi all,
    For the problem I previously posted, I found that Oracle had had such bug filed before in Oracle 7.3.2 (something like that) and is classified to be NOT A BUG.
    A further research leads me to the document of Oracle that the error message:
    "java.sql.SQLException: Fail to convert between UTF8 and UCS2: failUTF8Conv"
    is a JDBC driver error message of error number ORA-17037.
    I'm still wondering why this behaviour will happen only in Solaris platform. The servlet on an NT machine I am using (which has an Oracle 8.0.6 and jdbc for jdk 1.2 running) is working just fine. I also suspect that this may be some sort of mistakes from jdbc driver.
    Nevertheless, I have found a way to work around the problem that I cannot get non-English string from Oracle in Solaris and I would like to share it with you all here.
    Before I go on, I found that there are many people out there on the web that encounter the same problem. (Some of which said s/he has been working on this problem for a month). As a result, if you find this way of working around the problem does help you, please tell those who have the same problem but don't know how to tackle. Thanks very much.
    Here's the way I work it out. It's kinda simple, but it does work:
    Instead of using:
    String abc = rs.getString("SomeColumnContainsNonEnglishCharacters");
    I used this:
    String abc = new String(rs.getBytes("SomeColumnContainsNonEnglishCharacters"));
    This will give you a string WITH YOUR DEFAULT CHARSET (or ENCODING) from your system.
    If you want to convert the string read to some other encoding type, say Big5, you can do it like this:
    String abc = new String(rs.getBytes("SomeColumneContainsNonEnglishCharacters"), "BIG5");
    Again, it's simple, but it works.
    Finally, if anyone knows why the fail to convert problem happens, please kindly let me know by leaving a word in [email protected]
    Again, thanks to those of you who had tried to help me out.
    Creambun
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by creambun creambun ([email protected]):
    Hi all,
    I am writing a servlet that connects to Oracle 8.0.6 through jdbc for jdk1.2 on NT 4.0
    English version and it works fine.
    But when the servlet is deployed to a solaris with Oracle 8.0.5 (not a typo, the oracle on
    NT is 8.0.6 and oracle on solaris is 8.0.5) and jdbc for jdk1.2 (of course, for Solaris),
    the servlet failed with the Exception:
    java.sql.SQLException: Fail to convert between UTF8 and UCS2: failUTF8Conv
    (I am using JRun 3.0 as the application and web server for both NT and Solaris)
    (The database in both the NT and solaris platform are using UTF8 charset)
    My servlet looks like this: (dbConn is a Connection object proved to be connected to Oracle
    in previous segment of the same method):
    String strSQL = "SELECT * FROM test";
    try { Statement stmt = dbConn.createStatement();
    ResultSet rs = stmt.execute(strSQL);
    while (rs.next()) {
    out.println("id = " + rs.getInt("id"));
    System.out.println("id written");
    out.println("name = " + rs.getString("name")); // <-- this is the line the
    exception is thrown
    System.out.println("name written");
    } catch (java.sql.SQLException e) {
    System.out.println("SQL Exception");
    System.out.println(e);
    The definition of the "test" table is:
    create table test(
    id number(10,0),
    name varchar2(30));
    There are about 10 rows exists in the table "test", in which all rows contains ONLY chinese
    characters in the "name" field.
    And when I view the System log, the string "id written" is shown EXACTLY ONCE and then there
    is:
    SQL Exception
    java.sql.SQLException: Fail to convert between UTF8 and UCS2: failUTF8Conv
    That means the resultset is fetch back from the database correctly. The problem arise only
    during the getString("name") method.
    Again, this problem only happens when the servlet is run on the solaris platform.
    At first I would expect there are some strange code shown on the web page rather than having
    an exception. I know that I should use getBytes to convert between different encodings, but
    that's another story.
    One more piece of information: When all the rows contains ascii characters in their "name"
    field, the servlet works perfectly even in solaris.
    If anyone knows why and how to tackle the problem please let me know. You can feel free to
    send email to me at [email protected]
    Many thanks,
    Ben<HR></BLOCKQUOTE>
    null

  • Java.sql.SQLException: Invalid column count. Cannot be less or equal to zer

    Hi,
    update method working but java.sql.SQLException: Invalid column count. Cannot be less or equal to zero is thorwn...
    value's are updating...how can i handle this exception...pls anybody help me
    related java file(IDE) generated file
    public void setColumnCount(int columnCount) throws SQLException {
    if (columnCount <= 0) {
    throw new SQLException("Invalid column count. Cannot be less " +
    "or equal to zero");
         }

    The idea behind drag'n'drop visual editors and code-generators is nice. But they are not intented to be used by developers who don't understand what they do.
    With other words, keep away from those visual editors and code generators as long as you're unexperienced with Java. Write code at your own. You will learn and grow gratefully.

  • "java.sql.SQLException: The url cannot be null"

    Hi,
    I started to use the torque in my last project but when I try to insert new data to the db(i am using MySQL) I get the following error "java.sql.SQLException: The url cannot be null".
    Is that error familiar to anybody ?
    Regards
    RCY

    Hi,
    Sorry for the lack of info.
    1) This is my Torque.properties :
    #  T O R Q U E  P R O P E R T I E S
    #Torque has the ability to use multiple databases. This property
    #specifies which database is to be used as the default
    torque.database.default=rcy
    # Torque has the ability to deal with multiple database systems.
    # This property specifies the database adapter to use.
    torque.database.rcy.adapter=mysql
    #torque.database.jd.rcy=mysql
    # The factory class that will be used to provide database connections.
    torque.dsfactory.rcy.factory=org.apache.torque.dsfactory.SharedPoolDataSourceFactory
    #torque.dsfactory.rcy.factory=org.apache.torque.dsfactory.TorqueDataSourceFactory
    # The JDBC database driver to use when connecting to your database.
    torque.dsfactory.rcy.connection.driver org.gjt.mm.mysql.Driver
    # The URL that will be used to access your database. Torque's generated
    # object model will perform all database operations using this URL.
    # This value should reflect the database name specified in your database schema file
    #torque.dsfactory.rcy.connection.url jdbc\:mysql\://localhost\:3306/rcy
    torque.dsfactory.rcy.connection.url jdbc\:mysql\://127.0.0.1\:3306/rcy
    #torque.dsfactory.rcy.connection.user user
    #torque.dsfactory.rcy.connection.password password
    torque.dsfactory.rcy.connection.user chen
    torque.dsfactory.rcy.connection.password 1qazI created the db with torque and then copied the file(Torque.properties ) to my project.
    2) This is my build.properties file :
    # T O R Q U E  C O N F I G U R A T I O N  F I L E
    # This file contains the most commonly used properties. For a
    # a complete list of build properties, please refer to:
    #   http://jakarta.apache.org/turbine/torque/properties-reference.xml
    #  P R O J E C T
    # This is the name of your Torque project. Your non-Java generated
    # files will be named using the project name selected below. If your
    # project=killerapp then you will have a generated:
    #   killerapp-schema.sql
    # The custom is then to also rename your project XML schema from
    # project-schema.xml to killerapp-schema.xml. This is required
    # for a few targets such as datasql, datadump, and datadtd.
    torque.project = rcy
    #  T A R G E T  D A T A B A S E
    # This is the target database, only considered when generating
    # the SQL for your Torque project. Your possible choices are:
    #   axion, cloudscape, db2, db2400, hypersonic, interbase, mssql,
    #   mysql, oracle, postgresql, sapdb, sybase
    torque.database = mysql
    #  O B J E C T  M O D E L  I N F O R M A T I O N
    # These settings will allow you to customize the way your
    # Peer-based object model is created.
    # addGetByNameMethod
    #   If true, Torque adds methods to get database fields by name/position.
    # addIntakeRetrievable
    #   If true, the data objects will implement Intake's Retrievable
    #   interface
    # addSaveMethod
    #   If true, Torque adds tracking code to determine how to save objects.
    # addTimeStamp
    #   If true, Torque true puts time stamps in generated om files.
    # basePrefix
    #   A string to pre-pend to the file names of base data and peer objects.
    # complexObjectModel
    #   If true, Torque generates data objects with collection support and
    #   methods to easily retreive foreign key relationships.
    # targetPackage
    #   Sets the Java package the om files will generated to, e.g.
    #   "com.company.project.om".
    # useClasspath
    #   If true, Torque will not look in the <code>templatePath</code> directory,
    #   for templates, but instead load them from the classpath, allowing you to
    #   use Torque without extracted it from the jar.
    # useManagers
    #   If true, Torque will generate Manager classes that use JCS for caching.
    #   Still considered experimental.
    torque.targetPackage = com.base
    torque.addGetByNameMethod = true
    torque.addIntakeRetrievable = false
    torque.addSaveMethod = true
    torque.addTimeStamp = true
    torque.basePrefix = Base
    torque.complexObjectModel = true
    torque.useClasspath = false
    torque.useManagers = false
    #  D A T A B A S E  S E T T I N G S
    # JDBC connection settings. This is used by the JDBCToXML task that
    # will create an XML database schema from JDBC metadata. These
    # settings are also used by the SQL Ant task to initialize your
    # Torque system with the generated SQL.
    # sameJavaName
    #   If true, the JDBC task will set the javaName attribute for the tables
    #   and columns to be the same as SQL name.
    torque.database.createUrl = jdbc:mysql://127.0.0.1/mysql
    torque.database.buildUrl = jdbc:mysql://127.0.0.1/rcy
    torque.database.url = jdbc:mysql://127.0.0.1/rcy
    torque.database.driver = org.gjt.mm.mysql.Driver
    torque.database.user = chen
    torque.database.password = 1qaz
    torque.database.host = 127.0.0.1
    torque.sameJavaName = falseI hope that will help you to help me :)
    Thank's

  • Java.sql.SQLException: ORA-01400: cannot insert NULL into ("SYSTEM"."DESCRIPTION"."TYPE")

    insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('','','',41)
    java.sql.SQLException: ORA-01400: cannot insert NULL into ("SYSTEM"."DESCRIPTION"."TYPE")
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:623)
    at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:112)
    at oracle.jdbc.driver.T4CStatement.execute_for_rows(T4CStatement.java:474)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1028)
    at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1125)
    at com.event.struts.InsertDetails.doPost(InsertDetails.java:78)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source
    and i my
    Action class is
    public class InsertDetails extends HttpServlet{
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
    // TODO Auto-generated method stub
    Connection conn = null;
    try{
    List list = (List) req.getSession().getAttribute("listbean");
    InputBean ib = (InputBean) list.get(0);
    InputBean ib1 = (InputBean) list.get(1);
    InputBean ib2 = (InputBean) list.get(2);
    InputBean ib3 = (InputBean) list.get(3);
    InputBean ib4 = (InputBean) list.get(4);
    InputBean ib5 = (InputBean) list.get(5);
    InputBean ib6 = (InputBean) list.get(6);
    InputBean ib7 = (InputBean) list.get(7);
    conn = ConnectionUtils.getConnection();
    Statement stmt = conn.createStatement();
    String sql1 = "select seq.nextval from DUAL";
    ResultSet rs1 = stmt.executeQuery(sql1);
    rs1.next();
    int event_id = rs1.getInt(1);
    //Advanced and general info
    String sql2 = "insert into EVENT_INFO (EVENT_ID,EVENT_NAME,SHORT_NAME,EVENT_START_DATE,EVENT_END_DATE,EVENT_START_TIME,EVENT_END_TIME,event_LOCATION,ADDRESS1,ADDRESS2,CITY,STATE,ZIP_CODE,COUNTRY,event_COMMENT,EVENT_OVERVIEW,EXTRA1,EXTRA2,MEMBERSHIP_OPTION,EXTRA3,EXTRA4,EXTRA5,KID,TEEN,ADULT,SENIOR,SENILE,EVENT_TYPE1,EVENT_TYPE2,DETAILED_DESCRIPTION,IS_DETAILED_DESCRIPTION_HTML,ADDITIONAL_URL,BYPASS_INFORMATION_PAGE,CANCELLATION_POLICY,ADDTIONAL_INFO) values("+event_id+",'"+ib.getName()+"','"+ib.getShortname()+"','"+ib.getStartdate()+
    "','"+ib.getEnddate()+"','"+ib.getStarttime()+"','"+ib.getEndtime()+"','"+ib.getLocation()+"','"+ib.getAddress1()+"','"+ib.getAddress2()+"','"+
    ib.getCity()+"','"+ib.getState()+"','"+ib.getZip()+"','"+ib.getCountry()+"','"+ib.getComment()+"','"+ib.getTextarea()+"','"+ib.getExtra1()+"','"+
    ib.getExtra2()+"','"+ib.getExtra3()+"','"+ib.getExtra4()+"','"+ib.getExtra5()+"','"+ib.getExtra6()+"','"+ib.getExtra7()+"','"+ib.getExtra8()+"','"+
    ib.getExtra9()+"','"+ib.getExtra10()+"','"+ib.getExtra11()+"','"+ib.getExtra12()+"','"+ib.getExtra13()+"','"+ib1.getTextarea()+"','"+ib1.getExtra1()+"','"+
    ib1.getName()+"','"+ib1.getExtra2()+"','"+ib2.getCancellation_policy()+"','"+ib2.getTextarea()+"')";
    stmt.executeQuery(sql2);
    //Description
    List list1 = (List) ib2.getList();
    DescriptionBean db = (DescriptionBean) list1.get(0);
    DescriptionBean db1 = (DescriptionBean) list1.get(1);
    DescriptionBean db2 = (DescriptionBean) list1.get(2);
    DescriptionBean db3 = (DescriptionBean) list1.get(3);
    DescriptionBean db4 = (DescriptionBean) list1.get(4);
    DescriptionBean db5 = (DescriptionBean) list1.get(5);
    DescriptionBean db6 = (DescriptionBean) list1.get(6);
    if(db.getDescription()!=" "){
    String s1 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db.getDescription()+"','"+db.getTextarea()+"','"+db.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s1);
    if(db1.getDescription()!=" "){
    String s2 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db1.getDescription()+"','"+db1.getTextarea()+"','"+db1.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s2);
    if(db2.getDescription()!=" "){
    String s3 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db2.getDescription()+"','"+db2.getTextarea()+"','"+db2.getHtmlbutton()+"',"+event_id+")";
    System.out.println(s3);
    stmt.executeQuery(s3);
    if(db3.getDescription()!=" "){
    String s4 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db3.getDescription()+"','"+db3.getTextarea()+"','"+db3.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s4);
    if(db4.getDescription()!=" "){
    String s5 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db4.getDescription()+"','"+db4.getTextarea()+"','"+db4.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s5);
    if(db5.getDescription()!=" "){
    String s6 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db5.getDescription()+"','"+db5.getTextarea()+"','"+db5.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s6);
    if(db6.getDescription()!=" "){
    String s7 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db6.getDescription()+"','"+db6.getTextarea()+"','"+db6.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s7);
    //Activity
    String sql3 = "insert into ACTIVITY (ACTIVITY_NAME,ACTIVITY_START_DATE,ACTIVITY_END_DATE,ACTIVITY_START_TIME,ACTIVITY_END_TIME,TYPE,CAPACITY,EVENT_ID) values('"+ib3.getName()+"','"+ib3.getStartdate()+"','"+
    ib3.getEnddate()+"','"+ib3.getStarttime()+"','"+ib.getEndtime()+"','"+ib3.getExtra1()+"',"+event_id+")";
    stmt.executeQuery(sql3);
    i put condition for null .But if i dont fill the fields,even then the executeQuery is executing without checking the condition.
    wht is the problem
    what i want to change in my code.

    1. Use code tags when you post code.
    2. Use prepared statements.
    3. If you have a field that requires a non-null entry then you must provide a non-null value. And for Oracle that means non-empty as well.

Maybe you are looking for