Sql JDBC表/视图不存在
我试图创建一个简单的项目,只是为了显示数据库中的内容 因此,我在Netbeans的“服务”选项卡中创建了一个新数据库,创建了表并填充它们。然后我转到Sql JDBC表/视图不存在,sql,database,netbeans,jdbc,glassfish,Sql,Database,Netbeans,Jdbc,Glassfish,我试图创建一个简单的项目,只是为了显示数据库中的内容 因此,我在Netbeans的“服务”选项卡中创建了一个新数据库,创建了表并填充它们。然后我转到Glassfish管理面板,创建JDBC连接池和资源 游泳池: Pool Name : BDDPool Resource Type : javax.sql.ConnectionPoolDataSource Classname : org.apache.derby.jdbc.ClientDataSource40 资源:
Glassfish
管理面板,创建JDBC连接池
和资源
游泳池:
Pool Name : BDDPool
Resource Type : javax.sql.ConnectionPoolDataSource
Classname : org.apache.derby.jdbc.ClientDataSource40
资源:
JNDI Name : jdbc/BDD
Connection Pool : BDDPool
回到NetBeans上,我创建了一个简单的DAO文件,用于通过查询检索数据:
package model.ejb;
import java.sql.Connection;
import java.sql.ResultSet;
import javax.annotation.Resource;
import javax.ejb.Stateless;
import javax.sql.DataSource;
/**
*
* @author Choup
*/
@Stateless
public class BDDDAO {
@Resource(name = "jdbc/BDD")
private DataSource ds;
public void retrieveData(){
try{
Connection conn = ds.getConnection();
ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM STUDENT");
while( rs.next()){
System.out.println(rs.getString("Name"));
System.out.println(rs.getString("Address"));
}
conn.close();
}
catch(Exception e){
System.err.println(e.getMessage());
}
}
}
我运行了所有这些,以下是我得到的:
=>表/视图学生不存在
所以我搜索了一会儿,可能会有一个JDBCURL放在某个地方,但我没有那么多文件,只有一个glassfishweb.xml
顺便说一句:我可以在管理面板上ping数据库。如果您有任何建议或需要更多信息,请告诉我。您为数据源提供的登录名是否可以访问学生表?我不知道我的数据源是什么,但我知道学生表在数据库中没有任何保护,我还知道bdd的登录密码正确且有效。最后,我在一个示例中给出的一个预处理数据库上尝试了这个方法,但它不太起作用,所以它一定是代码和数据库之间的某个地方缺少链接,但我不知道这个错误会发生在哪里,因为有两个原因(据我所知)-1)表实际上不在那里。2) 用户无法访问表。第二个选项似乎是可能的,因此我要问的是,提供给数据源(jdbc/BDD)的用户凭据可以访问student表,对吗?是的,用户可以访问数据,在创建时,我为jdbc资源选择user属性事实上,因为我在这方面是新手,所以我甚至不确定数据库的类名和资源类型
Infos: Projet_Fitts was successfully deployed in 206 milliseconds.
Grave: La table/vue 'STUDENT' n'existe pas.