Tomcat, Java и SQL Server 2008 R2: невозможно создать драйвер JDBC класса '' для URL-адреса подключения 'null' - PullRequest
0 голосов
/ 09 февраля 2012

Я использую 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 находится в каталоге lib Tomcat, а не просто в 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();

Ответы [ 2 ]

2 голосов
/ 11 февраля 2012

Ресурсы, объявленные в GlobalNamingResources, не будут видны вашему веб-приложению, если вы не свяжете их с контекстом приложения .

В противном случае вы можете определить ресурс в контексте по умолчанию или в контексте веб-приложения.

0 голосов
/ 16 апреля 2015

Я пробовал выше.Просто хотел добавить также.Вы также можете добавить в server.xml, но убедитесь, что вы не используете Resource-Params.Поместите параметры только в элемент ресурса.Если вы используете Linux, убедитесь, что sqlodbc4.jar находится в каталоге tomcat / lib в папке / usr / share.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...