You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by Jack Fong <ja...@ca.ibm.com> on 2007/06/05 21:33:14 UTC
Re: Generate DDL without DB connection
Thanks for your reply Marc. With your suggestion, I can now generate a
schema XML file without any DB connection. But when I try to use the
SchemaTool to generate a SQL file, I am getting this error message again:
INFO: OpenJPA will now connect to the database to attempt to determine what
type of database dictionary to use. To prevent this connection in the
future, set your openjpa.jdbc.DBDictionary configuration property to the
appropriate value for your database (see the documentation for available
values).
Exception in thread "main" <4|true|0.0.0>
org.apache.openjpa.util.UserException:
A JDBC Driver or DataSource class name must be specified in the
ConnectionDriverName property.
at
org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:67)
at
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:797)
at
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:563)
at
org.apache.openjpa.jdbc.schema.XMLSchemaParser.<init>(XMLSchemaParser.java:121)
at
org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:1439)
at
org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:1391)
at
org.apache.openjpa.jdbc.schema.SchemaTool.main(SchemaTool.java:1336)
Please notice that I do have a Derby Embedded Database ready on my file
system and OpenJPA can connect anytime it needs to, and here is a fragment
of my META-INF/persistence.xml file that describes the datasource setting:
<property name="openjpa.jdbc.DBDictionary" value=
"org.apache.openjpa.jdbc.sql.DerbyDictionary"/>
<property name="openjpa.ConnectionUserName" value="user"/>
<property name="openjpa.ConnectionPassword" value="secret"/>
<property name="openjpa.ConnectionDriverName" value=
"org.apache.derby.jdbc.EmbeddedDriver"/>
<property name="openjpa.ConnectionURL" value=
"jdbc:derby:d:/abc/hellojpa-database"/>
Any help is appreciated.
Regards,
Jack
/
/
/ Jack Fong
/ jackfong@ca.ibm.com
/
/ Software Developer, Rational/AIM WebSphere, Java EE Application Tools
IBM Canada Ltd.
/ 905-413-3930 (T/L 969)
/ D3/RKB/8200/MKM
/
/
/
/
/
/
/ (Embedded image moved to file: pic16211.gif) (Embedded image moved to
/ file: pic14600.gif)
"Marc
Prud'hommeaux"
<mprudhom@apache. To
org> open-jpa-dev@incubator.apache.org
Sent by: "Marc cc
Prud'hommeaux"
<mprudhomapache@g Subject
mail.com> Re: Generate DDL without DB
connection
05/30/2007 11:19
PM
Please respond to
open-jpa-dev@incu
bator.apache.org
Unfortunately, you do need to be able to connect to a database in
order to generate a SQL DDL. I think it would be a pretty minor
project to remove this restriction, but as of right now, it exists.
Note that you can generate a database-independent schema XML file
without connecting to any database, e.g. with:
java org.apache.openjpa.jdbc.meta.MappingTool -action buildSchema -
schemaAction none -DBDictionary oracle -schemaFile schema.xml
com.company.MyEntity
With that file, you can later use the SchemaTool to build the schema.
On May 30, 2007, at 1:00 PM, Jack Fong wrote:
>
> Hello,
>
> Have anyone able to generate a DDL from a Java source file without
> setting
> up a DB please? Thanks.
>
>
> Regards,
> Jack
>
>
>
> /
> /
>
> / Jack Fong
> / jackfong@ca.ibm.com
> /
> / Software Developer, Rational/AIM WebSphere, Java EE Application
> Tools
> IBM Canada Ltd.
> / 905-413-3930 (T/L 969)
> / D3/RKB/8200/MKM
> /
> /
> /
> /
> /
> /
>
>
> / (Embedded image moved to file: pic02110.gif) (Embedded image
> moved to
> / file: pic02712.gif)
>
>
>
Re: Generate DDL without DB connection
Posted by Jack Fong <ja...@ca.ibm.com>.
It is working now. Thank you very much Michael.
Regards,
Jack
/
/
/ Jack Fong
/ jackfong@ca.ibm.com
/
/ Software Developer, Rational/AIM WebSphere, Java EE Application Tools
IBM Canada Ltd.
/ 905-413-3930 (T/L 969)
/ D3/RKB/8200/MKM
/
/
/
/
/
/
/ (Embedded image moved to file: pic11555.gif) (Embedded image moved to
/ file: pic16831.gif)
"Michael Dick"
<michael.d.dick@g
mail.com> To
dev@openjpa.apache.org
06/06/2007 08:47 cc
AM
Subject
Re: Generate DDL without DB
Please respond to connection
dev@openjpa.apach
e.org
Hi Jack,
It looks like the SchemaTool can't find your persistence.xml file. The tool
will look for persistence.xml in the META-INF directory on your classpath,
could you post the classpath that you're using?
You can also provide the persistence.xml file as a properties file, ie :
java org.apache.openjpa.jdbc.schema.SchemaTool -p ${pathToPersistence.xml}
${otherArgs}.
Hope this Helps,
Michael Dick
On 6/5/07, Jack Fong <ja...@ca.ibm.com> wrote:
>
> Thanks for your reply Marc. With your suggestion, I can now generate a
> schema XML file without any DB connection. But when I try to use the
> SchemaTool to generate a SQL file, I am getting this error message again:
>
> INFO: OpenJPA will now connect to the database to attempt to determine
> what
> type of database dictionary to use. To prevent this connection in the
> future, set your openjpa.jdbc.DBDictionary configuration property to the
> appropriate value for your database (see the documentation for available
> values).
> Exception in thread "main" <4|true|0.0.0>
> org.apache.openjpa.util.UserException:
> A JDBC Driver or DataSource class name must be specified in the
> ConnectionDriverName property.
> at
> org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(
> DataSourceFactory.java:67)
> at
>
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory
> (JDBCConfigurationImpl.java:797)
> at
>
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance
> (JDBCConfigurationImpl.java:563)
> at
>
org.apache.openjpa.jdbc.schema.XMLSchemaParser.<init>(XMLSchemaParser.java
> :121)
> at
> org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:1439)
> at
> org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:1391)
> at
> org.apache.openjpa.jdbc.schema.SchemaTool.main(SchemaTool.java:1336)
>
> Please notice that I do have a Derby Embedded Database ready on my file
> system and OpenJPA can connect anytime it needs to, and here is a
fragment
> of my META-INF/persistence.xml file that describes the datasource
setting:
> <property name="openjpa.jdbc.DBDictionary" value=
> "org.apache.openjpa.jdbc.sql.DerbyDictionary"/>
> <property name="openjpa.ConnectionUserName" value="user"/>
> <property name="openjpa.ConnectionPassword" value="secret"/>
> <property name="openjpa.ConnectionDriverName" value=
> "org.apache.derby.jdbc.EmbeddedDriver"/>
> <property name="openjpa.ConnectionURL" value=
> "jdbc:derby:d:/abc/hellojpa-database"/>
>
> Any help is appreciated.
>
> Regards,
> Jack
>
> /
> /
>
> / Jack Fong
> / jackfong@ca.ibm.com
> /
> / Software Developer, Rational/AIM WebSphere, Java EE Application Tools
> IBM Canada Ltd.
> / 905-413-3930 (T/L 969)
> / D3/RKB/8200/MKM
> /
> /
> /
> /
> /
> /
>
>
> / (Embedded image moved to file: pic16211.gif) (Embedded image moved to
> / file: pic14600.gif)
>
>
>
>
>
>
>
>
> "Marc
> Prud'hommeaux"
> <mprudhom@apache.
To
> org> open-jpa-dev@incubator.apache.org
> Sent by: "Marc
cc
> Prud'hommeaux"
> <mprudhomapache@g
Subject
> mail.com> Re: Generate DDL without DB
> connection
>
> 05/30/2007 11:19
> PM
>
>
> Please respond to
> open-jpa-dev@incu
> bator.apache.org
>
>
>
>
>
>
>
> Unfortunately, you do need to be able to connect to a database in
> order to generate a SQL DDL. I think it would be a pretty minor
> project to remove this restriction, but as of right now, it exists.
>
> Note that you can generate a database-independent schema XML file
> without connecting to any database, e.g. with:
>
> java org.apache.openjpa.jdbc.meta.MappingTool -action buildSchema -
> schemaAction none -DBDictionary oracle -schemaFile schema.xml
> com.company.MyEntity
>
> With that file, you can later use the SchemaTool to build the schema.
>
>
>
> On May 30, 2007, at 1:00 PM, Jack Fong wrote:
>
> >
> > Hello,
> >
> > Have anyone able to generate a DDL from a Java source file without
> > setting
> > up a DB please? Thanks.
> >
> >
> > Regards,
> > Jack
> >
> >
> >
> > /
> > /
> >
> > / Jack Fong
> > / jackfong@ca.ibm.com
> > /
> > / Software Developer, Rational/AIM WebSphere, Java EE Application
> > Tools
> > IBM Canada Ltd.
> > / 905-413-3930 (T/L 969)
> > / D3/RKB/8200/MKM
> > /
> > /
> > /
> > /
> > /
> > /
> >
> >
> > / (Embedded image moved to file: pic02110.gif) (Embedded image
> > moved to
> > / file: pic02712.gif)
> >
> >
> >
>
>
Re: Generate DDL without DB connection
Posted by Michael Dick <mi...@gmail.com>.
Hi Jack,
It looks like the SchemaTool can't find your persistence.xml file. The tool
will look for persistence.xml in the META-INF directory on your classpath,
could you post the classpath that you're using?
You can also provide the persistence.xml file as a properties file, ie :
java org.apache.openjpa.jdbc.schema.SchemaTool -p ${pathToPersistence.xml}
${otherArgs}.
Hope this Helps,
Michael Dick
On 6/5/07, Jack Fong <ja...@ca.ibm.com> wrote:
>
> Thanks for your reply Marc. With your suggestion, I can now generate a
> schema XML file without any DB connection. But when I try to use the
> SchemaTool to generate a SQL file, I am getting this error message again:
>
> INFO: OpenJPA will now connect to the database to attempt to determine
> what
> type of database dictionary to use. To prevent this connection in the
> future, set your openjpa.jdbc.DBDictionary configuration property to the
> appropriate value for your database (see the documentation for available
> values).
> Exception in thread "main" <4|true|0.0.0>
> org.apache.openjpa.util.UserException:
> A JDBC Driver or DataSource class name must be specified in the
> ConnectionDriverName property.
> at
> org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(
> DataSourceFactory.java:67)
> at
> org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory
> (JDBCConfigurationImpl.java:797)
> at
> org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance
> (JDBCConfigurationImpl.java:563)
> at
> org.apache.openjpa.jdbc.schema.XMLSchemaParser.<init>(XMLSchemaParser.java
> :121)
> at
> org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:1439)
> at
> org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:1391)
> at
> org.apache.openjpa.jdbc.schema.SchemaTool.main(SchemaTool.java:1336)
>
> Please notice that I do have a Derby Embedded Database ready on my file
> system and OpenJPA can connect anytime it needs to, and here is a fragment
> of my META-INF/persistence.xml file that describes the datasource setting:
> <property name="openjpa.jdbc.DBDictionary" value=
> "org.apache.openjpa.jdbc.sql.DerbyDictionary"/>
> <property name="openjpa.ConnectionUserName" value="user"/>
> <property name="openjpa.ConnectionPassword" value="secret"/>
> <property name="openjpa.ConnectionDriverName" value=
> "org.apache.derby.jdbc.EmbeddedDriver"/>
> <property name="openjpa.ConnectionURL" value=
> "jdbc:derby:d:/abc/hellojpa-database"/>
>
> Any help is appreciated.
>
> Regards,
> Jack
>
> /
> /
>
> / Jack Fong
> / jackfong@ca.ibm.com
> /
> / Software Developer, Rational/AIM WebSphere, Java EE Application Tools
> IBM Canada Ltd.
> / 905-413-3930 (T/L 969)
> / D3/RKB/8200/MKM
> /
> /
> /
> /
> /
> /
>
>
> / (Embedded image moved to file: pic16211.gif) (Embedded image moved to
> / file: pic14600.gif)
>
>
>
>
>
>
>
>
> "Marc
> Prud'hommeaux"
> <mprudhom@apache. To
> org> open-jpa-dev@incubator.apache.org
> Sent by: "Marc cc
> Prud'hommeaux"
> <mprudhomapache@g Subject
> mail.com> Re: Generate DDL without DB
> connection
>
> 05/30/2007 11:19
> PM
>
>
> Please respond to
> open-jpa-dev@incu
> bator.apache.org
>
>
>
>
>
>
>
> Unfortunately, you do need to be able to connect to a database in
> order to generate a SQL DDL. I think it would be a pretty minor
> project to remove this restriction, but as of right now, it exists.
>
> Note that you can generate a database-independent schema XML file
> without connecting to any database, e.g. with:
>
> java org.apache.openjpa.jdbc.meta.MappingTool -action buildSchema -
> schemaAction none -DBDictionary oracle -schemaFile schema.xml
> com.company.MyEntity
>
> With that file, you can later use the SchemaTool to build the schema.
>
>
>
> On May 30, 2007, at 1:00 PM, Jack Fong wrote:
>
> >
> > Hello,
> >
> > Have anyone able to generate a DDL from a Java source file without
> > setting
> > up a DB please? Thanks.
> >
> >
> > Regards,
> > Jack
> >
> >
> >
> > /
> > /
> >
> > / Jack Fong
> > / jackfong@ca.ibm.com
> > /
> > / Software Developer, Rational/AIM WebSphere, Java EE Application
> > Tools
> > IBM Canada Ltd.
> > / 905-413-3930 (T/L 969)
> > / D3/RKB/8200/MKM
> > /
> > /
> > /
> > /
> > /
> > /
> >
> >
> > / (Embedded image moved to file: pic02110.gif) (Embedded image
> > moved to
> > / file: pic02712.gif)
> >
> >
> >
>
>