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 14:26:49 GMT
I setup a repository for my code and data here
https://sourceforge.net/p/java-autconv/mercurial/ci/default/tree/
(sorry I'm not a Git user)

from the proj/autconv folder you may run the ant tasks
ant compile
ant jar

These were working on my pc at least...

and the results should be placed in a target folder (to be created)

the derby database is in proj/autconv/stuff/derby/docentries

in proj/autconv/stuff
there are sql commands to create the table and to place data into it

I hope there are not too many files missing

To test: run the jar file
java -jar autconv.jar
There should be no error message...
In the upper Text area, type "A Weis1" (without ")
Click on split
And the last line from the message displayed in the bottom text area should be
***Weis, Antoine 123*** (the number is not correct) but that's the message that count.

You may also get a zip file with my code and a jar file.

Cheers

François

-----Original Message-----
From: Davide Grandi <davide.grandi@email.it> 
Sent: 11 September 2020 14:18
To: derby-user@db.apache.org
Subject: Re: database in a jar : conglomerate does not exists

Hello,

maybe the steps you follow are decisive :
- ".jar" files are only .zip files, but zip files have too many internal formats
- maybe the jar generation defaults are changed from what your derby "expects"

if you gives the usual details (JDK, jva -version, commands, ...) one could replicate the
environment and your specific situation.

Bye,

     Davide Grandi

On 11/09/2020 09:33, RAPPAZ Francois wrote:
> 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
>>>>
>>>
>>
--
Ing. Davide Grandi
email    : davide.grandi@email.it
mobile   : +39 339 7468 778
linkedin : http://linkedin.com/in/davidegrandi

Mime
View raw message