Tôi đã thử mọi thứ tôi có thể tìm thấy ở đó, nếu ai đó có thể giúp tôi, tôi sẽ mãi mãi biết ơn (và nhiều hơn nữa miễn phí trong thời gian của tôi).Không thể tạo trình điều khiển JDBC của lớp '' cho URL kết nối 'null': Trình điều khiển JDBC của Tomcat & SQL Server
Về cơ bản, tôi có một lỗi trong Tomcat 7.0 (cả khi chạy trong Eclipse và qua startup.bat) mà nói điều này một lần dữ liệu bắt đầu được truy cập bằng ứng dụng web động của tôi:
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)
Tôi có tệp sqljdbc4.jar trong thư mục tomcat \ lib của tôi. Tôi cũng đã thử đặt này trong WEB-INF/lib của tôi, và thậm chí cả thư mục lib JDK của tôi. Tôi không nghĩ rằng sqljdbc.jar sẽ làm việc, vì nó dành cho các cài đặt JDK/JRE cũ hơn của tôi.
Tôi đã nghe các tệp context.xml và web.xml rất quan trọng trong việc làm việc này.
đoạn 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 tab
<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"/>
Bối cảnh không có một tab đóng cửa, cuối cùng.
Vui lòng trợ giúp! Nếu bạn cần thêm thông tin, vui lòng cho tôi biết. Ngoài ra, tôi không chắc chắn context.xml nào nên được sửa đổi, có 2 trong thư mục Tomcat, một trong thư mục/conf và một trong thư mục webapps/appname/META-INF. Xin lỗi nếu nó có vẻ như tôi là một chút của một tân binh, đó là bởi vì tôi!
Ngoài ra, tôi đã thấy nhiều ví dụ khác nhau về phần url = "..." của context.xml, một số bao gồm cả số cổng. Tôi đã thử nhiều thứ trên mạng, nhưng không có gì có hiệu quả (không giúp gì trực tuyến là môi trường dữ liệu chính xác của tôi, tôi cũng cho rằng ứng dụng này sẽ truy vấn hai DB khác nhau vào những thời điểm nhất định).
Suy nghĩ?
Cảm ơn rất nhiều về việc làm rõ này, tôi cũng đã nghe rất nhiều thứ trực tuyến với server.xml và sử dụng tài nguyên toàn cầu, các vấn đề context.xml, v.v. có thể gây nhầm lẫn cho người mới đến. Tôi đặt cược điều này sẽ giúp tôi giải quyết vấn đề của mình. – aohm1989
FYI, chuyển sang trình điều khiển SQL Server JTDS và việc sử dụng lớp JDBC URL/trình điều khiển dường như đã hoạt động. Tôi không thể chắc chắn, nhưng có vẻ như các lỗi đã biến mất! Nó chỉ ra ứng dụng web này có một số vấn đề khác mà không liên quan đến điều này tôi nghĩ, nhưng điều này vẫn giúp một tấn cho mục đích của riêng tôi. Cảm ơn nhiều. – aohm1989