2013-12-01 3 views
-3

Я был некоторым практическим кодом из Big Java 4th при подключении моей программы к базе данных дерби. Тем не менее, я получаю следующее.java database connection confusion

Usage: java -classpath driver_class_path;. TestDB database.properties как выход, и я не могу понять, почему он не подключается.

Это моя тестовая база данных:

public class TestDB 
{ 
    public static void main(String[] args) throws Exception 
    { 
    if (args.length == 0) 
    { 
    System.out.println(
      "Usage: java -classpath driver_class_path" 
      + File.pathSeparator 
      + ". TestDB database.properties"); 
    return; 
    } 
    else 
    SimpleDataSource.init(args[0]); ` 

    Connection conn = SimpleDataSource.getConnection(); 
    try 
    { 
    Statement stat = conn.createStatement(); 

    stat.execute("CREATE TABLE Test (Name CHAR(20))"); 
    stat.execute("INSERT INTO Test VALUES ('Romeo')"); 

    ResultSet result = stat.executeQuery("SELECT * FROM Test"); 
    result.next(); 
    System.out.println(result.getString("Name")); 

    stat.execute("DROP TABLE Test"); 
    } 
    finally 
    { 
    conn.close(); 
    } 
    } 
} 

Это программа подключения поставляется:

public class SimpleDataSource 
{ 
    private static String url; 
    private static String username; 
    private static String password; 

    /** 
     Initializes the data source. 
     @param fileName the name of the property file that 
     contains the database driver, URL, username, and password 
    */ 
    public static void init(String fileName) 
    throws IOException, ClassNotFoundException 
    { 
    Properties props = new Properties(); 
    FileInputStream in = new FileInputStream(fileName); 
    props.load(in); 

    String driver = props.getProperty("jdbc.driver"); 
    url = props.getProperty("jdbc:url"); 
    username = props.getProperty("jdbc.username"); 
    if (username == null) username = ""; 
    password = props.getProperty("jdbc.password"); 
    if (password == null) password = ""; 
    if (driver != null) 
    Class.forName(driver); 
    } 

    /** 
    Gets a connection to the database. 
    @return the database connection 
    */ 
    public static Connection getConnection() throws SQLException 
    { 
    return DriverManager.getConnection(url, username, password); 
    } 
    } 

ответ

0

Метод usage говорит вам, как правильно запустить программу. Позвольте мне перевести это на английский язык, если по какой-то причине место, где вы получили этот код, не объясняет это.

Использование:

Здесь мы собираемся показать, как использовать программу из командной строки. Если вы запускаете программу из IDE, она будет аналогичной, но вы бы опустили «java», а путь к классам и имя программы были бы настроены отдельно.

ява

Команда для запуска программ Java

-classpath driver_class_path ;.

указав свой путь к классам в качестве места водителя Дерби, а затем в текущей директории (где живет ваша программа)

TestDB

Название вашей программы - которая TestDB , поэтому не изменяйте этот

database.properties

Имя файла для использования файла свойств. Файл свойств содержит параметры подключения к базе данных. Это хорошая практика разработки программного обеспечения! Пароль базы данных, если таковой имеется, должен соответствовать указанному вами паролю.