Hi,

can you tell, which
- jdbc driver you use (THIN or the one that uses Oracle Net) - maybe the connection
  descriptor wourd be helpful 
- with which character set did you create your database
- how does the CREATE TABLE statement look like (esp. the datatype in the database)
- (well, and maybe the p6spy output of the actual statement sent to the database=

Max

> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Gesendet: Mittwoch, 22. Oktober 2003 15:38
> An: [EMAIL PROTECTED]
> Betreff: Character set mismatch error in Oracle
> 
> 
> 
> 
> 
> 
> I am trying to access an Oracle 8i DB via OJB.
> 
> Here is my repository def:
> 
> <!-- This repository file is generated by the impart OJB Generator -->
> <!--           www.impart.ch [EMAIL PROTECTED]                        -->
> <!--        created at 22 Oct 2003 12:37:29 GMT               
>       -->
> 
> 
> <!-- Definitions for .EFAX -->
> <class-descriptor
>   class="com.capgroup.mo.transport.Message"
>   table="EFAX.MESSAGE"
> >
>   <field-descriptor id="0"
>     name="id"
>     column="ID"
>     jdbc-type="INTEGER"
>     primarykey="true"
>   />
>   <field-descriptor id="1"
>     name="content"
>     column="CONTENT"
>     jdbc-type="VARCHAR"
>   />
>   <field-descriptor id="2"
>     name="status"
>     column="STATUS"
>     jdbc-type="INTEGER"
>   />
>   <field-descriptor id="3"
>     name="creation_date"
>     column="CREATION_DATE"
>     jdbc-type="DATE"
>       conversion =
> "org.apache.ojb.broker.accesslayer.conversions.JavaDate2SqlDat
> eFieldConversion"
> 
>   />
>   <field-descriptor id="4"
>     name="modification_date"
>     column="MODIFICATION_DATE"
>     jdbc-type="DATE"
>       conversion =
> "org.apache.ojb.broker.accesslayer.conversions.JavaDate2SqlDat
> eFieldConversion"
> 
>   />
> 
> </class-descriptor>
> 
> And here is my class:
> 
> // Generated by impart OJB Generator
> // www.impart.ch [EMAIL PROTECTED]
> // created at 22 Oct 2003 12:37:30 GMT
> 
> package com.capgroup.mo.transport;
> 
> import java.util.Date;
> //import java.sql.*;
> 
> public class Message
> {
> 
>   private Object content;
>   private Date creation_date;
>   private long id;
>   private Date modification_date;
>   private long status;
> 
> 
> 
>   public Object getContent()
>   {
>      return this.content;
>   }
>   public void setContent(Object param)
>   {
>     this.content = param;
>   }
> 
> 
>   public Date getCreation_date()
>   {
>      return this.creation_date;
>   }
>   public void setCreation_date(Date param)
>   {
>     this.creation_date = param;
>   }
> 
> 
>   public long getId()
>   {
>      return this.id;
>   }
>   public void setId(long param)
>   {
>     this.id = param;
>   }
> 
> 
>   public Date getModification_date()
>   {
>      return this.modification_date;
>   }
>   public void setModification_date(Date param)
>   {
>     this.modification_date = param;
>   }
> 
> 
>   public long getStatus()
>   {
>      return this.status;
>   }
>   public void setStatus(long param)
>   {
>     this.status = param;
>   }
> 
> 
>   public String toString(){
>     return  " [CONTENT] " + content + " [CREATION_DATE] " + 
> creation_date +
> " [ID] " + id + " [MODIFICATION_DATE] " + modification_date + 
> " [STATUS] "
> + status;
> 
>   }
> /*  public IValueObject copy(IValueObject vo){
>     Message tmp = (Message) vo;
>     if(vo==null) return this;
> 
>     setContent(tmp.getContent());
>     setCreation_date(tmp.getCreation_date());
>     setId(tmp.getId());
>     setModification_date(tmp.getModification_date());
>     setStatus(tmp.getStatus());
> 
>     return this;
>   }*/
> }
> 
> I am getting the following error:
> 
> SQL:INSERT INTO EFAX.MESSAGE
> (ID,CONTENT,STATUS,CREATION_DATE,MODIFICATION_DATE) VALUES (?,?,?,?,?)
> executeInsert: [EMAIL PROTECTED]
> SQLException during the execution of the insert (for a
> com.capgroup.mo.transport.Message): ORA-12704: character set mismatch
> 
> java.sql.SQLException: ORA-12704: character set mismatch
> 
>       at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java)
>       at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java)
>       at oracle.jdbc.ttc7.Oall7.receive(Oall7.java)
>       at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java)
>       at 
> oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java)
>       at
> oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleState
> ment.java)
>       at
> oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatem
> ent.java)
>       at
> oracle.jdbc.driver.OracleStatement.doExecuteWithBatch(OracleSt
> atement.java)
>       at 
> oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java)
>       at
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(Oracle
> Statement.java)
>       at
> oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(Oracl
> ePreparedStatement.java)
>       at
> org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(Unknown
> Source)
>       at 
> org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown
> Source)
>       at 
> org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown
> Sourc e)
>       at 
> org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown
> Source)
>       at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown
> Source)
>       at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown
> Source)
>       at
> com.capgroup.mo.transport.test.TestMessage.main(TestMessage.java:37)
> closeResources was called
> java.sql.SQLException: ORA-12704: character set mismatch
>       at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java)
>       at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java)
>       at oracle.jdbc.ttc7.Oall7.receive(Oall7.java)
>       at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java)
>       at 
> oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java)
>       at
> oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleState
> ment.java)
>       at
> oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatem
> ent.java)
>       at
> oracle.jdbc.driver.OracleStatement.doExecuteWithBatch(OracleSt
> atement.java)
>       at 
> oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java)
>       at
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(Oracle
> Statement.java)
>       at
> oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(Oracl
> ePreparedStatement.java)
>       at
> org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(Unknown
> Source)
>       at 
> org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown
> Source)
>       at 
> org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown
> Source)
>       at 
> org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown
> Source)
>       at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown
> Source)
>       at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown
> Source)
>       at
> com.capgroup.mo.transport.test.TestMessage.main(TestMessage.java:37)
> rethrown as 
> org.apache.ojb.broker.PersistenceBrokerSQLException: ORA-12704:
> character set mismatch
>       at
> org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(Unknown
> Source)
>       at 
> org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown
> Source)
>       at 
> org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown
> Source)
>       at 
> org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown
> Source)
>       at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown
> Source)
>       at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown
> Source)
>       at
> com.capgroup.mo.transport.test.TestMessage.main(TestMessage.java:37)
> 
> If someone already had a similar error, I would really appreciate some
> help,
> 
> Regards,
> 
> Patrick Reyes
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to