本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何使用 Glassfish 和 DataSource 访问 SQL 数据库

发布于2025-01-07 22:05     阅读(683)     评论(0)     点赞(5)     收藏(0)


我想连接到在 WAMP 上创建的数据库。这是我在 WAMP 上使用 SQL Buddy 创建的 SQL 数据库。

当我运行代码时它显示

SEVERE: javax.naming.NameAlreadyBoundException: Use rebind to override

我发现我应该使用 asadmin 命令来禁用 glassfish 上的 JNDI 命名,这个命令曾经起作用,但它再次显示相同的错误。

public Connection DbConnection(){

                        Connection con = null;
                        DataSource ds = new DataSource();
                        ds.setDatabaseName("mydatabase");
                        ds.setDescription("Authorization");
                        Context ctx = new InitialContext();
                        ctx.bind("jdbc/mydatabase", ds);
                        ds.getConnection("root", "");
                        return con;
}

public void myStatement(){

                   PreparedStatement pst;
                   Connection conn = DbConnection();   
                   conn.setAutoCommit(false);
                   pst = conn.prepareStatement("Select *" +
                                               " from Member WHERE Username = ? ");
                   pst.setString(1, username);
                   conn.commit();
                   pst.close();   
}

解决方案


函数 DbConnection() 返回 null,因为您没有返回任何值。您也没有创建任何 Connection 实例。如果您手动创建 DataSource,则无需将其绑定到 jndi。

如果您正在创建 DataSource,请从 DataSource 对象获取 Connection(通过其 getConnection() 方法)



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/694782/b88fcdaa093bdc66b228/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

5 0
收藏该文
已收藏

评论内容:(最多支持255个字符)