JPOX Types.CHAR error

Lists: pgsql-jdbc
From: "Jason Porter" <Jason(dot)Porter(at)student(dot)neumont(dot)edu>
To: <pgsql-jdbc(at)postgresql(dot)org>
Subject: JPOX Types.CHAR error
Date: 2006-05-15 14:19:42
Message-ID: 1C47F9167B873F489B45243528C5EF03BED99B@studentmail.Student.Northface.local
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

I'm playing around with JPOX right now trying to get things to work, but
I'm having a problem with mapping the Java types to the JDBC types it
seems like. JPOX comes back and tells me that the JDBC driver doesn't
support Types.CHAR, which I find very hard to believe.

I'm running PostgreSQL 8.1.2 (just on my testing box) and I have JDBC
driver postgresql-8.1-405.jdbc3.jar. I also have the latest (1.1.0)
JPOX jars and the jdo2-api-2.0.jar. I'm running on an XP machine with
Java 1.5.0_6. Any help would be great, thanks!

Here's the stack trace:

22:47:00,978 (main) ERROR [JPOX.SchemaTool] - An exception was thrown
during the operation of SchemaTool. Please refer to the log for full
details. The following may help : Failed to generate new Mapping of type
org.jpox.store.rdbms.mapping.CharRDBMSMapping, exception : JDBC type
"Types.CHAR" not supported by the JDBC driver. Please check your
specification of "jdbc-type" and the driver capabilities.
org.jpox.store.exceptions.UnsupportedDataTypeException: JDBC type
"Types.CHAR" not supported by the JDBC driver. Please check your
specification of "jdbc-type" and the driver capabilities.

at
org.jpox.store.rdbms.adapter.DatabaseAdapter.getTypeInfo(DatabaseAdapter
.java:706)

at
org.jpox.store.rdbms.mapping.CharRDBMSMapping.getTypeInfo(CharRDBMSMappi
ng.java:205)

at
org.jpox.store.rdbms.mapping.CharRDBMSMapping.initialize(CharRDBMSMappin
g.java:187)

at
org.jpox.store.rdbms.mapping.CharRDBMSMapping.<init>(CharRDBMSMapping.ja
va:100)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)

at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorA
ccessorImpl.java:39)

at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCons
tructorAccessorImpl.java:27)

at
java.lang.reflect.Constructor.newInstance(Constructor.java:494)

at
org.jpox.store.rdbms.mapping.RDBMSMappingFactory.createMapping(RDBMSMapp
ingFactory.java:78)

at
org.jpox.store.rdbms.mapping.AbstractRDBMSMappingManager.createDatastore
Mapping(AbstractRDBMSMappingManager.java:460)

at
org.jpox.store.mapping.SingleFieldMapping.prepareDatastoreMapping(Single
FieldMapping.java:103)

at
org.jpox.store.mapping.SingleFieldMapping.<init>(SingleFieldMapping.java
:66)

at
org.jpox.store.mapping.BaseStringMapping.<init>(BaseStringMapping.java:5
7)

at
org.jpox.store.mapping.StringMapping.<init>(StringMapping.java:54)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)

at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorA
ccessorImpl.java:39)

at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCons
tructorAccessorImpl.java:27)

at
java.lang.reflect.Constructor.newInstance(Constructor.java:494)

at
org.jpox.store.mapping.MappingFactory.createMapping(MappingFactory.java:
114)

at
org.jpox.store.mapping.AbstractMappingManager.getMapping(AbstractMapping
Manager.java:348)

at
org.jpox.store.rdbms.table.ClassTable.addFieldMetaData(ClassTable.java:4
30)

at
org.jpox.store.rdbms.table.ClassTable.manageClass(ClassTable.java:392)

at
org.jpox.store.rdbms.table.ClassTable.initializeForClass(ClassTable.java
:775)

at
org.jpox.store.rdbms.table.ClassTable.initialize(ClassTable.java:277)

at
org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesAndValidate(R
DBMSManager.java:2656)

at
org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManager.java:2268)

at
org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RDBMSManager.j
ava:2124)

at
org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.java:577)

at org.jpox.SchemaTool.createSchemaTables(SchemaTool.java:225)

at org.jpox.SchemaTool.main(SchemaTool.java:855)

-Jason Porter


From: Kris Jurka <books(at)ejurka(dot)com>
To: Jason Porter <Jason(dot)Porter(at)student(dot)neumont(dot)edu>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: JPOX Types.CHAR error
Date: 2006-05-15 22:22:31
Message-ID: Pine.BSO.4.63.0605151508090.9269@leary2.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

On Mon, 15 May 2006, Jason Porter wrote:

> I'm playing around with JPOX right now trying to get things to work, but
> I'm having a problem with mapping the Java types to the JDBC types it
> seems like. JPOX comes back and tells me that the JDBC driver doesn't
> support Types.CHAR, which I find very hard to believe.
>
> 22:47:00,978 (main) ERROR [JPOX.SchemaTool] - An exception was thrown
> during the operation of SchemaTool. Please refer to the log for full
> details. The following may help : Failed to generate new Mapping of type
> org.jpox.store.rdbms.mapping.CharRDBMSMapping, exception : JDBC type
> "Types.CHAR" not supported by the JDBC driver. Please check your
> specification of "jdbc-type" and the driver capabilities.
> at
> org.jpox.store.rdbms.adapter.DatabaseAdapter.getTypeInfo(DatabaseAdapter
> .java:706)
>
> at
> org.jpox.store.rdbms.mapping.CharRDBMSMapping.getTypeInfo(CharRDBMSMappi
> ng.java:205)

A quick check reveals nothing obviously wrong with how
DatabaseMetaData.getTypeInfo returns data for Types.CHAR.

The best thing to do would probably add some debugging code to JPOX to
show how it sets up its type information and what it thinks is has
available when the failing call is made.

Kris Jurka