java - Tomcat、Java 和 SQL Server 2008 R2 : Cannot create JDBC driver of class '' for connect URL 'null'

标签 java sql-server-2008 jdbc

我正在使用 Tomcat 和 Java(通过 Eclipse)以及 SQL Server 2008 R2

我正在获取

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of 
class '' for connect URL 'null'

我还尝试部署到 Tomcat 7,但得到了完全相同的错误。 (我确保在这种情况下sqljdbc4.jar位于Tomcat的lib目录中,而不仅仅是在WAR中)

有人可以帮忙吗?谢谢!

我的代码如下:

Server.xml

<GlobalNamingResources>
<Resource type="javax.sql.DataSource" auth="Container"
        name="jdbc/charmDB"
        factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
        driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
        url="jdbc:sqlserver://localhost:1433;databaseName=CH;
        integratedSecurity=true"
        />

Web.xml

<resource-ref>
  <description>CH Database</description>
  <res-ref-name>jdbc/charmDB</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref> 

Java代码

InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("java:comp/env/jdbc/charmDB");
Connection con = ds.getConnection();

最佳答案

除非您 link them to the application's context,否则您的 Web 应用程序将无法看到 GlobalNamingResources 中声明的资源。

否则,您可以在 default context or the web application's context. 中定义资源

关于java - Tomcat、Java 和 SQL Server 2008 R2 : Cannot create JDBC driver of class '' for connect URL 'null' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9216283/

相关文章:

java - 有没有办法使用其名称查找外部 CDI bean 或 EJB session ?

c# - 为什么 SMO 脚本程序不生成外键 header ?

java - 当我单击“保存”时,数据没有更新到数据库

java - JDBC mysql 连接在 Win8 上比 Ubuntu14 慢得多

java - 使用 JDBC 调用自定义类型输入参数的 PL/SQL 存储过程,所有字段均为 null

java - 对 LinkedList 中 ListIterator 的 add() 方法感到困惑

java - Android : final local variable vs local variable 中的性能或优化

java - 当输入无效时禁用 JFace-InputDialog 的 OK 按钮

sql-server-2008 - 还原SQL Server数据库-主 key 未打开

sql-server - 检查输入参数是否为 Null 并在 SQL Server 中的位置使用它