5 Replies Latest reply on Sep 19, 2003 5:49 AM by christo

    HOW-TO delete a table from Hypersonic?

    loth

      Dear Forum,
      The workbook is very instructive, thanks to Bill & Sacha for writing!
      The ex_41a and b work as described in the book, that mentions an entry "clean.db" to clean up de table from the database. Unfortunatly this option does not work (yet?) and i would not know how to adapt the build.xml-file. Could anyone please teach me the XML statements to get rid of the table that was "automatically" generated by example 4_1?

      Thank you.

        • 1. Re: HOW-TO delete a table from Hypersonic?
          loth

          First step found in JBOSS-3.0.6 + jdk1.4.1:
          In JBOSS_HOME/server/default/db/hypersonic live 3 files: default.data, default.properties and default.script after the first up-start of JBOSS and before executing any project.
          i- copy these 3 files to a directory say hypersonic_backup
          ii- execute a project for instance examples 4-1 a and b in the workbook. A second try to execute delivers the errors as mentioned in the book.
          iii- bring JBOSS down
          iv- empty the directory JBOSS_HOME/server/default/db/hypersonic
          v- copy the original 3 files from hypersonic_backup to JBOSS_HOME/server/default/db/hypersonic
          vi- start jboss again
          vii- execute again examples 4-1 a and b, without any problem.

          HOW-TO put all this in an entry "clean.db" in the (a) build.xml?

          Good-bye!

          • 2. Re: HOW-TO delete a table from Hypersonic?
            bsckwan

            If you want the table to be deleted automatically when the EJB is undeploy, you can edit the following file:

            <install_dir>\server\default\conf\standardjbosscmp-jdbc

            and set <remove-table>true</remove-table>

            • 3. Re: HOW-TO delete a table from Hypersonic?
              minamoto

              You can use HSQLDB database manager.

              1. Create a startup script and put it in $JBOSS_HOME/bin.

              run_dbman.sh:
              java -classpath ../server/default/lib/hsqldb.jar org.hsqldb.util.DatabaseManager

              2. Run the script. Then you will see a dialog titled 'connect'.

              3. Select "HSQL Database Engine Server" as Type and http://localhost:1476 as URL Note the port number is 1701 for JBoss 3.2.

              4. Finally the HSQLDB database manager shows a table list and you can drop any table in the window.

              Regards,
              Miki

              • 4. Re: HOW-TO delete a table from Hypersonic?
                eranhovav

                Hi
                the answer is very simple.
                in the build.xml (downloaded file) you can see in bottom:
                <!-- =================================================================== -->
                <!-- Cleans up generated stuff -->
                <!-- =================================================================== -->




                you have to change it to:
                <!-- =================================================================== -->
                <!-- Cleans up generated stuff -->
                <!-- =================================================================== -->

                <delete dir="${jboss.home}/server/default/db/hypersonic"/>

                if you didn't change this directory name.
                good luck.
                eran

                • 5. Re: HOW-TO delete a table from Hypersonic?
                  christo

                  Did you make sure that JBoss was not running at the time you tried to do clean.db? Doing:

                  ant clean clean.db

                  Should work fine as long as you have matching versions of the workbook and JBoss (e.g. 3.2.x) and if, as you see in the section called "Deconstructing build.xml" on page "15" (as marked on the document). There is a little bomb icon (a gotcha?) which says "clean.db can only be used when JBoss is not running".

                  After doing a proper clean you should be able to run the client again.