db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Roy.Mi...@comcast.net
Subject Re: Can't Load Embedded Driver
Date Mon, 08 Aug 2011 19:53:30 GMT
Using jdk1.6.0_20. 

----- Original Message -----
From: "Rick Hillegas" <rick.hillegas@oracle.com> 
To: "Derby Discussion" <derby-user@db.apache.org> 
Sent: Monday, August 8, 2011 3:24:09 PM 
Subject: Re: Can't Load Embedded Driver 

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,<Roy.Minet@comcast.net>  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"<raykroeker@gmail.com> 
>> 
>> To: "Derby Discussion"<derby-user@db.apache.org> 
>> 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,<Roy.Minet@comcast.net>  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"<rick.hillegas@oracle.com> 
>>> To: "Derby Discussion"<derby-user@db.apache.org> 
>>> Sent: Monday, August 8, 2011 9:00:58 AM 
>>> Subject: Re: Can't Load Embedded Driver 
>>> 
>>> On 8/7/11 9:54 AM, Roy.Minet@comcast.net 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 
> 
> 


Mime
View raw message