Hi Roy,
Thanks for including the code snippet. As Raymond points out, you are
not loading the driver explicitly. This should not be necessary if you
are using Java 6 or 7. However, driver autoloading does not happen in
Java 5 and earlier versions of Java. What version of Java are you using?
Thanks,
-Rick
On 8/8/11 11:55 AM, Raymond Kroeker wrote:
Hi Roy,
The fqcn, is the fully qualified class name of the driver. So in your
code you're using the driver manager to grab a connection; however I
don't see a reference to loading the driver:
http://db.apache.org/derby/papers/DerbyTut/embedded_intro.html#embedded_driver
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
Raymond
On Mon, Aug 8, 2011 at 11:47,<[email protected]> wrote:
I do not know what an "fqcn" is. I am running the latest Derby release,
10.8.1.2. The code pasted in below works great in the dev environment
(IntelliJ Idea), but the same code packaged in a jar cannot find the driver
with CLASSPATH set correctly.
public static Connection getConnection()
{
Connection c = null;
try
{ // The connectionURL
is "jdbc:derby:EMDatabase;create=true"
c = DriverManager.getConnection(connectionURL);
c.setAutoCommit(false);
}
catch (Throwable e)
{
log(3, "Unable to connect to " + dbName + ": " + e.getMessage());
stopDBMS();
System.exit(3);
}
return c;
}
________________________________
From: "Raymond Kroeker"<[email protected]>
To: "Derby Discussion"<[email protected]>
Sent: Monday, August 8, 2011 10:08:11 AM
Subject: Re: Can't Load Embedded Driver
Can you try specifying the driver as a fqcn? If that doesn't solve the issue
please paste relevant code around how you load the driver and obtain a
connection.
Raymond
On Aug 8, 2011 6:55 AM,<[email protected]> wrote:
Rick,
Thank you very much for offering your help. Apparently my CLASSPATH is
good. I typed in "java org.apache.derby.jdbc.EmbeddedDriver" and did indeed
get exactly the expected "Exception in thread "main"
java.lang.NoSuchMethodError: main" error message. What else could be
causing my problem?
Roy
----- Original Message -----
From: "Rick Hillegas"<[email protected]>
To: "Derby Discussion"<[email protected]>
Sent: Monday, August 8, 2011 9:00:58 AM
Subject: Re: Can't Load Embedded Driver
On 8/7/11 9:54 AM, [email protected] wrote:
I have been happily using Derby for two years within IntelliJ Idea,
but have now hit a wall trying to deploy the application I developed.
I have tried setting the path to derby.jar on the command line and/or
in the CLASSPATH environment variable to no avail. The embedded
driver doesn't load; the error message is, "No suitable driver found
for jdbc:derby:EMDatabase;create=true". I'm under Windows XP Pro.
Any help would be appreciated.
Roy Minet
Hi Roy,
This is almost always a CLASSPATH problem. With the same CLASSPATH, try
the following experiment:
java org.apache.derby.jdbc.EmbeddedDriver
If the CLASSPATH is good, you should see this error:
Exception in thread "main" java.lang.NoSuchMethodError: main
Hope this helps,
-Rick