Intereting Posts
Запрос для получения родительских записей с дочерней записью, за которыми следуют следующие записи родительского-дочернего в mysql Использование Excel VBA для экспорта данных в таблицу MS Access Запрос замедления индекса MySQL Sybase: возможно ли установить ошибку @@ Выбор строк, где остаток (по модулю) равен 1 после деления на 2? Что возвращает executeQuery (String sql), когда результатов нет? Сделать SQL Выберите одну и ту же строку несколько раз SQL UPDATE порядок оценки Получение имени входа Windows с сервера Проблема SQL: вычисление процентов и использование нескольких соединений в одной таблице Запрос Postgresql для подсчета количества месяцев в течение одного года Как выбрать строки, отличные от test_id с максимальной меткой времени и результатом Запрос SQL для получения распределения значений полей SELECT возвращает несколько строк в виде строки Подключение к первой записи

Невозможно создать JDBC-драйвер класса '' для подключения URL-адреса 'null': драйвер Tomcat & SQL Server JDBC

Я пробовал все, что я могу найти там, если кто-то сможет мне помочь, я буду бесконечно благодарен (и намного больше свободного в свое время).

В основном, у меня есть ошибка в Tomcat 7.0 (как при запуске в Eclipse, так и через startup.bat), который говорит об этом, как только данные начинают получать мои динамические веб-приложения:

Cannot create JDBC driver of class '' for connect URL 'null' java.lang.NullPointerException at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:507) at sun.jdbc.odbc.JdbcOdbcDriver.knownURL(JdbcOdbcDriver.java:476) at sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(JdbcOdbcDriver.java:307) 

У меня есть файл sqljdbc4.jar в моем каталоге tomcat \ lib. Я также попытался поместить это в свой WEB-INF / lib и даже в мои каталоги JDK lib. Я не думаю, что sqljdbc.jar будет работать, поскольку он предназначен для более старых JDK / JRE, чем мой.

Я слышал, что файлы context.xml и web.xml имеют решающее значение для работы.

web.xml фрагмент:

 <resource-ref> <description>LBI DB Connection</description> <res-ref-name>jdbc/LBIDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> <resource-ref> <description>OR DB Connection</description> <res-ref-name>jdbc/ORDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> 

context.xml

 <Context> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Resource name="jdbc/LBIDB" auth="Container" type="javax.sql.DataSource" username="***" password="***" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver:localhost;DatabaseName=YYBackOffice;SelectMethod=cursor;" maxActive="8" maxIdle="4"/> <Resource name="jdbc/ORDB" auth="Container" type="javax.sql.DataSource" username="***" password="***" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver:localhost;DatabaseName=XXBackOffice;SelectMethod=cursor;" maxActive="8" maxIdle="4"/> 

В конце вкладка «Контекст» имеет закрытие.

Пожалуйста помоги! Если вам нужна дополнительная информация, пожалуйста, дайте мне знать. Кроме того, я не уверен, какой файл context.xml должен быть изменен, в каталогах Tomcat есть 2, один в папке / conf и один в папке webapps / appname / META-INF. Извините, если это звучит так, будто я немного новобранец, это потому, что я!

Кроме того, я видел много разных примеров URL = "…" часть context.xml, некоторые из которых включают номера портов. Я пробовал несколько вещей в Интернете, но ничего не работает (ничего не помогает в сети – это моя точная среда данных, также я полагаю, что это сложная задача, что это приложение запрашивает два разных БД в заданное время).

Мысли?

    1. context.xml в папке META-INF вашего веб-приложения будет иметь приоритет над тем, который находится в каталоге / conf, что на самом деле является просто стандартным значением по умолчанию.

    2. Драйвер JTDS SQL Server с открытым исходным кодом намного лучше, чем Microsoft. Если нет основополагающей причины, используйте его вместо этого. Единственная причина поместить его в вашу папку tomcat / lib – если вы объявляете GlobalNamingResource для базы данных в вашем server.xml, в противном случае вы можете просто поместить ее в папку вашего приложения / lib.

    3. URL JDBC для JTDS: jdbc:jtds:sqlserver://hostname/databasename

    4. Класс драйвера подключения для JTDS: net.sourceforge.jtds.jdbc.Driver

    В tomcat 6.0.36 это совсем наоборот:

    CATALINA_HOME/conf/Catalina/your_host/context.xml

    будет принимать предрасположенность к

    YourApplication/WebContent/META-INF/

    После ввода данных после фрагмента внутри Context-Tag в Catalina/your_host он работал в моем случае:

     <WatchedResource>WEB-INF/web.xml</WatchedResource> <Resource name="jdbc/your_db" auth="Container" type="javax.sql.DataSource" maxActive="50" maxIdle="30" maxWait="10000" username="your_usr" password="your_pwd" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://your_host:3306/your_db"/> 

    См. Документацию Tomcat на http://tomcat.apache.org/tomcat-6.0-doc/config/context.html.