Hi,

Thanks for testing this out.

Comments interspersed below,  but mostly UTF8 works ok for my regression
tests (standalone).  The CD store looks familiar but I can't remember where
it comes from.  Any hints? Maybe I could work some more if I had the
example.

Looking at the exception again... I see an accented character in cafe.  Can
you change it to unaccented e and see if it fails?

I just copied and pasted 'Café' into an insert statement run through ant
and ant said, roughly, Character conversion error-malformed utf-8
character....  (before it got to thinking about talking to interclient)

This makes me wonder if the 'é' is supplied to interclient in a valid UTF8
encoding.  Do you know of any comprehensible and non boat anchor sized
unicode information?

Thanks

David Jencks
On 2001.02.27 03:03:26 -0500 Dirk Ohst wrote:
> Hi,
> 
> thanks for your answer. I have got the source and compiled it:
> 
> my system:
> SuSE-Linux 7.0, kernel 2.2.16. IBM java 1.3.0, Ant version 1.2 compiled
> on October 24 2000
> 
> With ant I'got the following error:
> 
> ------------------------
> dev/firebird> ant
> Searching for build.xml ...
> Buildfile: /home/ohst/interclient/20/dev/firebird/build.xml
> 
> setup.java:
> 
> BUILD FAILED
> 
> /home/ohst/interclient/20/dev/firebird/build.xml:21: Directory
> /home/build/interclient/dev/classes creation was not succesful for an
> unknown reason
> 
> Total time: 1 second
> ------------------------

I am assuming you have directory structure like
 ..../firebird/CVS/interclient/20/dev/firebird/build.xml

Your build failed because ant couldn't make a /home/build directory.  I'd
like to keep any compiled files out of the CVS tree.
> 
> 
> But it worked with make in the packages and interbase directory after
> some small
> corrections in XAResource.java, interbase/Makefile and event_msgs.h
> because of a compile errors:
> 
> in XAResource.java
> used:
> ------------------------
> ...
>  synchronized public void setTransactionTimeout(int seconds) throws
> javax.transaction.xa.XAException {
>     return ; //not yet supported
>   }
> ...
> ------------------------
> 
> 
> instead of:
> ------------------------
> ...
>  synchronized public boolean setTransactionTimeout(int seconds) throws
> javax.transaction.xa.XAException {
>     return false; //not yet supported
>   }
> ...
> ------------------------

What javax.transaction.xa.XAResource do you have?  Mine indicates that this
method should return a boolean.  Doesn't matter much, this XA stuff is a
red herring, its completely not implemented.
> 
> in event_msgs.h problem with C macros spanning multple lines ?!? I don't
> know why, have had up to now never such a problem.

This is a mystery to me also
> 
> renamed CDR.[ch] to cdr.[ch] in all files.

