AW: Success: Scarab 0.21 with Oracle 10g
"Norbert Hirneisen" <[email protected]> Mon, 8 Sep 2008 16:19:07 +0200
| Newsgroups | gmane.comp.java.scarab.user |
|---|---|
| Message-ID | <029d01c911bd$db007060$ee00a8c0@nserver> |
Hello Joerg, thank´s a lot ! I was trying to fix scarab for Oracle 10g as well but had not yet the time to remove the obstacles. Now I can give it a new try. As our intention is similiar to yours (no sample data, production environment) I´m now eager to test. Best regards, Norbert Mit freundlichen Grüßen Norbert Hirneisen science4you Online-Monitoring http://www.science4you.org <http://www.science4you.org/> email: [email protected] Die Falternacht: www.falternacht.de <http://www.falternacht.de/> Werden Sie Falterzähler: www.falterfunde.de <http://www.falterfunde.de/> Wanderfalter: www.science4you.org/platform/monitoring/index.do Tagfalter-Monitoring Deutschland: www.science4you.org/platform/tmd/tmd-top/index.do <http://www.orchideenfunde.de/> Infos über geschützte Arten ? http://www.wisia.de <http://www.wisia.de/> Norbert Hirneisen Science & Communications von-Müllenark-Str. 19 53179 Bonn Tel. 0228/6194930 -----Ursprüngliche Nachricht----- Von: [email protected] [mailto:[email protected]] Gesendet: Montag, 8. September 2008 16:02 An: [email protected] Betreff: Success: Scarab 0.21 with Oracle 10g Hello, there are several thread dealing with Scarab 0.21 and Oracle 10g but I haven't found a complete list of steps to do joining Scarab with Oracle, so I had some days of work to bring them together. Some of these points are documented in the Scarab doc or can be found on the mailing list. I would like to provide you these steps, so you may save some time. There may be fixes in the trunk version, but I was'nt able to download the trunk with svn because of some security restrictions of our company. Also I want to use Scarab for a kind of "production", so it may be better to use a stable version. I have used Ant to build Scarab and Eclipse for managing the files and executing Ant. --------------------------------------------------- 1. build.properties for Oracle scarab.database.type=oracle scarab.database.host=<hostname> scarab.database.port=1521 scarab.database.url=jdbc:oracle:thin:@<hostname>:1521:<dbname> scarab.database.admin.url=jdbc:oracle:thin:@<hostname>:1521:<dbname> scarab.database.username=scarab scarab.database.password=xxxxxxx scarab.database.admin.username=scarab scarab.database.admin.password=xxxxxxx --------------------------------------------------- 2. Copy the Oracle JDBC-driver into the path $SCARAB_ROOT/lib. Your DB administrator probably can provide you the JDBC-driver. --------------------------------------------------- 3. One table name is defined with 34 characters. Oracle doesn't support this so you have to fix the table name in two files: $SCARAB_ROOT/src/schema/scarab-schema.xml: old: <table name="SCARAB_DEFAULT_NOTIFICATION_FILTER" idMethod="none" javaName="NotificationDefaultFilter" > new: <table name="SCARAB_DEF_NOTIFICATION_FILTER" idMethod="none" javaName="NotificationDefaultFilter" > $SCARAB_ROOT/src/sql/oracle/prepare-oracle-dummy-tables.sql: old: create table SCARAB_DEFAULT_NOTIFICATION_FILTER (A char(1)); new: create table SCARAB_DEF_NOTIFICATION_FILTER (A char(1)); --------------------------------------------------- 4. There is a BLOB compatibility issue with Oracle, so you have to replace one column type $SCARAB_ROOT/src/schema/turbine-schema.xml line 75 (table TURBINE_USER): old: <column name="OBJECTDATA" type="VARBINARY"/> new: <column name="OBJECTDATA" size="4000" type="VARCHAR"/> --------------------------------------------------- 5. Make target create-db-schema working with oracle. You cannot fix the db-type-check target, because Ant will then try to create Oracle's tables twice, leading into a failure. This is just a workaround, not a "good" fix for the Ant script: Remove the if-condition in the create-db-schema target. $SCARAB_ROOT/src/conf/conf/build.xml: old: <target name="create-db-schema" depends="scarab-welcome,db-type-check, sql-current-db" if="auto.create.db"> new: <target name="create-db-schema" depends="scarab-welcome,db-type-check, sql-current-db"> --------------------------------------------------- 5. Our Oracle instances are configured not to use ISO timestamps but a local format, so I have to fix the init sql script to use ISO format. $SCARAB_ROOT/src/sql/oracle/standard-oracle-init.sql (add line): alter session set nls_timestamp_format = 'YYYY-MM-DD HH24:MI:SS'; If you want to fill the scarab db with the JIRA templates, do the following fix (this target doesn't execute the above init script): $SCARAB_ROOT_PATH/src/conf/conf/build.xml (add init.sql to the jira-target): <!-- ================================================================== --> <!-- Load jira templates data --> <!-- ================================================================== --> <target name="load-jira-templates-data" unless="skip.jira.templates.data"> <sql driver="${scarab.database.jdbc.driver}" url="${scarab.database.url}" userid="${scarab.database.admin.username}" password="${scarab.database.admin.password}"> <classpath refid="classpath"/> <transaction src="${database.instance.sql.dir}/${scarab.database.type}/standard-${scarab.data base.type}-init.sql"/> <transaction src="${database.instance.sql.dir}/${project}-jira-templates-data.sql"/> </sql> </target> --------------------------------------------------- 6. Finallye we don't want to use the sample data and the jira templates, so we have set these properties (in Eclipse's Ant configuration, setting them in the build.properties was not successful): skip.seed.data=true skip.jira.templates.data=true In addition, I made a sql script to drop the whole scarab database in Oracle (see attached drop_tables.sql), so I had an easy way to clean up while experimenting with the Oracle integration. regards, Jörg Florin Techniker Krankenkasse Hauptverwaltung IT-Systeme (ITS.4 - Systemframeworks) Bramfelder Straße 140, D-22305 Hamburg Tel: +49 (40) 69 09 - 25 75 Fax: +49 (40) 69 09 - 8 25 75 E-Mail: [email protected] TK-Website: www.tk-online.de