Scott, I'm going to put this reply into the list rather than answer it offline. I hope that's okay with you. If I answer you offline, only you will know the answer but if I answer on the mailing list, everyone who monitors the list - and anyone who checks the archives in the future! - can benefit.
The rest of my reply is interspersed in your note.... Rhino ----- Original Message ----- From: "Scott D. Spiegler" <[EMAIL PROTECTED]> To: "Rhino" <[EMAIL PROTECTED]> Sent: Wednesday, June 16, 2004 6:14 PM Subject: Re: Why can't I make a connection? > > > 1. Have you installed a MySQL Java driver and is it > > accessible to the > > program? > > That's what I am not sure about. I placed the drivers > in the location specified by the documentation or at > least I think I have. Where do you usually place them? > I followed this course of action from the docs: "copy > the "com" and "org" subdirectories and all of their > contents to anywhere you like, and put the directory > holding the "com" and "org" subdirectories in your > classpath". I also added > "D:\mysql-connector-java\mysql-connector-java-3.1.1-alpha\mysql-connector-ja va-3.1.1-alpha-bin.jar;" > to my CLASSPATH variable under > Start->System->Advanced->Environment Variables. Is > that correct? > I'm assuming you assigned that path to the CLASSPATH environment variable. If not, you should have ;-) I'm also assuming that the driver you are using is appropriate for the version of MySQL you are using. Since the classpath approach doesn't work for you, I'm going to suggest another approach, rather than trying to work out why your classpath isn't working. I have lately started putting my database drivers in the extensions library of the JRE and it's working very well. You can read about this technique in the Java Tutorial in the trail entitled "The Extension Mechanism". I'm not sure which version of Java you are using or whether you're familiar with the Java Tutorial but I found it very useful in my early days in Java and I still use it from time to time to learn new things. You can see the Java Tutorial online at http://java.sun.com/docs/books/tutorial/. You can see "The Extension Mechanism" in the Specialized Trails area of that page. (The Java Tutorial can also be downloaded, which is very handy if you have a slow connection.) Quoting from this trail: Extensions are groups of packages and classes that augment the Java platform through the extension mechanism. The extension mechanism enables the runtime environment to find and load extension classes *without the extension classes having to be named on the class path* [emphasis added]. In that respect, extension classes are similar to the Java platform's core classes. That's also where extensions get their name -- they, in effect, extend the platform's core API. [end citation] In a nutshell, if you put your MySQL driver file in the JRE/lib/ext directory, your programs should be able to see it and use it without having to mess around with your classpath. Unfortunately, *finding* the (correct) extensions directory can be a can of worms, particularly if you have multiple versions of Java on your system. For instance, I installed the SDK for Java 1.4.1 on my main development machine which would suggest that I have only a single JRE library. In fact, I have FOUR of them. I have: a) the JRE for Java 1.4.1 which I installed automatically when I installed the 1.4.1 SDK. b) a second JRE that is standalone, i.e. not part of an SDK. I honestly don't recall how that one got there any more. c) a JRE for Java 1.1.8. d) a JRE for Java 1.2.2. The latter two JREs are there because I also have DB2 installed on this machine and it comes with two full Java SDKs, 1.1.8 and 1.2.2, each of which include JREs. You could be in the same sort of situation, not necessarily through any action you took consciously. So which extension library do you use for your MySQL drivers? Well, in theory, you could reason it all out but I'm going to suggest a "brute force" method that will be much faster and shouldn't do any harm: 1) find all of your JREs 2) put the MySQL driver in the extension library (JRE/lib/ext) of ALL of them 3) once you get your program working, remove the MySQL driver from the "extra" extension libraries one at a time, ensuring that your program still works before attempting to remove the next one. If the program stops working, you've removed the wrong copy; put it back and verify that the program still works. Eventually, you will only have one MySQL driver and it will be exactly where it ought to be. With any luck though, you only have one JRE: then all you need to do is put your MySQL driver in JRE/lib/ext and you should be "good to go". > > It sounds a little bit as if this is your first > > Java/MySQL program. > > Yes, it is. Once I make the initial connection, I > think I should know where to go from there, but I am > not sure that I am telling my app where to go to find > the drivers. > I think you're probably right. I've always found that first programs were extremely crucial for developing the confidence that it takes to proceed and succeed with a given programming technique. Good luck and let us know if my suggestion doesn't work for you; perhaps someone else can suggest a better approach! Rhino -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]