jsp使用数据源连接数据库,出现 Cannot create resource instance

发布于 2022-09-02 15:46:15 字数 1193 浏览 8 评论 0

错误原因:javax.naming.NamingException: Cannot create resource instance
使用数据源java代码如下:

                    Context ctx = new InitialContext();
                    DataSource ds  = (DataSource)ctx.lookup("java:comp/env/jdbc/BookDB");
                    con = ds.getConnection();

tomcat中 context.xml 配置如下:

<Context reloadable = "ture" >
    <Resource name = "jdbc/BookDB" auth = "Container" type = "javax.sql.DataSource"
        maxActive = "100" maxIdle = "30" maxWait = "10000"
        username = "sa" password = "truman"
        driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
        url = "jdbc:sqlserver://localhost:1433;DatabaseName=BookDB"/>
</Context>

web.xml 配置如下:

  <web-app>
    <resource-ref>
        <description>DB Connection</description>
        <res-ref-name>jdbc/BookDB</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
  </web-app>

之前直接用加载注册驱动的方式,可以成功;对于数据源连接,我已经检查多遍,但实在找不到原因,还请各位大神帮忙看看,实在感激!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

终难愈 2022-09-09 15:46:15

你看下这:http://stackoverflow.com/questions/10789683/creating-jndi-java-bean-error

大概说的是将Context标签内容要包含到server.xml中,不知道对你可行不。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文