Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java在运行时无法看到derby数据库表 问题是:_Java_Database_Netbeans_Database Connection_Derby - Fatal编程技术网

Java在运行时无法看到derby数据库表 问题是:

Java在运行时无法看到derby数据库表 问题是:,java,database,netbeans,database-connection,derby,Java,Database,Netbeans,Database Connection,Derby,我正在创建一个需要使用集成数据库的应用程序,但在让应用程序连接到数据库/表时遇到问题。不幸的是,我对Java连接到数据库的知识相当有限,但我所阅读和观看的所有内容似乎都表明我的代码是正确的 我的代码: publicstaticvoidmain(字符串[]args){ 试一试{ forName(“org.apache.derby.jdbc.EmbeddedDriver”); Connection con=DriverManager.getConnection(“jdbc:derby:datahol

我正在创建一个需要使用集成数据库的应用程序,但在让应用程序连接到数据库/表时遇到问题。不幸的是,我对Java连接到数据库的知识相当有限,但我所阅读和观看的所有内容似乎都表明我的代码是正确的

我的代码:
publicstaticvoidmain(字符串[]args){
试一试{
forName(“org.apache.derby.jdbc.EmbeddedDriver”);
Connection con=DriverManager.getConnection(“jdbc:derby:datahold;”);
Statement stat=con.createStatement();
ResultSet rs=stat.executeQuery(“从APP.DATASTORE中选择*);
ResultSetMetaData meta=rs.getMetaData();
int columnCount=meta.getColumnCount();

对于(intx=1;x,您在那里放了一个分号

DriverManager.getConnection("jdbc:derby:datahold;");
将其移除
这是正确的代码

DriverManager.getConnection("jdbc:derby:datahold");

因此,这个问题的答案相当简单,我经过几个小时的修补后才发现

Netbeans会创建一个持久的xml文件,存储应用程序启动时使用的一些数据。更准确地说,是数据库启动时使用的数据。其中一个选项是使用哪个连接


我所要做的就是将此连接更改为我的嵌入式驱动程序连接,它现在正在工作。

这是因为它以前有;create=true,但我删除了它以进行测试。我删除了分号,它仍然会产生相同的错误。您的代码在netbeans中工作吗?@Petay87我的意思是使用netbeans GUI??是的-我正在使用netbeans创建application@Petay87无法帮助您。您能在聊天室“”中与我会面吗?我在这方面取得了一些进展。这只是使用嵌入式驱动程序连接时的一个问题。我还注意到,数据库似乎正在创建,但它正在放在包的根目录中,如果不是在“dist”中的话文件夹?很抱歉,您的答案是错误的。这是db安装路径的问题。请注意,您的netbeans仍然连接到上一个表,而没有再次创建它。实际上,您正在创建一个新表。我理解问题所在。您的netbeans中的java db路径和您正在运行的程序都是d我认为为了让你的程序运行,你可能会再次在db url后面加上“create=true”。这意味着如果数据库不存在,则创建新数据库。这样,netbeans中显示的数据库与您的程序使用的数据库完全不同。我将编辑我的答案,因为我发现问题在于永久文件设置了错误的连接。
DriverManager.getConnection("jdbc:derby:datahold");