Hi Joe,
Well I tested directly your program as soon I was at work here are the
results :(
Log in to server, no changes makes that means no JAVA_HOME set
unmodified PATH and LD_LIBRARY_PATH not set took the generated .so
library and the windows native jar:
[EMAIL PROTECTED] /home/Homedev/jdbcTest> javac -classpath
sqlitejdbc-v036-nested.jar Foo.java
[EMAIL PROTECTED] /home/Homedev/jdbcTest> which java
/usr/bin/java
[EMAIL PROTECTED] /home/Homedev/jdbcTest> java -cp sqlitejdbc-v036-
nested.jar:. Foo
a = 123, b = dog, c = 67.89
a = 345, b = cat, c = 8.349
a = 789, b = pig, c = -44.5678
[EMAIL PROTECTED] /home/Homedev/jdbcTest> export LD_LIBRARY_PATH=.
[EMAIL PROTECTED] /home/Homedev/jdbcTest> java -cp sqlitejdbc-v036-
native.jar:. Foo
Exception in thread "main" java.lang.NoClassDefFoundError: org/ibex/
nestedvm/Runtime$CallJavaCB
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:
251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at org.sqlite.Conn.<init>(Conn.java:53)
at org.sqlite.JDBC.connect(JDBC.java:38)
at java.sql.DriverManager.getConnection(DriverManager.java:
512)
at java.sql.DriverManager.getConnection(DriverManager.java:
193)
at Foo.main(Foo.java:6)
[EMAIL PROTECTED] /home/Homedev/jdbcTest>
And then I made an other test with modified path and java on
jdk1.5.0_12:
[EMAIL PROTECTED] /home/Homedev/jdbcTest> which java
/usr/jdk1.5.0_12/bin/java
[EMAIL PROTECTED] /home/Homedev/jdbcTest> which javac
/usr/jdk1.5.0_12/bin/javac
[EMAIL PROTECTED] /home/Homedev/jdbcTest> javac -classpath
sqlitejdbc-v036-nested.jar Foo.java
[EMAIL PROTECTED] /home/Homedev/jdbcTest> java -cp sqlitejdbc-v036-
nested.jar:. Foo
java.sql.SQLException: no SQLite library found
at org.sqlite.Conn.<init>(Conn.java:55)
at org.sqlite.JDBC.connect(JDBC.java:38)
at java.sql.DriverManager.getConnection(DriverManager.java:
525)
at java.sql.DriverManager.getConnection(DriverManager.java:
193)
at Foo.main(Foo.java:6)
[EMAIL PROTECTED] /home/Homedev/jdbcTest> java -cp sqlitejdbc-v036-
native.jar:. Foo
java.sql.SQLException: no SQLite library found
at org.sqlite.Conn.<init>(Conn.java:55)
at org.sqlite.JDBC.connect(JDBC.java:38)
at java.sql.DriverManager.getConnection(DriverManager.java:
525)
at java.sql.DriverManager.getConnection(DriverManager.java:
193)
at Foo.main(Foo.java:6)
[EMAIL PROTECTED] /home/Homedev/jdbcTest>
Well now I don't now what to do :(
On Aug 28, 7:00 pm, Joe Wilson <[EMAIL PROTECTED]> wrote:
> The error "no SQLite library found" means that neither the native nor
> nested sqlitejdbc driver was found in your classpath.
>
> Your application must also have this line before you try to establish
> a JDBC connection so JDBC can find the driver:
>
> Class.forName("org.sqlite.JDBC");
>
> Forget about the native driver for the moment.
> Just grab sqlitejdbc-v036-nested.jar from the tar file on the website and
> put it in the same directory as Foo.java (below) and repeat these steps
> on UNIX:
>
> $ cat Foo.java
> import java.sql.*;
> public class Foo {
> public static void main(String[] args) throws Exception {
> try {
> Class.forName("org.sqlite.JDBC");
> final Connection con = DriverManager.getConnection("jdbc:sqlite:");
> Statement st = con.createStatement();
> st.executeUpdate("CREATE TABLE FOO (a,b,c)");
> st.executeUpdate("INSERT INTO FOO VALUES(123, 'dog', 67.89)");
> st.executeUpdate("INSERT INTO FOO VALUES(345, 'cat', 8.349)");
> st.executeUpdate("INSERT INTO FOO VALUES(789, 'pig', -44.5678)");
> ResultSet rs = st.executeQuery("SELECT a, b, c FROM FOO");
> while (rs.next()) {
> int a = rs.getInt("a");
> String b = rs.getString("b");
> double c = rs.getDouble("c");
> System.out.println("a = " + a + ", b = " + b + ", c = " + c);
> }
> } catch (Exception e) { e.printStackTrace(); }
> }
>
> }
>
> $ javac -classpath sqlitejdbc-v036-nested.jar Foo.java
> $ java -cp sqlitejdbc-v036-nested.jar:. Foo
> a = 123, b = dog, c = 67.89
> a = 345, b = cat, c = 8.349
> a = 789, b = pig, c = -44.5678
>
> If you get these results - you have a working JDBC driver.
>
> On Windows you would use:
>
> java -cp sqlitejdbc-v036-nested.jar;. Foo
>
> Now for the native driver, on UNIX, copy the .so to the current directory
> and run this:
>
> LD_LIBRARY_PATH=. java -cp sqlitejdbc-v036-native.jar:. Foo
>
> ____________________________________________________________________________________
> Looking for a deal? Find great prices on flights and hotels with Yahoo!
> FareChase.http://farechase.yahoo.com/
--~--~---------~--~----~------------~-------~--~----~
Mailing List: http://groups.google.com/group/sqlitejdbc?hl=en
To unsubscribe, send email to [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---