db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From RAPPAZ Francois <francois.rap...@unifr.ch>
Subject RE: database in a jar : conglomerate does not exists
Date Fri, 11 Sep 2020 07:33:53 GMT
If I start from a new database (named docentries), I packed it in a jar, I can connect with
ij and run a select command.

If I run the code from my java classe, I get the error

----- SQLException -----
  SQL State:  XJ040
  Error Code: 40000
  Message:    Failed to start database 'classpath:docentries', see the next exception for
details.

----- SQLException -----
  SQL State:  XCL20
  Error Code: 20000
  Message:    Catalogs at version level 'null' cannot be upgraded to version level '10.4'.

I connect with db = new DBConnector("jdbc:derby:classpath:docentries");

François

-----Original Message-----
From: Rick Hillegas <rick.hillegas@gmail.com> 
Sent: 11 September 2020 00:49
To: Derby Discussion <derby-user@db.apache.org>; RAPPAZ Francois <francois.rappaz@unifr.ch>
Subject: Re: database in a jar : conglomerate does not exists

Also, look inside the jar file for a directory called docentries/seg0. 
Does it contain a file called c560.dat?

On 9/10/20 8:53 AM, Rick Hillegas wrote:
> Sorry. Make that query:
>
> SELECT s.schemaName, t.tableName, c.conglomerateName
>
> FROM sys.sysConglomerates c, sys.sysSchemas s, sys.sysTables t
>
> WHERE c.conglomerateNumber = 1376
>
> AND c.tableID = t.tableID
>
> AND t.schemaID = s.schemaID
>
> ;
>
>
> On 9/10/20 8:22 AM, Rick Hillegas wrote:
>> Hi François,
>>
>> Do you have any information or theories about how your database 
>> became corrupted? I have never encountered this situation before. A 
>> database in a jar file should be read-only, so the only theory I have 
>> is that the jar file itself was corrupted by some process outside Derby.
>>
>> Please run the following query in order to find out what table/index 
>> is corrupted:
>>
>> SELECT s.schemaName, t.tableName, c.conglomerateName
>>
>> FROM sys.sysConglomerates c, sys.sysSchemas s, sys.sysTables t
>>
>> WHERE c.conglomerateNumber = 376
>>
>> AND c.tableID = t.tableID
>>
>> AND t.schemaID = s.schemaID
>>
>> ;
>>
>>
>> Thanks,
>> -Rick
>>
>> On 9/10/20 3:09 AM, RAPPAZ Francois wrote:
>>> Hi
>>> I have a one table database embedded in a jar file. I tried to 
>>> access it from ij with java -jar %DERBY_HOME%/lib/derbyrun.jar ij -p 
>>> ij.properties
>>>
>>> ij.properties is
>>> derby.ui.codeset=utf8
>>> ij.connection.doc=jdbc:derby:jar:(U:/docs/OA/articles/zlib/autconv/a
>>> utconv.jar)docentries
>>>
>>>
>>> I can see that my table (authors) is in the the database with SHOW 
>>> TABLES; I can see the columns
>>> ij> DESCRIBE authors;
>>> COLUMN_NAME 
>>> |TYPE_NAME|DEC&|NUM&|COLUM&|COLUMN_DEF|CHAR_OCTE&|IS_NULL&
>>> --------------------------------------------------------------------
>>> ----------
>>>
>>> NAME1               |VARCHAR  |NULL|NULL|20    |NULL |40       
|NO
>>> NAME2               |VARCHAR  |NULL|NULL|20    |NULL |40       
|NO 
>>> DATA                |VARCHAR  |NULL|NULL|50    |NULL |100      
|YES 
>>> AUTHOR_ID           |INTEGER  |0   |10  |10 |AUTOINCRE&|NULL     

>>> |NO
>>>
>>> 4 rows selected
>>> But I can't run a select statement:
>>> ij> select * from authors;
>>> ERROR XSAI2: Le conglomerat (1,376) demande n'existe pas.
>>> ij> exit;
>>>
>>> I have derby 10.8.2.2
>>> Thanks for any help.
>>>
>>> François
>>>
>>
>>
>
>


Mime
View raw message