Hi to all,
I tried to find something on the internet belongig to my question: what is to do for connecting with a user to a different schema than the username or APP.
Actually I found 2 hints
  1. use SET CURRENT SCHEMA
  2. Make your own custom authentication
Source of above hints is this site: http://www.oreillynet.com/onjava/blog/2006/07/on_derby.html that is from 2006
 
Well choice 1. is not really usable when a datasource is to be defined, is it?
Choice 2.seems to be a bit overheaded. Is it so exotic to connect with a user using a different schema so nobody know how to or an custom implementation needs to be produced on ones own?
Or is there a way in the newest release of Derby?
 
Thanks for hints in advance
 
Malte
 

Von: Malte.Kempff@de.equens.com [mailto:Malte.Kempff@de.equens.com]
Gesendet: Freitag, 20. Juli 2012 18:56
An: derby-user@db.apache.org
Betreff: schema-questions


Somehow I ask now myself, how I can connect to another schema than the username.
Currently I have a user tech that is suppose to connect to the schema user_stuff via DataSource
I tried now this but obviously ist not correct becides the password is still ignored also the schema seems not to be declared like this
Context.xml for defining the DataSource:

<?xml version="1.0" encoding="UTF-8"?>
<Context>
    <Resource name="jdbc/testdb"
              auth="Container"
              type="javax.sql.DataSource"
              username="tech"
              password="schnaddel"
             
schema="USER_STUFF"
              driverClassName="org.apache.derby.jdbc.ClientDriver"
              url="jdbc:derby://localhost:1527/testdb"
              maxActive="10"
              maxIdle="4"/>
</Context>

Does anybody know what is to be used to be on the right schema 'USER_STUFF' ?



-----Ursprüngliche Nachricht-----
Von: Tim Watts [mailto:tim@cliftonfarm.org]
Gesendet: Donnerstag, 19. Juli 2012 18:44
An: Derby Discussion
Betreff: Re: AW: AW: AW: schema-questions

On Thu, 2012-07-19 at 17:23 +0200, Malte.Kempff@de.equens.com wrote:
> Do I get it right, that the threads defined in Network server of derby
> should correspond with amount of connections in defined data source
> for derby in the Application Server, where it is running in? Is there
> any best practice?
>
I suppose so but not necessarily.  Unless you have an uncontrollable need to complicate life I would leave it at the default of 0 ("elastic mode").  This way Derby will spawn a thread to service each connection as it's made.  A non-zero value will make that the upper limit for worker threads.  Not that Derby will refuse further connections once the max is reached; only that the new connections will have to wait for CPU time until one of the other threads is done or it's timeSlice has expired. (But, of course, adding more threads doesn't magically create more CPU capacity.  So I imagine a non-zero value would be balanced against the number of available cores/CPUs?)  I'm writing from a theoretical perspective here as I haven't actually messed with any of this.

My impression is that your goal is to explore web app development using Derby.  In general, focusing on performance tuning in the absence of an actual performance issue is not going to be very productive.


> Malte
>
>
> -----Ursprüngliche Nachricht-----
> Von: Tim Watts [mailto:tim@cliftonfarm.org]
> Gesendet: Mittwoch, 18. Juli 2012 17:48
> An: Derby Discussion
> Betreff: Re: AW: AW: schema-questions
>
> Hi Malte,
>
> On Wed, 2012-07-18 at 13:44 +0200, Malte.Kempff@de.equens.com wrote:
> > Hi Tim
> > My JAVA_OPS look like that, when I use set command:
> > JAVA_OPTS=-Dderby.system.home=c:\derby-dbs
>
> That looks reasonable.
>
> >
> > I suppose that the JAVA_OPTS are recognized by derby in my
> > particular case. Otherweise I would not understand why derby
> > produces and writes and reads from the given directory.
> > It is a bit of unexplainable to me, since today it works with
> > following ij call java %JAVA_OPTS% -Dij.protocol=jebc:derby: -jar
> > %DERBY_HOME %/lib/derbyrun.jar ij
> > ij> connect
> > 'jdbc:derby://localhost:1527/testdb;create=true;user=tralla;password
> > =d
> > uddeldi';
> > Here I get the expected error now:
> > FEHLER 08004: Die Verbindung konnte nicht authentifiziert werden.
> > Ursache: Die Benutzer-ID oder das Kennwort ist ung³ltig.
> >
> >
> > Yesterday it did not work neither via ij nor within tomcat. Always
> > it did not matter whether the right password or user was set or not.
>
> It would be very difficult to figure out exactly what actually happened between yesterday and today from a few sketchy details.  It probably doesn't matter much at this point.
>
> >
> > Using tomcat I still get that ignoring of derby.properties,
>
> Did you try invoking test.jsp from my last post?  That would tell you if the running instance of Tomcat had a JAVA_OPTS and derby.system.home passed through to it.
>
> > at least the password I am using seems not to matter at all Here my
> > entry in context.xml for tomcat similar to the recommanded one I
> > found in http://www.zetcode.com/db/apachederbytutorial/tomcat/
> > <?xml version="1.0" encoding="UTF-8"?> <Context>
> >     <Resource name="jdbc/testdb"
> >               auth="Container"
> >               type="javax.sql.DataSource"
> >               username="tech"
> >               password="schnaddel"
> >               driverClassName="org.apache.derby.jdbc.ClientDriver"
> >               url="jdbc:derby://localhost:1527/testdb"
> >               maxActive="10"
> >               maxIdle="4"/>
> >
> > </Context>
> >
> > The right password is supposed to be something else , but it works
> > :-D
> > (?!)
> >
> > By the way (sorry for asking such a question of beginners :-)):
> > Using the web-app of derby (Derby Network Server) there is the
> > option to change max amount of threads and thread time slices.
> > What does that mean exactly? Could that interfere with the
> > definition of DataSource within context.xml, or is that something
> > totally different?
>
> See
> http://db.apache.org/derby/docs/10.8/adminguide/tadminconfiguringthene
> tworkserver.html
>
> >
> >
> Lastly, let me point out that there is absolutely NO requirement to run the Derby war in order to use Derby from a web application.  You could just as easily run the Derby Network Server in a separate process or use an embedded Derby engine.  Just wanted to point that out so you and others aware of the possibilities.
>
> >
> >
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Tim Watts [mailto:tim@cliftonfarm.org]
> > Gesendet: Dienstag, 17. Juli 2012 22:36
> > An: Derby Discussion
> > Betreff: Re: AW: schema-questions
> >
> > On Tue, 2012-07-17 at 18:13 +0200, Malte.Kempff@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:
> > ---------
> > <html>
> > <body>
> > derby.system.home=<%= System.getProperty("derby.system.home") %><br>
> > JAVA_OPTS=<%= System.getenv("JAVA_OPTS") %><br> </body> </html>
> >
> > 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:tim@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.Kempff@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
> > > >
> > >
> >
>