Hi John,
I can't log onto JIRA so I'm responding on the list...
I reinitialized my subversion client so that it was a copy of the
mainline and I re-ran the experiment. It works fine for me. Then I
commented out the setting of jsr169compile.classpath in my
ant.properties so that the small device support was not built. Running
against those jar files I saw the symptoms that you are seeing. So I
would recommend verifying that your jsr169compile.classpath is setup
correctly and that your compiled classes include Driver169.class.
Hope this helps,
-Rick
John H. Embretsen (JIRA) wrote:
[
https://issues.apache.org/jira/browse/DERBY-3176?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
John H. Embretsen updated DERBY-3176:
-------------------------------------
Attachment: MobileSanityTest.java
I wasn't able to try the latest patch before the commit, but when testing my
phoneME binaries with the current trunk I get this error message when invoking
IJ:
ERROR (no SQLState): org.apache.derby.jdbc.EmbeddedDriver is not registered
with the JDBC driver manager
I get the same error whether I run with pre-built phoneME Advanced binaries and
a self-built JSR-169 implementation, or self-built phoneME binaries including
the self-built JSR-169 support.
I've also tried another approach by using a java class instead of IJ (attached:
MobileSanityTest.java), but I get the same error. The exception originates in
the EmbeddedSimpleDataSource.findDriver() method. With 10.2 it works fine, and
with 10.3.1.4 I get the DataValueFactory error, as expected.
sysinfo seems to be correct, e.g.:
java.specification.name: Foundation Profile Specification
java.specification.version: 1.1
--------- Derby Information --------
JRE - JDBC: J2ME - JDBC for CDC/FP 1.1
Rick, are you able to use IJ/Derby successfully using phoneME and the current
trunk?
If so, what could I be doing wrong?
J2ME support for phoneME platform disabled in 10.3
--------------------------------------------------
Key: DERBY-3176
URL: https://issues.apache.org/jira/browse/DERBY-3176
Project: Derby
Issue Type: Bug
Components: JDBC
Affects Versions: 10.3.1.4
Reporter: Rick Hillegas
Assignee: Rick Hillegas
Attachments: derby-3176-01-phoneME-aa.diff,
derby-3176-01-phoneME-ab.diff, derby-3176-01-phoneME-ac.diff,
derby-3176-01-phoneME-ad.diff, MobileSanityTest.java
Derby 10.2 runs on the phoneME small device platform. However, on that platform
Derby 10.3 fails to boot databases, complaining that Derby cannot find an
appropriate implementation of DataValueFactory.
For details on how to install and run the phoneME platform, please see
http://blogs.sun.com/wittyman/entry/javadb_on_sun_javame_cdc These are great
instructions but I needed to adjust them as follows:
1) I had to use 10.2 because 10.3 and the development mainline would not run on
this platform
2) I needed to to set LD_LIBRARY_PATH so that the vm could find the necessary
shared libraries.
Here is the phoneME startup script which worked for me:
#! /bin/bash
#
# Run an ij script in the phoneME vm
#
# $1 is the script to run
export LD_LIBRARY_PATH=$CDC_HOME/lib
cd ~/demo/tearoffToPhone/data
$CDC_HOME/bin/cvm -Xbootclasspath/a:$JSR169_HOME/lib/jsr169.jar \
-cp $DERBYJARS/derby.jar:$DERBYJARS/derbytools.jar \
-Dij.dataSource=org.apache.derby.jdbc.EmbeddedSimpleDataSource \
-Dij.dataSource.databaseName=sample \
-Dij.dataSource.createDatabase=create \
org.apache.derby.tools.ij $1