Code generation is currently supported by calling this class with the above property file as argument.
org.jooq.util.GenerationTool
Be sure that these elements are located on the classpath:
Thanks for your help. I have generated the models by setting all these files into classpath. But yes, this should be documented inside documentation.
Now i am figuring out how to execute queries and parse result. Thanks for this utility.
On Mon, Mar 21, 2011 at 12:57 PM, Lukas Eder <lukas...@gmail.com> wrote:
By "calling this class" I mean you can run it either in the command line or inside Eclipse. The property file has to be the first argument. A command-line example:
java -cp [path/to/jOOQ.jar];[path/to/jOOQ-codegen.jar];[path/to/property/file];[path/to/jdbc-driver.jar] org.jooq.util.GenerationTool /property.file
Tell me if this helps. I will update the documentation page with some Eclipse screenshots, as this doesn't seem entirely clear...
--
Ravi.Shekhar
--------------------------------------------
I am unable to recreate this query. Are you sure the syntax is correct?
The problem seems to lie here:
java.sql.SQLException: select command denied to user: '' for table
Your connection user might not be correctly configured.
Can you please provide me with the way you set up your JDBC
connection? What are the contents of your configuration properties
file?
Cheers
Lukas
2011/6/7 Maxim Usenko <uma.p...@gmail.com>:
> Hello Lukas!
> I apologize for my bad English..
>
> Help with this:
>
> 07.06.2011 15:23:27 org.jooq.impl.JooqLogger error
> SEVERE: Exception while fetching master data tables
> java.sql.SQLException: select command denied to user: '' for table
> 'TABLES'
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975)
> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)
> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)
> at com.mysql.jdbc.Connection.execSQL(Connection.java:3026)
> at
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:
> 1137)
> at
> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:
> 1231)
> at
> org.jooq.impl.AbstractResultProviderQuery.executeLazy(AbstractResultProviderQuery.java:
> 125)
> at
> org.jooq.impl.AbstractResultProviderQuery.execute(AbstractResultProviderQuery.java:
> 68)
> at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:96)
> at
> org.jooq.impl.AbstractResultProviderQuery.fetch(AbstractResultProviderQuery.java:
> 96)
> at
> org.jooq.impl.AbstractDelegatingResultProviderQuery.fetch(AbstractDelegatingResultProviderQuery.java:
> 100)
> at
> org.jooq.util.mysql.MySQLDatabase.getTables0(MySQLDatabase.java:197)
> at
> org.jooq.util.AbstractDatabase.getMasterDataTables(AbstractDatabase.java:
> 202)
> at
> org.jooq.util.DefaultGenerator.generate(DefaultGenerator.java:323)
> at org.jooq.util.GenerationTool.main(GenerationTool.java:142)
> at org.jooq.util.GenerationTool.main(GenerationTool.java:101)
> 07.06.2011 15:23:27 org.jooq.impl.JooqLogger error
> SEVERE: Error while fetching tables
> java.sql.SQLException: select command denied to user: '' for table
> 'TABLES'
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975)
> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)
> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)
> at com.mysql.jdbc.Connection.execSQL(Connection.java:3026)
> at
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:
> 1137)
> at
> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:
> 1231)
> at
> org.jooq.impl.AbstractResultProviderQuery.executeLazy(AbstractResultProviderQuery.java:
> 125)
> at
> org.jooq.impl.AbstractResultProviderQuery.execute(AbstractResultProviderQuery.java:
> 68)
> at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:96)
> at
> org.jooq.impl.AbstractResultProviderQuery.fetch(AbstractResultProviderQuery.java:
> 96)
> at
> org.jooq.impl.AbstractDelegatingResultProviderQuery.fetch(AbstractDelegatingResultProviderQuery.java:
> 100)
> at
> org.jooq.util.mysql.MySQLDatabase.getTables0(MySQLDatabase.java:197)
> at
> org.jooq.util.AbstractDatabase.getTables(AbstractDatabase.java:169)
> at
> org.jooq.util.DefaultGenerator.generate(DefaultGenerator.java:446)
> at org.jooq.util.GenerationTool.main(GenerationTool.java:142)
> at org.jooq.util.GenerationTool.main(GenerationTool.java:101)
> 07.06.2011 15:23:27 org.jooq.impl.JooqLogger info
> INFO: UDTs fetched : 0
> 07.06.2011 15:23:27 org.jooq.impl.JooqLogger info
> INFO: ARRAYs fetched : 0
> 07.06.2011 15:23:27 org.jooq.impl.JooqLogger error
> SEVERE: Error while fetching enums
> java.sql.SQLException: select command denied to user: '' for table
> 'COLUMNS'
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975)
> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)
> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)
> at com.mysql.jdbc.Connection.execSQL(Connection.java:3026)
> at
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:
> 1137)
> at
> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:
> 1231)
> at
> org.jooq.impl.AbstractResultProviderQuery.executeLazy(AbstractResultProviderQuery.java:
> 125)
> at
> org.jooq.impl.AbstractResultProviderQuery.execute(AbstractResultProviderQuery.java:
> 68)
> at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:96)
> at
> org.jooq.impl.AbstractResultProviderQuery.fetch(AbstractResultProviderQuery.java:
> 96)
> at
> org.jooq.impl.AbstractDelegatingResultProviderQuery.fetch(AbstractDelegatingResultProviderQuery.java:
> 100)
> at
> org.jooq.util.mysql.MySQLDatabase.getEnums0(MySQLDatabase.java:222)
> at
> org.jooq.util.AbstractDatabase.getEnums(AbstractDatabase.java:229)
> at
> org.jooq.util.DefaultGenerator.generate(DefaultGenerator.java:1029)
> at org.jooq.util.GenerationTool.main(GenerationTool.java:142)
> at org.jooq.util.GenerationTool.main(GenerationTool.java:101)
> 07.06.2011 15:23:27 org.jooq.impl.JooqLogger error
> SEVERE: Error while fetching procedures
> java.sql.SQLException: select command denied to user: '' for table
> 'proc'
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975)
> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)
> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)
> at com.mysql.jdbc.Connection.execSQL(Connection.java:3026)
> at
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:
> 1137)
> at
> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:
> 1231)
> at
> org.jooq.impl.AbstractResultProviderQuery.executeLazy(AbstractResultProviderQuery.java:
> 125)
> at
> org.jooq.impl.AbstractResultProviderQuery.execute(AbstractResultProviderQuery.java:
> 68)
> at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:96)
> at
> org.jooq.impl.AbstractResultProviderQuery.fetch(AbstractResultProviderQuery.java:
> 96)
> at
> org.jooq.impl.AbstractDelegatingResultProviderQuery.fetch(AbstractDelegatingResultProviderQuery.java:
> 100)
> at
> org.jooq.util.mysql.MySQLDatabase.executeProcedureQuery(MySQLDatabase.java:
> 313)
> at
> org.jooq.util.mysql.MySQLDatabase.getProcedures0(MySQLDatabase.java:
> 280)
> at
> org.jooq.util.AbstractDatabase.getProcedures(AbstractDatabase.java:
> 324)
> at
> org.jooq.util.DefaultGenerator.generate(DefaultGenerator.java:1083)
> at org.jooq.util.GenerationTool.main(GenerationTool.java:142)
> at org.jooq.util.GenerationTool.main(GenerationTool.java:101)
> 07.06.2011 15:23:27 org.jooq.impl.JooqLogger error
> SEVERE: Error while fetching functions
> java.sql.SQLException: select command denied to user: '' for table
> 'proc'
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975)
> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)
> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)
> at com.mysql.jdbc.Connection.execSQL(Connection.java:3026)
> at
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:
> 1137)
> at
> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:
> 1231)
> at
> org.jooq.impl.AbstractResultProviderQuery.executeLazy(AbstractResultProviderQuery.java:
> 125)
> at
> org.jooq.impl.AbstractResultProviderQuery.execute(AbstractResultProviderQuery.java:
> 68)
> at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:96)
> at
> org.jooq.impl.AbstractResultProviderQuery.fetch(AbstractResultProviderQuery.java:
> 96)
> at
> org.jooq.impl.AbstractDelegatingResultProviderQuery.fetch(AbstractDelegatingResultProviderQuery.java:
> 100)
> at
> org.jooq.util.mysql.MySQLDatabase.executeProcedureQuery(MySQLDatabase.java:
> 313)
> at
> org.jooq.util.mysql.MySQLDatabase.getFunctions0(MySQLDatabase.java:
> 299)
> at
> org.jooq.util.AbstractDatabase.getFunctions(AbstractDatabase.java:340)
> at
> org.jooq.util.DefaultGenerator.generate(DefaultGenerator.java:1112)
> at org.jooq.util.GenerationTool.main(GenerationTool.java:142)
> at org.jooq.util.GenerationTool.main(GenerationTool.java:101)
> 07.06.2011 15:23:27 org.jooq.impl.JooqLogger info
> INFO: Packages fetched : 0
> 07.06.2011 15:23:27 org.jooq.impl.JooqLogger info
> INFO: GENERATION FINISHED! : Total: 162.92ms, +141.504ms
>
> i'm too dumb to understand my fault \
#Configure the database connection here
jdbc.Driver=com.mysql.jdbc.Driver
jdbc.URL=jdbc:mysql://192.168.4.10/
jdbc.Schema=db_name
jdbc.User=db_user
jdbc.Password=db_password
will you then have access to the INFORMATION_SCHEMA tables?
Also, have you tried using
jdbc.URL=jdbc:mysql://192.168.4.10/[db_name]
I'm not sure, jOOQ will work correctly if no database is specified in
the connection URL
No worries about the English :)
That explains the missing tables.
Unfortunately, jOOQ does not support source code generation for MySQL
4.x. Is there a way you can get around that?
What is your use case for using jOOQ with MySQL 4.x?
Cheers
Lukas
2011/6/7 Maxim Usenko <uma.p...@gmail.com>:
In any case, as far as I remember MySQL 4.0, there wasn't even support
for foreign key relationships, so maybe you'll run into other problems
later on...
2011/6/7 Maxim Usenko <uma.p...@gmail.com>:
That's probably even better!
Good luck
Lukas