Grails quick-start example is a neat way to start off with Grails.

It will show you how to connect to HSQLDB and gets a quick and elementary web app up and running in no time.

But soon, I wanted to get on with the “real” stuff- Oracle

These are the changes I did to connect with Oracle (and errors I encountered on the way).

But first the Version disclaimer

Groovy:1.6.2

Grails: 1.1

Oracle::9.2.0.6.0
A) Changed the DataSource.groovy as follows

dataSource {
pooled = true
driverClassName = “oracle.jdbc.driver.OracleDriver”
username = “user”
password = “password”
dialect=’org.hibernate.dialect.Oracle9Dialect’

}

environments {
development {
dataSource {
dbCreate = “create-drop” // one of ‘create’, ‘create-drop’,'update’
url = “jdbc:oracle:thin:@myservername:1521:mysid”
}
}
// Left test and Production as they were….

}
B) Dropped the oracle driver jar file in the lib folder under the grails- app folder

Bingo !!! That’s it !!!

I got only one error-  (see at the end of this post) And this maybe specific to Oracle 9i.

The fix was to add this line to the  data source.groovy

dialect=’org.hibernate.dialect.Oracle9Dialect’

(If you are using a higher version of Oracle- you may need to use a different Dialect)

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘dialectDetector’: Invocation of init method failed; nested exception is org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; nested exception is java.sql.SQLException: Unsupported feature
at java.security.AccessController.doPrivileged(Native Method)
… 24 more
Caused by: org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; nested exception is java.sql.SQLException: Unsupported feature
… 25 more
Caused by: java.sql.SQLException: Unsupported feature
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
at oracle.jdbc.dbaccess.DBError.throwUnsupportedFeatureSqlException(DBError.java:689)
at oracle.jdbc.OracleDatabaseMetaData.getDatabaseMajorVersion(OracleDatabaseMetaData.java:4442)
… 25 more
2009-04-27 10:57:39,450 [main] ERROR mortbay.log  – Failed startup of context

 

Today I installed Grails on my work laptop.

And then set to try the quick-start example.

I soon ran into a problem when I tried to create my application using the command

grails create-app MyApp

I got the following error

The syntax of the command is incorrect

I spent some time trying to debug the grails.bat file – but soon fell back on time-tested strategy. If someone has solved it- Google will know about it !!!

And it turns out -I had not installed Groovy !!!

Hmmm – I would have thought either Grails should have had groovy bundled with it or at least politely warned me that I do not have Groovy installed.

And whatever happened to the good old message NoClasssDefFoundError ???

Anyways- once I got Groovy - things went pretty smoothly

And I had my simple app- up and ready in no time.

I also did the following…
Setup up my GROOVY_HOME and GRAILS_HOME
Setup the path to include %GROOVY_HOME%\bin and %GRAILS_HOME%\bin

I know – I would have discovered this beforehand- had I taken the time to read the readme.txt – but I think Grails team could have done a better job by prompting with a better message

 

Last night I downloaded and got my first sample program running on grails.

I had been reading about grails for a while- so decided to check on the hype myself

And I was…fairly surprised- pleasantly to see what it had to offer

The time between downloading grails and having it up and running with a small program, not a hello word program – but an actual program which would list and add objects,  was somewhere between 10-15 minutes.

Doing the same thing in Java from scratch would have taken me- well ages.

I know Grails has a strong integration with Spring- so I guess it should be able to deliver lots if not all the advantages that Spring has to offer.

Grails is built on top of Groovy- which is in turn built on top of Java.

I for one do not want to retire Java – just because it has outlived its life and its time for more snappy languages to move in. The romance of somewhat new syntax while still have the familiarity of Java  doesn’t excite me too much

The luxury of not adding semi-colons at the end of line-may excite some people- but it doesn’t tickle me to death that I wont have to worry about any more. Years ago when i would struggled with compilation errors- yes at that time- it would have been a help- but personally its too late for me to benefit from this

The one thing that bothers me is the speed- since Groovy is  built on top of Java- it will be  factor slower than Java. That factor can be reduced but not eliminated.

What remains to see if does the advantages of Groovy outweigh this factor?

© 2011 Technology Cafe Suffusion theme by Sayontan Sinha