我的Tomcat(通过Eclipse运行)似乎无法加载SQL Server驱动程序lib:
java.lang.NullPointerException
java.lang.RuntimeException
at org.ktu.gdia.core.MainController.processFile(MainController.java:132)
at org.ktu.gdia.core.MainController.run(MainController.java:57)
java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://isd.ktu.lt:1433;DatabaseName=LN2012_bakDB2
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.apache.tomcat.dbcp.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:75)
at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
at org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1185)
at org.apache.tomcat.dbcp.dbcp.PoolingDriver.connect(PoolingDriver.java:180)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.ktu.gdia.database.DbActions.openConn(DbActions.java:64)
at org.ktu.gdia.core.MainController.processFile(MainController.java:134)
at org.ktu.gdia.core.MainController.run(MainController.java:57)
Exception in thread "Thread-2" java.lang.NullPointerException
at org.ktu.gdia.database.GenForestDatabase.personExists(GenForestDatabase.java:178)
at org.ktu.gdia.core.MainController.processFile(MainController.java:158)
at org.ktu.gdia.core.MainController.run(MainController.java:57)
sqljdbc.jar和sqljdb4.jar以及jtds-1.3.0.jar位于Tomcat / lib目录中。我正在使用Tomcat 7.是否有可能,Eclipse使Tomcat使用不同的lib目录,然后使用它应该使用的Tomcat 7中的目录?
答案 0 :(得分:1)
您不需要所有这些JAR,只需要您真正想要加载的JAR。它似乎是微软的驱动程序,而不是jTDS。
我不知道Eclipse在做什么,但是Tomcat希望从它的/ lib目录加载JDBC驱动程序JAR。
我不同意问题是无法加载驱动程序。 “没有合适的驱动程序”通常意味着连接字符串中的URL语法不正确。
你有
jdbc:microsoft:sqlserver://isd.ktu.lt:1433;DatabaseName=LN2012_bakDB2
This网址表示以下格式:
jdbc:sqlserver://host:1433;databaseName=dbNameHere;integratedSecurity=true;
如果网址似乎正确,我会开始检查其他内容:
isd.ktu.lt
吗?如果你不能看到服务器Java也不会。以下是成功连接到SQL Server的应用程序的配置:
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://host:port;databaseName=db"/>
答案 1 :(得分:0)
您的网址必须为jdbc:sqlserver://server:port;DatabaseName=yourDbName
和班级名称必须类似于com.microsoft.sqlserver.jdbc.SQLServerDriver
。您可以从here