DerbyUI plugin.xml error
I am attempting to configure Derby with Eclipse. I have downloaded the DerbyUI svn source and after importing the source into Eclipse per the instructions I have an error in the plugin.xml file indicating org.apache.derby.core cannot be resolved. Has anyone else encountered this and know what needs to be done to resolve the error? Eclipse IDE for Java EE Developers 4.2 JDK 7 Derby 10.9.1.0 Thanks, -David
Re: Updating Autoincrement values
Okay, I finally found this: http://db.apache.org/derby/docs/10.6/ref/rrefsqlj81859.html ALTER TABLE tauto ALTER COLUMN i RESTART WITH 6 -- Matt Hauck From: Matthew Hauck/San Francisco/IBM@IBMUS To: derby-user@db.apache.org, Date: 07/17/2012 05:23 PM Subject:Updating Autoincrement values I have an old database that I need to import into apache derby. This seemed to be a pretty easy thing to do, except when I realized that my autogenerated ID column is stuck thinking the next autoincrement value is 1. i.e. since my import statements from the old database included IDs (which are important for foreign key associations), I do not allow (and cannot allow) derby to autogenerate them. So, I need to find some way to tell derby to update the next autogenerate value to the one more than the maximum of the ID in each of my tables. So, I looked up tableid from sys.systables, and matched it with referenceid from sys.syscolumns, and was going to change autoincrementvalue to be this number, then got the following error: java.sql.SQLSyntaxErrorException: 'SYS.SYSCOLUMNS' is a system table. Users are not allowed to modify the contents of this table. Boo. Is there another way to do this? This seems like a pretty common thing to do, but can't seem to find the standard way to do it... -- Matt Hauck<>
Updating Autoincrement values
I have an old database that I need to import into apache derby. This seemed to be a pretty easy thing to do, except when I realized that my autogenerated ID column is stuck thinking the next autoincrement value is 1. i.e. since my import statements from the old database included IDs (which are important for foreign key associations), I do not allow (and cannot allow) derby to autogenerate them. So, I need to find some way to tell derby to update the next autogenerate value to the one more than the maximum of the ID in each of my tables. So, I looked up tableid from sys.systables, and matched it with referenceid from sys.syscolumns, and was going to change autoincrementvalue to be this number, then got the following error: java.sql.SQLSyntaxErrorException: 'SYS.SYSCOLUMNS' is a system table. Users are not allowed to modify the contents of this table. Boo. Is there another way to do this? This seems like a pretty common thing to do, but can't seem to find the standard way to do it... -- Matt Hauck
Re: AW: schema-questions
On Tue, 2012-07-17 at 18:13 +0200, malte.kem...@de.equens.com wrote: > I start tomcat (version 6) with ist startup batch file only > OK. What displays when you type echo %JAVA_OPTS% at the command prompt? To verify whether it's being passed through to Tomcat try saving the following to webapps/ROOT/test.jsp then pointing your browser to http://localhost:8080/test.jsp . test.jsp: - derby.system.home=<%= System.getProperty("derby.system.home") %> JAVA_OPTS=<%= System.getenv("JAVA_OPTS") %> I have verified on my system that derby.properties is recognized when setting derby.system.home via JAVA_OPTS. (Derby 10.8.1.2) > -Ursprüngliche Nachricht- > Von: Tim Watts [mailto:t...@cliftonfarm.org] > Gesendet: Dienstag, 17. Juli 2012 18:08 > An: Derby Discussion > Betreff: Re: schema-questions > > On Tue, 2012-07-17 at 16:44 +0200, malte.kem...@de.equens.com wrote: > > Another thing I am wondreing is, that it seems not to matter using a > > user or not using following derby.properties, though: > > derby.stream.error.logSeverityLevel=0 > > derby.database.fullAccessUsers=tech > > derby.database.defaultConnectionMode=readOnlyAccess > > derby.connection.requireAuthentication=true > > derby.user.tech=lala_dongs > > derby.user.rou=gaga_bings > > > > derby.authentication.provider=builtin > > > > > > derby seems not to use my derby.proerties. I have put them to the > > directory, which is given in the derby.system.home > > Java-system-property. > > It is told to put this system-property into the environment variable > > JAVA_OPTS, so tomcat would use it for starting up. > > I am using Windows-XP so I defined ths environment-variable in the > > dialog as user defined variable. > > What am I missing, since derby.properties seem not to work may be not > > even been read. > > > Are you running Tomcat as a service? If so then see this: > > http://tomcat.apache.org/tomcat-7.0-doc/windows-service-howto.html > > (adjust according to the tomcat version you're using). > > > Thanks for hints in advance > > > > Malte > > > signature.asc Description: This is a digitally signed message part
Re: AW: schema-questions
On 7/17/12 9:15 AM, malte.kem...@de.equens.com wrote: Hi Rick, Thanks a lot for you fast answer. Right now I am just trying to practice some web-application programming, so it does not matter much to me using BUILTIN, even though it has no productive quality. But thanks for the hint with NATIVE. Using the configuration right now lets use Tomcat the right db-directory, so I am afraid, that it not quite clear a tomcat issue. Did I understand the documentation of derby correctly that java-system-property 'derby.system.home' points to the directory derby.properties would be used from? Hi Malte, Yes, that is correct. If I got that right than something must have happened to that property, even though derby uses the correct directory for ist db-instances. Is there a way to show up the properties the derby-engine is using or getting? There is no easy way to get this information right now. I think that it is reasonable that the DBO would want to view this information and I have logged https://issues.apache.org/jira/browse/DERBY-5861 to track this enhancement. In the meantime, I have attached a table function to that issue along with instructions on how to use it. You should be able to use that table function to print out the derby properties that are visible from a database. The table function will not print out the BUILTIN credentials but it will print out the values of properties like derby.authentication.provider. Hope this helps, -Rick -Ursprüngliche Nachricht- Von: Rick Hillegas [mailto:rick.hille...@oracle.com] Gesendet: Dienstag, 17. Juli 2012 17:11 An: derby-user@db.apache.org Betreff: Re: schema-questions Hi Malta, One general issue: I see that you are trying to use BUILTIN authentication. Note that BUILTIN authentication is not production-quality. It is appropriate only for testing/development purposes. In 10.9.1 we introduced NATIVE authentication, a production-quality replacement for BUILTIN. You are encouraged to upgrade to 10.9.1 and to use NATIVE authentication instead. Hopefully, you will find that NATIVE authentication is easier to administer than BUILTIN was. Some more comments inline... On 7/17/12 7:44 AM, malte.kem...@de.equens.com wrote: hi to all, I am using derby (10.8) with tomcat and used following side helping me seitting them up: http://www.zetcode.com/db/apachederbytutorial/tomcat/ Trying to build up a simple web-application where you could register as user etc. I have following schema *CREATE SCHEMA USER_STUFF; CREATE TABLE USERS( name VARCHAR(100) PRIMARY KEY , hatchi VARCHAR(40) , email VARCHAR(100) , imagename VARCHAR(100) , tstmp_in TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , tstmp_up TIMESTAMP );* now I am wondering that when I connect myself as a user the name of the schema's name is equal to the user's name. If I don't use any user my schema's name seems to be the default schema name "APP". I thought using the first line of my sql script produces a schema named USER_STUFF. What is happening here, what am I doing wrong? Yes, the first command creates a schema called USER_STUFF owned by the APP user. However, that command does not change your session to use the new USER_STUFF schema. To change your default schema, you need to use this command: set schema USER_STUFF; Another thing I am wondreing is, that it seems not to matter using a user or not using following derby.properties, though: *derby.stream.error.logSeverityLevel=0 derby.database.fullAccessUsers=tech derby.database.defaultConnectionMode=readOnlyAccess derby.connection.requireAuthentication=true derby.user.tech=lala_dongs derby.user.rou=gaga_bings* ** *derby.authentication.provider=builtin* derby seems not to use my derby.proerties. I have put them to the directory, which is given in the derby.system.home Java-system-property. It is told to put this system-property into the environment variable JAVA_OPTS, so tomcat would use it for starting up. I am using Windows-XP so I defined ths environment-variable in the dialog as user defined variable. What am I missing, since derby.properties seem not to work may be not even been read. I'm afraid I don't have any theories here. Maybe someone who uses Tomcat on Windows can give some advice. Hope this helps, -Rick Thanks for hints in advance Malte
AW: schema-questions
Hi Rick, Thanks a lot for you fast answer. Right now I am just trying to practice some web-application programming, so it does not matter much to me using BUILTIN, even though it has no productive quality. But thanks for the hint with NATIVE. Using the configuration right now lets use Tomcat the right db-directory, so I am afraid, that it not quite clear a tomcat issue. Did I understand the documentation of derby correctly that java-system-property 'derby.system.home' points to the directory derby.properties would be used from? If I got that right than something must have happened to that property, even though derby uses the correct directory for ist db-instances. Is there a way to show up the properties the derby-engine is using or getting? -Ursprüngliche Nachricht- Von: Rick Hillegas [mailto:rick.hille...@oracle.com] Gesendet: Dienstag, 17. Juli 2012 17:11 An: derby-user@db.apache.org Betreff: Re: schema-questions Hi Malta, One general issue: I see that you are trying to use BUILTIN authentication. Note that BUILTIN authentication is not production-quality. It is appropriate only for testing/development purposes. In 10.9.1 we introduced NATIVE authentication, a production-quality replacement for BUILTIN. You are encouraged to upgrade to 10.9.1 and to use NATIVE authentication instead. Hopefully, you will find that NATIVE authentication is easier to administer than BUILTIN was. Some more comments inline... On 7/17/12 7:44 AM, malte.kem...@de.equens.com wrote: > hi to all, > I am using derby (10.8) with tomcat and used following side helping > me seitting them up: > http://www.zetcode.com/db/apachederbytutorial/tomcat/ > Trying to build up a simple web-application where you could register > as user etc. I have following schema *CREATE SCHEMA USER_STUFF; > CREATE TABLE USERS( name VARCHAR(100) PRIMARY KEY >, hatchi VARCHAR(40) >, email VARCHAR(100) >, imagename VARCHAR(100) >, tstmp_in TIMESTAMP NOT NULL DEFAULT > CURRENT_TIMESTAMP >, tstmp_up TIMESTAMP > );* > now I am wondering that when I connect myself as a user the name of > the schema's name is equal to the user's name. > If I don't use any user my schema's name seems to be the default > schema name "APP". > I thought using the first line of my sql script produces a schema > named USER_STUFF. > What is happening here, what am I doing wrong? Yes, the first command creates a schema called USER_STUFF owned by the APP user. However, that command does not change your session to use the new USER_STUFF schema. To change your default schema, you need to use this command: set schema USER_STUFF; > Another thing I am wondreing is, that it seems not to matter using a > user or not using following derby.properties, though: > *derby.stream.error.logSeverityLevel=0 > derby.database.fullAccessUsers=tech > derby.database.defaultConnectionMode=readOnlyAccess > derby.connection.requireAuthentication=true > derby.user.tech=lala_dongs > derby.user.rou=gaga_bings* > ** > *derby.authentication.provider=builtin* > derby seems not to use my derby.proerties. I have put them to the > directory, which is given in the derby.system.home Java-system-property. > It is told to put this system-property into the environment variable > JAVA_OPTS, so tomcat would use it for starting up. > I am using Windows-XP so I defined ths environment-variable in the > dialog as user defined variable. > What am I missing, since derby.properties seem not to work may be not > even been read. I'm afraid I don't have any theories here. Maybe someone who uses Tomcat on Windows can give some advice. Hope this helps, -Rick > Thanks for hints in advance > Malte >
AW: schema-questions
I start tomcat (version 6) with ist startup batch file only -Ursprüngliche Nachricht- Von: Tim Watts [mailto:t...@cliftonfarm.org] Gesendet: Dienstag, 17. Juli 2012 18:08 An: Derby Discussion Betreff: Re: schema-questions On Tue, 2012-07-17 at 16:44 +0200, malte.kem...@de.equens.com wrote: > Another thing I am wondreing is, that it seems not to matter using a > user or not using following derby.properties, though: > derby.stream.error.logSeverityLevel=0 > derby.database.fullAccessUsers=tech > derby.database.defaultConnectionMode=readOnlyAccess > derby.connection.requireAuthentication=true > derby.user.tech=lala_dongs > derby.user.rou=gaga_bings > > derby.authentication.provider=builtin > > > derby seems not to use my derby.proerties. I have put them to the > directory, which is given in the derby.system.home > Java-system-property. > It is told to put this system-property into the environment variable > JAVA_OPTS, so tomcat would use it for starting up. > I am using Windows-XP so I defined ths environment-variable in the > dialog as user defined variable. > What am I missing, since derby.properties seem not to work may be not > even been read. > Are you running Tomcat as a service? If so then see this: http://tomcat.apache.org/tomcat-7.0-doc/windows-service-howto.html (adjust according to the tomcat version you're using). > Thanks for hints in advance > > Malte >
Re: schema-questions
On Tue, 2012-07-17 at 16:44 +0200, malte.kem...@de.equens.com wrote: > Another thing I am wondreing is, that it seems not to matter using a > user or not using following derby.properties, though: > derby.stream.error.logSeverityLevel=0 > derby.database.fullAccessUsers=tech > derby.database.defaultConnectionMode=readOnlyAccess > derby.connection.requireAuthentication=true > derby.user.tech=lala_dongs > derby.user.rou=gaga_bings > > derby.authentication.provider=builtin > > > derby seems not to use my derby.proerties. I have put them to the > directory, which is given in the derby.system.home > Java-system-property. > It is told to put this system-property into the environment variable > JAVA_OPTS, so tomcat would use it for starting up. > I am using Windows-XP so I defined ths environment-variable in the > dialog as user defined variable. > What am I missing, since derby.properties seem not to work may be not > even been read. > Are you running Tomcat as a service? If so then see this: http://tomcat.apache.org/tomcat-7.0-doc/windows-service-howto.html (adjust according to the tomcat version you're using). > Thanks for hints in advance > > Malte > signature.asc Description: This is a digitally signed message part
Re: schema-questions
Hi Malta, One general issue: I see that you are trying to use BUILTIN authentication. Note that BUILTIN authentication is not production-quality. It is appropriate only for testing/development purposes. In 10.9.1 we introduced NATIVE authentication, a production-quality replacement for BUILTIN. You are encouraged to upgrade to 10.9.1 and to use NATIVE authentication instead. Hopefully, you will find that NATIVE authentication is easier to administer than BUILTIN was. Some more comments inline... On 7/17/12 7:44 AM, malte.kem...@de.equens.com wrote: hi to all, I am using derby (10.8) with tomcat and used following side helping me seitting them up: http://www.zetcode.com/db/apachederbytutorial/tomcat/ Trying to build up a simple web-application where you could register as user etc. I have following schema *CREATE SCHEMA USER_STUFF; CREATE TABLE USERS( name VARCHAR(100) PRIMARY KEY , hatchi VARCHAR(40) , email VARCHAR(100) , imagename VARCHAR(100) , tstmp_in TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , tstmp_up TIMESTAMP );* now I am wondering that when I connect myself as a user the name of the schema's name is equal to the user's name. If I don't use any user my schema's name seems to be the default schema name "APP". I thought using the first line of my sql script produces a schema named USER_STUFF. What is happening here, what am I doing wrong? Yes, the first command creates a schema called USER_STUFF owned by the APP user. However, that command does not change your session to use the new USER_STUFF schema. To change your default schema, you need to use this command: set schema USER_STUFF; Another thing I am wondreing is, that it seems not to matter using a user or not using following derby.properties, though: *derby.stream.error.logSeverityLevel=0 derby.database.fullAccessUsers=tech derby.database.defaultConnectionMode=readOnlyAccess derby.connection.requireAuthentication=true derby.user.tech=lala_dongs derby.user.rou=gaga_bings* ** *derby.authentication.provider=builtin* derby seems not to use my derby.proerties. I have put them to the directory, which is given in the derby.system.home Java-system-property. It is told to put this system-property into the environment variable JAVA_OPTS, so tomcat would use it for starting up. I am using Windows-XP so I defined ths environment-variable in the dialog as user defined variable. What am I missing, since derby.properties seem not to work may be not even been read. I'm afraid I don't have any theories here. Maybe someone who uses Tomcat on Windows can give some advice. Hope this helps, -Rick Thanks for hints in advance Malte
schema-questions
hi to all, I am using derby (10.8) with tomcat and used following side helping me seitting them up: http://www.zetcode.com/db/apachederbytutorial/tomcat/ Trying to build up a simple web-application where you could register as user etc. I have following schema CREATE SCHEMA USER_STUFF; CREATE TABLE USERS( name VARCHAR(100) PRIMARY KEY , hatchi VARCHAR(40) , email VARCHAR(100) , imagename VARCHAR(100) , tstmp_in TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , tstmp_up TIMESTAMP ); now I am wondering that when I connect myself as a user the name of the schema's name is equal to the user's name. If I don't use any user my schema's name seems to be the default schema name "APP". I thought using the first line of my sql script produces a schema named USER_STUFF. What is happening here, what am I doing wrong? Another thing I am wondreing is, that it seems not to matter using a user or not using following derby.properties, though: derby.stream.error.logSeverityLevel=0 derby.database.fullAccessUsers=tech derby.database.defaultConnectionMode=readOnlyAccess derby.connection.requireAuthentication=true derby.user.tech=lala_dongs derby.user.rou=gaga_bings derby.authentication.provider=builtin derby seems not to use my derby.proerties. I have put them to the directory, which is given in the derby.system.home Java-system-property. It is told to put this system-property into the environment variable JAVA_OPTS, so tomcat would use it for starting up. I am using Windows-XP so I defined ths environment-variable in the dialog as user defined variable. What am I missing, since derby.properties seem not to work may be not even been read. Thanks for hints in advance Malte
Re: derby.jar Classpath
On Tue, 2012-07-17 at 05:56 -0700, Rick Hillegas wrote: > On 7/17/12 3:23 AM, Peter Davis wrote: > > Hi > > > > I've been using derby db for a while now and have until now been > > willing to work around a problem with classpath. It appears that I > > have to explicitly place derby.jar on the class path using one of the > > standard mechanisms. e.g. -cp or in the manifest of the running jar. > > Unfortunately my application uses its own class loader and therefore > > none of the above is true. > > > > I'm guessing that derby.jar uses the property "java.class.path" to > > find the path to its other components. > Hi Peter, > > Note that the engine jar file (derby.jar) only depends on the jar files > which contain the message localizations. Derby still runs even if it > can't find the localizations--error messages will just come out in > English rather than the preferred language of your platform. The engine > jar file does not depend on any of the other executable jars > (derbyclient.jar, derbynet.jar, derbytools.jar). Here is the Class-Path > attribute from derby.jar: > > Class-Path: derbyLocale_cs.jar derbyLocale_de_DE.jar derbyLocale_es.ja > r derbyLocale_fr.jar derbyLocale_hu.jar derbyLocale_it.jar derbyLocal > e_ja_JP.jar derbyLocale_ko_KR.jar derbyLocale_pl.jar derbyLocale_pt_B > R.jar derbyLocale_ru.jar derbyLocale_zh_CN.jar derbyLocale_zh_TW.jar > > The Derby network JDBC driver (derbyclient.jar) and the Derby tools > (derbytools.jar) also depend on the localization jar files. They have > the same Class-Path attribute as derby.jar. > > The only jar files which pull in more executable code are the Derby > network server (derbynet.jar) and the convenience jar file which was > designed to simplify classpath administration (derbyrun.jar). The > network server depends on the engine jar file. Here is it's Class-Path > attribute... > > Class-Path: derby.jar > > ...and here is the Class-Path attribute of derbyrun.jar: > > Class-Path: derby.jar derbyclient.jar derbytools.jar derbynet.jar > > > > > So my question is, Is there a way to load derby.jar without explicitly > > declaring it on the classpath. > People who actually deploy applications can offer better advice than I > can. My only suggestions would be: > > 1) Wire the location of derby.jar into the Class-Path attribute in the > manifest file of your application's jar file. > > 2) Hardwire knowledge of derby.jar into your custom class loader. > Or modify your class loader to scan jars for the Class-Path attribute and include those items in its search path -- bearing in mind that the items are relative to the location of the jar in question. It should probably do this anyway since it's not uncommon for jars to use this standard approach of expressing dependencies. See the jar api and manifest spec in the jdk documentation. I'm sure this wheel has already been invented so you might want to look around for examples (e.g. possibly Tomcat's webapp classloader). > Hope this helps, > -Rick > > > > Peter > > signature.asc Description: This is a digitally signed message part
Re: derby.jar Classpath
On 7/17/12 3:23 AM, Peter Davis wrote: Hi I've been using derby db for a while now and have until now been willing to work around a problem with classpath. It appears that I have to explicitly place derby.jar on the class path using one of the standard mechanisms. e.g. -cp or in the manifest of the running jar. Unfortunately my application uses its own class loader and therefore none of the above is true. I'm guessing that derby.jar uses the property "java.class.path" to find the path to its other components. Hi Peter, Note that the engine jar file (derby.jar) only depends on the jar files which contain the message localizations. Derby still runs even if it can't find the localizations--error messages will just come out in English rather than the preferred language of your platform. The engine jar file does not depend on any of the other executable jars (derbyclient.jar, derbynet.jar, derbytools.jar). Here is the Class-Path attribute from derby.jar: Class-Path: derbyLocale_cs.jar derbyLocale_de_DE.jar derbyLocale_es.ja r derbyLocale_fr.jar derbyLocale_hu.jar derbyLocale_it.jar derbyLocal e_ja_JP.jar derbyLocale_ko_KR.jar derbyLocale_pl.jar derbyLocale_pt_B R.jar derbyLocale_ru.jar derbyLocale_zh_CN.jar derbyLocale_zh_TW.jar The Derby network JDBC driver (derbyclient.jar) and the Derby tools (derbytools.jar) also depend on the localization jar files. They have the same Class-Path attribute as derby.jar. The only jar files which pull in more executable code are the Derby network server (derbynet.jar) and the convenience jar file which was designed to simplify classpath administration (derbyrun.jar). The network server depends on the engine jar file. Here is it's Class-Path attribute... Class-Path: derby.jar ...and here is the Class-Path attribute of derbyrun.jar: Class-Path: derby.jar derbyclient.jar derbytools.jar derbynet.jar So my question is, Is there a way to load derby.jar without explicitly declaring it on the classpath. People who actually deploy applications can offer better advice than I can. My only suggestions would be: 1) Wire the location of derby.jar into the Class-Path attribute in the manifest file of your application's jar file. 2) Hardwire knowledge of derby.jar into your custom class loader. Hope this helps, -Rick Peter
derby.jar Classpath
Hi I've been using derby db for a while now and have until now been willing to work around a problem with classpath. It appears that I have to explicitly place derby.jar on the class path using one of the standard mechanisms. e.g. -cp or in the manifest of the running jar. Unfortunately my application uses its own class loader and therefore none of the above is true. I'm guessing that derby.jar uses the property "java.class.path" to find the path to its other components. So my question is, Is there a way to load derby.jar without explicitly declaring it on the classpath. Peter