[ 
https://issues.apache.org/jira/browse/DERBY-2733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12546363
 ] 

Myrna van Lunteren commented on DERBY-2733:
-------------------------------------------

I plan to look at this again for 10.4, didn't anticipate doing anything for  
10.3...
I couldn't remember the details of the behavior documented, so I went back and 
did some experimenting...

It looks like all in all, currently, both with jdk15 and the java ME I have 
available(j9/weme6.1) the behavior is similar; if you don't specify 
ij.dataSource.databaseName it doesn't connect (of course)  to any database, but 
it does start ij after an error. 
If you specify ij.dataSource.databaseName ij correctly connects to the intended 
database if it exists, if you it doesn't exists, it reports 'ERROR XJ004: 
database '...' not found'. If you add the create it'll automatically create.

So the only differences between jdk15 and j9 that I see are:
 - if you don't specify ij.dataSource.databaseName, with ij java ME encounters 
the inelegant NPE documented in this JIRA
- if you happen to also have -Dij.protocol=jdbc:derby: floating around, ij 
won't start at all with j9 complaining about NoClassDefFound java.sql.Driver. I 
believe this is documented elsewhere (not to specify the protocol with 
dataSources) although I can't find it right now.

So, I'm a bit lost trying to fix the docs for 10.3...
The only thing I can see basically wrong is the indication that you *must* 
specify the databaseName property. If we added something like: "If you do not 
specify the databaseName property, you will get an error. You can then still 
connect to the database if you omit the protocol."

Suggestions?
 

> ij rolls through NullPointerException (NPE) with J2ME/JSR169/WEME 6.1.
> ----------------------------------------------------------------------
>
>                 Key: DERBY-2733
>                 URL: https://issues.apache.org/jira/browse/DERBY-2733
>             Project: Derby
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 10.1.2.1, 10.2.2.0, 10.3.1.4
>         Environment: windows xp; j9 -jcl:foun11 -version:
> java version "J2ME Foundation Specification v1.1"
> IBM J9 2.3 Windows XP x86-32  (JIT enabled)
> J9VM - 20061023_08962_lHdSMR
> JIT  - 20060629_1804ifx1_r8
> GC   - 200609_15
> JCL  - 20061020_1321,foun11
> Licensed Materials - Property of IBM
> J9 - VM for the Java(TM) platform, Version 2.3
> (c) Copyright IBM Corp. 1991, 2006  All Rights Reserved
> Target: 20061023_08962_lHdSMR (Windows XP 5.1 build 2600 Service Pack 2 x86)
> JIT  - 20060629_1804ifx1_r8
>            Reporter: Myrna van Lunteren
>            Assignee: Myrna van Lunteren
>         Attachments: DERBY-2733-doc.diff, DERBY-2733-src.diff, 
> DERBY-2733.diff2, rtoolsijproprefdatasource.html
>
>
> When starting ij - with, or without any derby.properties, ij first shows this:
> -------------------------------------------------------
> java.lang.reflect.InvocationTargetException
>         at 
> java.lang.reflect.AccessibleObject.invokeL(AccessibleObject.java:215)
>         at java.lang.reflect.Method.invoke(Method.java:272)
>         at 
> org.apache.derby.impl.tools.ij.util.getDataSourceConnection(util.java:426)
>         at org.apache.derby.impl.tools.ij.util.startJBMS(util.java:516)
>         at org.apache.derby.impl.tools.ij.util.startJBMS(util.java:585)
>         at 
> org.apache.derby.impl.tools.ij.ConnectionEnv.init(ConnectionEnv.java:64)
>         at 
> org.apache.derby.impl.tools.ij.utilMain.initFromEnvironment(utilMain.java:179)
>         at org.apache.derby.impl.tools.ij.Main.<init>(Main.java:230)
>         at org.apache.derby.impl.tools.ij.Main.getMain(Main.java:193)
>         at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:178)
>         at org.apache.derby.impl.tools.ij.Main.main(Main.java:73)
>         at org.apache.derby.tools.ij.main(ij.java:67)
> Caused by: java.lang.NullPointerException
>         at 
> org.apache.derby.jdbc.InternalDriver.embeddedDriverAcceptsURL(InternalDriver.java:116)
>         at 
> org.apache.derby.jdbc.InternalDriver.acceptsURL(InternalDriver.java:107)
>         at 
> org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:126)
>         at 
> org.apache.derby.jdbc.EmbeddedSimpleDataSource.getConnection(EmbeddedSimpleDataSource.java:406)
>         at 
> org.apache.derby.jdbc.EmbeddedSimpleDataSource.getConnection(EmbeddedSimpleDataSource.java:373)
>         at 
> java.lang.reflect.AccessibleObject.invokeL(AccessibleObject.java:213)
>         ... 11 more
> ij version 10.3
> ij>
> After that, ij does appear to start normal operations.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to