如何设置derby.database.classpath来运行Java DB Embedded?
我整天都在搜索关于类似问题的文件,但似乎找不到答案。我很容易在服务器-客户机模式org.apache.derby.jdbc.ClientDriver中找到一个数据库,但我对在嵌入式模式org.apache.derby.jdbc.EmbeddedDriver中生成的数据库感到困惑 一切似乎都正常,连接到数据库是成功的,但它总是给我以下错误: java.sql.SQLSyntaxErrorException:表/视图'APP.TABELJEMBATAN'没有 不存在如何设置derby.database.classpath来运行Java DB Embedded?,database,classpath,derby,embedded-database,javadb,Database,Classpath,Derby,Embedded Database,Javadb,我整天都在搜索关于类似问题的文件,但似乎找不到答案。我很容易在服务器-客户机模式org.apache.derby.jdbc.ClientDriver中找到一个数据库,但我对在嵌入式模式org.apache.derby.jdbc.EmbeddedDriver中生成的数据库感到困惑 一切似乎都正常,连接到数据库是成功的,但它总是给我以下错误: java.sql.SQLSyntaxErrorException:表/视图'APP.TABELJEMBATAN'没有 不存在 http://i1263.pho
http://i1263.photobucket.com/albums/ii633/lindafitriani/javadb4.jpg
我的数据库已存在,请参见以下内容:
以下是我的derby.log文件的内容:
2012-06-30 18:08:34.170格林尼治标准时间:启动Derby版本的Apache
软件基础——Apache DeBy-7.5.3.0—802917:实例
数据库目录上的a816c00e-0138-3e94-78a3-000000 B35A08
C:\Users\Linda Fitriani\Documents\NetBeansProjects\Jembatan\Jembatan2
数据库类装入器已启动-derby.Database.classpath=
http://i1263.photobucket.com/albums/ii633/lindafitriani/javadb3.jpg
数据库位置就在我的工作目录上,但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");
}
}
我找到了解决办法 嵌入式模式在neatbeans安装目录上创建数据库。。 所以,我只是指
"jdbc:derby:C:/Users/Linda Fitriani/.netbeans/7.1/derby/databaseJembatan;create=false;"
这就是应用程序找不到数据库的原因,数据库位于netbeans安装目录中。请确保在数据库连接URL中添加create=true 并确保url引用数据库所在的目录 指定Derby在数据库中搜索jar文件时应使用的类路径 确保将DerbyClient.jar添加到项目库中 下次运行应用程序时,您将注意到不应再次启动服务器 当您将jar文件复制到另一个位置时,请确保lib目录中包含它
我希望这会有所帮助在安装hive和derby之后,我也遇到了一个不同的问题,即无法在hive中显示表,但具有相同的日志消息
我终于意识到所有权问题hduser应该被授予作为配置单元文件夹的所有者……e有人想回答如何设置derby类路径吗?任何帮助都将不胜感激
"jdbc:derby:C:/Users/Linda Fitriani/.netbeans/7.1/derby/databaseJembatan;create=false;"