Error running off DVD

Help
Anonymous
2013-01-30
2014-01-19
  • Anonymous - 2013-01-30

    I am trying to run this db off a DVD, so obviously read only.  This database is roughly 1.4GB in size, but I notice the .LOB and .LOG files will grow extensively when running queries from the database manager.  When I run my site and query the database in readonly mode, I can access most of my queries just fine.  A specific query is looking at 1500+ records, and using numerous string comparisons (e.g. UPPER(TITLE) LIKE '%TEST%').  When I run this query I get the following error:

    java.io.IOException: Access is denied

    I have tried several iterations of readonly parameters.  My URL connection string is as follows:

    jdbc:hsqldb:file:..\db\db;get_column_name=false;mode=oracle;sql.syntax_ora=true;sql.enforce_strict_size=true;sql.enforce_types=true;sql.convert_trunc=false;sql.avg_scale=2;

    I have also tried these options:

    shutdown=true;
    check_props=true;
    result_max_memory_rows=1000000000;
    applog=0;
    sqllog=0;
    cache_free_count=8096;
    cache_rows=4000000000;
    cache_size=40000000000;
    cache_file_scale=0;
    lock_file=false

    Additionally, my db.properties file looks like this:

    #HSQL Database Engine 2.2.9
    #Wed Dec 19 15:55:50 EST 2012
    version=2.2.9
    modified=yes
    readonly=true
    files_readonly=true

    Any thoughts/suggestions/help would be MUCH appreciated.

     
  • Fred Toussi

    Fred Toussi - 2013-01-30

    Your URL properties are applied when you create the database. Afterwards, they don't have an effect.

    The list of options you say you tried mostly look unnecessary or unreal (apart from shutdown and check_props).

    Before making your database readonly, you must shutdown your database, so that the properties file shows modified=no. After making the database readonly by adding readonly=true to the .properties file, you cannot create new CLOBs or BLOBs.

    If you use some functions on CLOBs, a new CLOB needs to be created on disk, which is not possible with a readonly database.

    It seems this particular query is doing something like UPPER(a_CLOB_column), which could cause the exception.

    In such cases, you can use something like UPPER ( CAST (a_CLOB_column AS VARCHAR(10000000) ) to avoid creating a new temporary CLOB.

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks