You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Mark Neighbors <mn...@visualanalytics.com> on 2003/06/02 23:54:19 UTC
msaccess memo and ole object types
Hi,
Does anyone have the correct configuration for msaccess memo and ole object types?
The configuration listed here causes a hangup in the sun.jdbc.odbc classes.
The thread dump from a ctl-break is also listed below.
Thanks in advance,
Mark
___________________________________________________________________________
* configuration
* sql\base\msaccess\db.props in torque-3.0.jar
LONGVARCHAR = MEMO
* unchanged
BINARY = longbinary
VARBINARY = longbinary
LONGVARBINARY = longbinary
* changed as per the second table in http://admin.nj.devry.edu/~kjudge/accessddl.htm
...
* for memo:
* example torque column declaration
* <column name="DESCRIPTION" type="LONGVARCHAR"/>
* example ojb field-descriptor
* <field-descriptor name="description" column="DESCRIPTION" jdbc-type="VARCHAR"/>
* This works up to the 255 character length limit
* <field-descriptor name="description" column="DESCRIPTION" jdbc-type="LONGVARCHAR"/>
* This hangs in
at sun.jdbc.odbc.JdbcOdbcObject.CharsToBytes(JdbcOdbcObject.java:326)
at
sun.jdbc.odbc.JdbcOdbcPreparedStatement.setCharacterStream(JdbcOdbcPreparedStatement.java:2401)
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.ojb.broker.util.batch.PreparedStatementInvocationHandler.doExecute(PreparedStatementInvocationHandler.java:173)
at
org.apache.ojb.broker.util.batch.PreparedStatementInvocationHandler.invoke(PreparedStatementInvocationHandler.java:140)
at $Proxy0.doExecute(Unknown Source)
at org.apache.ojb.broker.util.batch.BatchConnection.executeBatch(BatchConnection.java:179)
at
org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.executeBatch(ConnectionManagerImpl.java:326)
at org.apache.ojb.odmg.ObjectEnvelopeTable.commit(ObjectEnvelopeTable.java:188)
at org.apache.ojb.odmg.TransactionImpl.doCommitOnObjects(TransactionImpl.java:326)
- locked <07BD5420> (a org.apache.ojb.odmg.TransactionImpl)
at org.apache.ojb.odmg.TransactionImpl.checkpoint(TransactionImpl.java:443)
* for ole object:
* example torque column declaration
* <column name="ICON_BLOB" type="LONGVARBINARY"/>
* example ojb field-descriptor
* <field-descriptor name="iconBlob" column="ICON_BLOB" jdbc-type="VARBINARY"/>
Re: msaccess memo and ole object types
Posted by Thomas Mahler <th...@web.de>.
Hi Mark,
I don't believe you will have much success using access via the
JdbcOdbcBridge.
1. Limitations of Access. We had to tweak OJB at several places to make
it work at all (other O/R tools do not even support Access!). For
example Access does not support transactions.
2. Limitations of the JdbcOdbcDriver. This Driver is one of the poorest
pieces of software available. Use a different driver whenever possible!
(I don't know of any other JDBC driver for Access)
3. The combination of these crappy pieces of software is even worse :-(
4. Personal experience. I never managed to get OJB use the Access data
types MEMO, LONGTEXT, LONGBINARY, etc.
If you (against all probability) find any way to get this work, please
tell me. I'll write a little howto to assist others.
My personal recommendation: change to a *real* database (migrating
Access databases to MS SQL Server is very easy).
Use a good native JDBC driver like the JSQLConnect driver
(http://www.j-netdirect.com/).
cheers,
Thomas
Mark Neighbors wrote:
> Hi,
>
> Does anyone have the correct configuration for msaccess memo and ole object types?
>
> The configuration listed here causes a hangup in the sun.jdbc.odbc classes.
> The thread dump from a ctl-break is also listed below.
>
> Thanks in advance,
> Mark
> ___________________________________________________________________________
>
> * configuration
>
> * sql\base\msaccess\db.props in torque-3.0.jar
> LONGVARCHAR = MEMO
> * unchanged
> BINARY = longbinary
> VARBINARY = longbinary
> LONGVARBINARY = longbinary
> * changed as per the second table in http://admin.nj.devry.edu/~kjudge/accessddl.htm
> ...
>
> * for memo:
> * example torque column declaration
> * <column name="DESCRIPTION" type="LONGVARCHAR"/>
>
>
> * example ojb field-descriptor
> * <field-descriptor name="description" column="DESCRIPTION" jdbc-type="VARCHAR"/>
> * This works up to the 255 character length limit
>
> * <field-descriptor name="description" column="DESCRIPTION" jdbc-type="LONGVARCHAR"/>
> * This hangs in
>
> at sun.jdbc.odbc.JdbcOdbcObject.CharsToBytes(JdbcOdbcObject.java:326)
> at
> sun.jdbc.odbc.JdbcOdbcPreparedStatement.setCharacterStream(JdbcOdbcPreparedStatement.java:2401)
> 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.ojb.broker.util.batch.PreparedStatementInvocationHandler.doExecute(PreparedStatementInvocationHandler.java:173)
> at
> org.apache.ojb.broker.util.batch.PreparedStatementInvocationHandler.invoke(PreparedStatementInvocationHandler.java:140)
> at $Proxy0.doExecute(Unknown Source)
> at org.apache.ojb.broker.util.batch.BatchConnection.executeBatch(BatchConnection.java:179)
> at
> org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.executeBatch(ConnectionManagerImpl.java:326)
> at org.apache.ojb.odmg.ObjectEnvelopeTable.commit(ObjectEnvelopeTable.java:188)
> at org.apache.ojb.odmg.TransactionImpl.doCommitOnObjects(TransactionImpl.java:326)
> - locked <07BD5420> (a org.apache.ojb.odmg.TransactionImpl)
> at org.apache.ojb.odmg.TransactionImpl.checkpoint(TransactionImpl.java:443)
>
> * for ole object:
> * example torque column declaration
> * <column name="ICON_BLOB" type="LONGVARBINARY"/>
>
> * example ojb field-descriptor
> * <field-descriptor name="iconBlob" column="ICON_BLOB" jdbc-type="VARBINARY"/>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>