Я искал документы по этой проблеме в течение всего дня, но, похоже, я не могу найти ответ. Я легко нашел базу данных в режиме клиентского сервера (org.apache.derby.jdbc.ClientDriver), но я был замешан в результирующей базе данных во встроенном режиме (org.apache.derby.jdbc.EmbeddedDriver).Как установить derby.database.classpath для запуска Java DB Embedded?
Все, кажется, хорошо, и подключение к базе данных имеет успех, но она всегда дает мне эту ошибку:
java.sql.SQLSyntaxErrorException: Table/View 'APP.TABELJEMBATAN' does not exist.
http://i1263.photobucket.com/albums/ii633/lindafitriani/javadb4.jpg
существует Моя база данных, смотрите ниже:
http://i1263.photobucket.com/albums/ii633/lindafitriani/javadb1.jpg http://i1263.photobucket.com/albums/ii633/lindafitriani/javadb2.jpg
Вот содержимое моего файла derby.log:
2012-06-30 18:08:34.170 GMT: Booting Derby version The Apache Software Foundation - Apache Derby - 10.5.3.0 - (802917): instance a816c00e-0138-3e94-78a3-000000b35a08 on database directory C:\Users\Linda Fitriani\Documents\NetBeansProjects\Jembatan\Jembatan2
Database Class Loader started - derby.database.classpath=''
http://i1263.photobucket.com/albums/ii633/lindafitriani/javadb3.jpg
Месторасположение базы данных (справа) ctory), но путь derby.database.classpath был пуст ... Кто-нибудь знает, как это исправить?
Вот мой код:
package jembatan;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* @author Linda Fitriani
*/
public class DBConnect {
private static Connection conn;
private static String url = "jdbc:derby:Jembatan2;create=true;";
private static String user = "APP";
private static String pass = "linda";
public static Connection connect() throws SQLException{
try{
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
}catch(ClassNotFoundException cnfe){
System.err.println("Error: ClassNotFoundException"+cnfe.getMessage());
}catch(InstantiationException ie){
System.err.println("Error:InstantiationException"+ie.getMessage());
}catch(IllegalAccessException iae){
System.err.println("Error:IllegalAccessException"+iae.getMessage());
}
conn = DriverManager.getConnection(url,user,pass);
return conn;
}
public static Connection getConnection() throws SQLException, ClassNotFoundException{
if(conn !=null && !conn.isClosed())
return conn;
connect();
return conn;
}
}
private void buildData(){
Connection c ;
data = FXCollections.observableArrayList();
try{
c = DBConnect.connect();
//SQL FOR SELECTING ALL OF APP.TABELJEMBATAN
String SQL = "select * from APP.TABELJEMBATAN";
//ResultSet
ResultSet rs = c.createStatement().executeQuery(SQL);
/**********************************
* TABLE COLUMN ADDED DYNAMICALLY *
**********************************/
for(int i=0 ; i<rs.getMetaData().getColumnCount(); i++){
//We are using non property style for making dynamic table
final int j = i;
TableColumn col = new TableColumn(rs.getMetaData().getColumnName(i+1));
col.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<ObservableList,String>,ObservableValue<String>>(){
public ObservableValue<String> call(TableColumn.CellDataFeatures<ObservableList, String> param) {
return new SimpleStringProperty(param.getValue().get(j).toString());
}
});
tableview.getColumns().addAll(col);
col.setMinWidth(200);
System.out.println("Column ["+i+"] ");
}
/********************************
* Data added to ObservableList *
********************************/
while(rs.next()){
//Iterate Row
ObservableList<String> row = FXCollections.observableArrayList();
for(int i=1 ; i<=rs.getMetaData().getColumnCount(); i++){
//Iterate Column
row.add(rs.getString(i));
}
System.out.println("Row [1] added "+row);
data.add(row);
}
//FINALLY ADDED TO TableView
tableview.setItems(data);
}catch(Exception e){
e.printStackTrace();
System.out.println("Error on Building Data");
}
}
никто хотите ответить, как установить класс класса derby? любая помощь будет очень ценна –