2012-06-30 2 views
-1

У меня возникли проблемы с использованием JDBC-коннектора. Я получил его для работы в Eclipse, но он не работает из командной строки. Я переименовал соединитель «driver.jar» и поместил его в каталог/lib в папке моего основного класса. Я даже установил путь класса к /lib/driver.jar, но это, похоже, не делает трюк. Может кто-нибудь, пожалуйста, посоветуйте мне, как настроить JDBC, чтобы я мог подключиться к базе данных MySQL. Это действительно расстраивает.Проблемы с разъемом JDBC

Пример кода:

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 

public class Main { 
    public static void main(String args[]) { 
     // Database credentials 
     Connection conn = null; 
     String url = "jdbc:mysql://localhost/"; 
     String db = "db"; 
     String driver = "com.mysql.jdbc.Driver"; 
     // Connect to database 
     try { 
      Class.forName(driver); 
      System.out.println("HELLO"); 
      conn = DriverManager.getConnection(url+db,"root",""); 
      System.out.println("Success"); 
      } catch(Exception e) { 
      return; 
     } 
    } 

} 
+0

Пожалуйста, вы можете отправить то, что вы используете в командной строке, чтобы скомпилировать/запустить программу, а также сообщение об ошибке? – schadr

+0

javac Main.java java Main Это не вызывает у меня никакого сообщения об ошибке. Он просто не выполняет код целиком. Например, он не печатает «HELLO». – scriptdiddy

+0

Я распечатал eMessage, и он говорит «com.mysql.jdbc.Driver» – scriptdiddy

ответ

-4

Я надеюсь, он не может найти файл библиотеки драйверов для MYSQL.

Попробуйте эту

Скопируйте driver.jar в JRE/LIB/внутр

Ex. C: \ Program Files \ Java \ jre1.5.0 \ lib \ ext

+0

Отлично! Спасибо за вашу помощь. Я запускаю MAC OSX, поэтому я поместил его в/Library/Java/Extensions /, и теперь он работает нормально! – scriptdiddy

+1

Не кладите библиотеки в \ lib \ ext, это отличный способ испортить программы, которые зависят от конкретных версий библиотеки. –

0

Попробуйте этот код ниже, чтобы получить соединение, пожалуйста, замените имя пользователя и пароль своим методом getConnection(). Попытайтесь поработать над этим, если это сработает для вас, тогда, пожалуйста, посмотрите, какие проблемы с вашим кодом.

public class DBDiary { 

    Connection conn; 


    public DBDiary(){ 

     this.getConn(); 

    } 

    public Connection getConn(){ 

     try { 
      conn = getConnection(); 

     } catch (SQLException e) { 

      System.out.println("Connection Couldnt be Obtained"); 
     } 
      return conn; 
    } 


    public static Connection getConnection() throws SQLException { 

     String drivers = "com.mysql.jdbc.Driver"; 
     String url = "jdbc:mysql://localhost:3306/test"; 
     String username = "root"; 
     String password = "root"; 

     System.setProperty(drivers,""); 

     return DriverManager.getConnection(url,username,password); 

    } 

    } 
0

Если вы разрабатываете приложения на рабочем столе, то вам нужно поставить его в путь сборки проекта в затмении

и если вы разрабатываете веб-приложения, как веб-службы или что-то другое, то вам нужно добавить этот файл в этот файл project_folder \ WebContent \ WEB-INF \ lib он будет работать. , а затем вы можете связаться с mysql как @Arun P Johny. Все еще есть проблема, тогда напишите мне.

3

Я согласен с @Mark Rotteveel, где положить файл jar в lib \ ext \ не является изящным решением.

Вы можете попробовать, что предлагает @AVD, но использовать «:» как seperator с момента запуска вашей программы на Mac OSX.

Пример (предполагается, что ваш Main.class и Lib/находятся в той же папке):

>java -cp .:./lib/driver.jar Main