Also a mystery to me, the file names I have are CDR.h etc not cdr.h.
> 
> After that it worked. Thanks.
> 
> 
> But I ran into an other problem. The character set of the table is
> unicode_fss (we have to use unicode) and jboss.jcml looks as follows:
> 
> ------------------------
> ...
> <mbean name="DefaultDomain:service=XADataSource,name=InterBaseDB">
>        <attribute name="TimestampUsed">true</attribute>
>        <attribute name="Password">masterkey</attribute>
>        <attribute name="MaxSize">0</attribute>
>        <attribute name="InvalidateOnError">false</attribute>
>        <attribute name="IdleTimeout">1800000</attribute>
>        <attribute name="GCInterval">120000</attribute>
>        <attribute name="Blocking">true</attribute>
>        <attribute name="LoggingEnabled">true</attribute>
>        <attribute name="IdleTimeoutEnabled">false</attribute>
>        <attribute name="GCEnabled">false</attribute>
>        <attribute
> name="URL">jdbc:interbase://localhost/var/ibase/db/address.gdb</attribute>
>        <attribute
> name="Properties">CharSet=interbase.interclient.CharacterEncodings.UTF8</attribute>
>        <attribute name="MinSize">0</attribute>
>        <attribute name="MaxIdleTimeoutPercent">1.0</attribute>
>        <attribute name="JDBCUser">sysdba</attribute>
>        <attribute name="GCMinIdleTime">1200000</attribute>
>      </mbean>
> ...
> ------------------------
> 
> 
> After some inserts I got this exception, do you have an idea?
> Using this character-set (table and datasource) in a simple java-client
> works fine.
> 
> ------------------------
> ...
> [InterBaseDB] Resource 'org.jboss.minerva.xa.XAResourceImpl@375a9d8'
> enlisted for 'org.jboss.minerva.xa.XAConnectionImpl@374e9d8'.
> [InterBaseDB] Pool InterBaseDB [1/1/Unlimited] gave out pooled object:
> org.jboss.minerva.xa.XAConnectionImpl@374e9d8
> [CDCollectionBean] Added CD with id=11, title=Blade Runner/Vangelis,
> artist=New American Orchestra, type=soundtrack, notes=Orchestral version
> of real soundtrack
> [InterBaseDB] Pool InterBaseDB [0/1/Unlimited] returned object
> org.jboss.minerva.xa.XAConnectionImpl@374e9d8 to the pool.
> [InterBaseDB] Resource 'org.jboss.minerva.xa.XAResourceImpl@375a9d8'
> enlisted for 'org.jboss.minerva.xa.XAConnectionImpl@374e9d8'.
> [InterBaseDB] Pool InterBaseDB [1/1/Unlimited] gave out pooled object:
> org.jboss.minerva.xa.XAConnectionImpl@374e9d8
> [CDCollectionBean] Added CD with id=12, title=Signs of Life/Jeffes,
> Simon, artist=Penguin Café Orchestra, type=orchestral, notes=
> [JAWS] interbase.interclient.SQLException: [interclient][interbase]
> arithmetic exception, numeric overflow, or string truncation
> [JAWS] Cannot transliterate character between character sets
> [JAWS] 
> [JAWS]  at java.lang.Throwable.<init>(Throwable.java:96)
> [JAWS]  at java.lang.Exception.<init>(Exception.java:44)
> [JAWS]  at java.sql.SQLException.<init>(SQLException.java:45)
> [JAWS]  at
> interbase.interclient.SQLException.<init>(SQLException.java:96)
> [JAWS]  at
> interbase.interclient.RecvMessage.createSQLException(RecvMessage.java:694)
> [JAWS]  at
> interbase.interclient.RecvMessage.makeSQLException(RecvMessage.java:593)
> [JAWS]  at
> interbase.interclient.RecvMessage.get_EXCEPTIONS(RecvMessage.java:554)
> [JAWS]  at
> 
>interbase.interclient.PreparedStatement.remote_EXECUTE_PREPARED_UPDATE_STATEMENT(PreparedStatement.java:358)
> [JAWS]  at
> interbase.interclient.PreparedStatement.executeUpdate(PreparedStatement.java:338)
> [JAWS]  at
> 
>org.jboss.minerva.jdbc.PreparedStatementInPool.executeUpdate(PreparedStatementInPool.java:81)
> [JAWS]  at
> 
>org.jboss.ejb.plugins.jaws.jdbc.JDBCUpdateCommand.executeStatementAndHandleResult(JDBCUpdateCommand.java:49)
> [JAWS]  at
> org.jboss.ejb.plugins.jaws.jdbc.JDBCCommand.jdbcExecute(JDBCCommand.java:158)
> [JAWS]  at
> 
>org.jboss.ejb.plugins.jaws.jdbc.JDBCStoreEntityCommand.execute(JDBCStoreEntityCommand.java:97)
> [JAWS]  at
> 
>org.jboss.ejb.plugins.jaws.JAWSPersistenceManager.storeEntity(JAWSPersistenceManager.java:156)
> [JAWS]  at
> 
>org.jboss.ejb.plugins.CMPPersistenceManager.storeEntity(CMPPersistenceManager.java:337)
> [JAWS]  at
> 
>org.jboss.ejb.plugins.EntitySynchronizationInterceptor$InstanceSynchronization.beforeCompletion(EntitySynchronizationInterceptor.java:343)
> [JAWS]  at
> org.jboss.tm.TxCapsule.doBeforeCompletion(TxCapsule.java:1104)
> [JAWS]  at org.jboss.tm.TxCapsule.commit(TxCapsule.java:278)
> [JAWS]  at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:76)
> [JAWS]  at
> org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:318)
> [JAWS]  at
> org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:99)
> [JAWS]  at
> org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:144)
> [JAWS]  at
> org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
> [JAWS]  at
> org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.java:271)
> [JAWS]  at
> 
>org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerInvoker.java:163)
> [JAWS]  at java.lang.reflect.Method.invoke(Native Method)
> [JAWS]  at
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:242)
> [JAWS]  at sun.rmi.transport.Transport$1.run(Transport.java:155)
> [JAWS]  at java.security.AccessController.doPrivileged(Native Method)
> [JAWS]  at sun.rmi.transport.Transport.serviceCall(Transport.java:152)
> [JAWS]  at
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:462)
> [JAWS]  at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:662)
> [JAWS]  at java.lang.Thread.run(Thread.java:498)
> [CDCollectionBean] java.rmi.ServerException: Store failed; nested
> exception is: 
> [CDCollectionBean]      interbase.interclient.SQLException:
> [interclient][interbase] arithmetic exception, numeric overflow, or
> string truncation
> [CDCollectionBean] Cannot transliterate character between character sets
> [CDCollectionBean] 
> [CDCollectionBean] interbase.interclient.SQLException:
> [interclient][interbase] arithmetic exception, numeric overflow, or
> string truncation
> [CDCollectionBean] Cannot transliterate character between character sets
> [CDCollectionBean] 
> [CDCollectionBean]      at java.lang.Throwable.<init>(Throwable.java:96)
> [CDCollectionBean]      at java.lang.Exception.<init>(Exception.java:44)
> [CDCollectionBean]      at
> java.sql.SQLException.<init>(SQLException.java:45)
> [CDCollectionBean]      at
> interbase.interclient.SQLException.<init>(SQLException.java:96)
> [CDCollectionBean]      at
> interbase.interclient.RecvMessage.createSQLException(RecvMessage.java:694)
> [CDCollectionBean]      at
> interbase.interclient.RecvMessage.makeSQLException(RecvMessage.java:593)
> [CDCollectionBean]      at
> interbase.interclient.RecvMessage.get_EXCEPTIONS(RecvMessage.java:554)
> [CDCollectionBean]      at
> 
>interbase.interclient.PreparedStatement.remote_EXECUTE_PREPARED_UPDATE_STATEMENT(PreparedStatement.java:358)
> [CDCollectionBean]      at
> interbase.interclient.PreparedStatement.executeUpdate(PreparedStatement.java:338)
> [CDCollectionBean]      at
> 
>org.jboss.minerva.jdbc.PreparedStatementInPool.executeUpdate(PreparedStatementInPool.java:81)
> [CDCollectionBean]      at
> 
>org.jboss.ejb.plugins.jaws.jdbc.JDBCUpdateCommand.executeStatementAndHandleResult(JDBCUpdateCommand.java:49)
> [CDCollectionBean]      at
> org.jboss.ejb.plugins.jaws.jdbc.JDBCCommand.jdbcExecute(JDBCCommand.java:158)
> [CDCollectionBean]      at
> 
>org.jboss.ejb.plugins.jaws.jdbc.JDBCStoreEntityCommand.execute(JDBCStoreEntityCommand.java:97)
> [CDCollectionBean]      at
> 
>org.jboss.ejb.plugins.jaws.JAWSPersistenceManager.storeEntity(JAWSPersistenceManager.java:156)
> [CDCollectionBean]      at
> 
>org.jboss.ejb.plugins.CMPPersistenceManager.storeEntity(CMPPersistenceManager.java:337)
> [CDCollectionBean]      at
> 
>org.jboss.ejb.plugins.EntitySynchronizationInterceptor$InstanceSynchronization.beforeCompletion(EntitySynchronizationInterceptor.java:343)
> [CDCollectionBean]      at
> org.jboss.tm.TxCapsule.doBeforeCompletion(TxCapsule.java:1104)
> [CDCollectionBean]      at
> org.jboss.tm.TxCapsule.commit(TxCapsule.java:278)
> [CDCollectionBean]      at
> org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:76)
> [CDCollectionBean]      at
> org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:318)
> [CDCollectionBean]      at
> org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:99)
> [CDCollectionBean]      at
> org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:144)
> [CDCollectionBean]      at
> org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
> [CDCollectionBean]      at
> org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.java:271)
> [CDCollectionBean]      at
> 
>org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerInvoker.java:163)
> [CDCollectionBean]      at java.lang.reflect.Method.invoke(Native
> Method)
> [CDCollectionBean]      at
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:242)
> [CDCollectionBean]      at
> sun.rmi.transport.Transport$1.run(Transport.java:155)
> [CDCollectionBean]      at
> java.security.AccessController.doPrivileged(Native Method)
> [CDCollectionBean]      at
> sun.rmi.transport.Transport.serviceCall(Transport.java:152)
> [CDCollectionBean]      at
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:462)
> [CDCollectionBean]      at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:662)
> [CDCollectionBean]      at java.lang.Thread.run(Thread.java:498)
> [JAWS] interbase.interclient.SQLException: [interclient][interbase]
> arithmetic exception, numeric overflow, or string truncation
> ...
> ------------------------
> 
> 
> Regards,
> 
> Dirk Ohst.
> 
> David Jencks wrote:
> > 
> > Hi,
> > 
> > I never had this problem, but I notice that you are expecting JAWS to
> > create your tables.  The interclient driver from borland won't do this,
> > there are problems with the databaseMetData.getTables call.  Possibly
> this
> > is causing the problem you have-- in my experience it killed
> interserver
> > immediately.  You may have snipped the part of the trace indicating if
> this
> > is your problem.
> > 
> > If you are on Linux, especially rh 7,  you could try the latest
> firebird
> > interclient 20, in which I have fixed these problems.  You have to
> compile
> > it yourself at this point, but there is a ant script for this in the
> > interclient...../firebird directory.
> > 
> > If you are on windows, I would certainly appreciate you trying to
> compile
> > this from source and seeing if it works.  I don't have a windows
> compiler,
> > and I've been waiting for someone to test this out on windows before
> > publicizing it too much.
> > 
> > Thanks
> > 
> > David Jencks
> > firebird is at sourceforge.net/projects/firebird
> 
> 
> --
> --------------------------------------------------------------
> To subscribe:        [EMAIL PROTECTED]
> To unsubscribe:      [EMAIL PROTECTED]
> List Help?:          [EMAIL PROTECTED]
> 
> 
> 



--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
List Help?:          [EMAIL PROTECTED]

Reply via email to