2013-12-07 67 views
3

我有没有因为这个数据库错误如何解决:发现SQLSERVER没有合适的驱动程序://本地主机:1433;数据库名= XX

APPLICATION STARTUP FAILURE No suitable driver found for sqlserver://localhost:1433;DatabaseName=XX java.sql.SQLException: No suitable driver found for sqlserver://localhost:1433;DatabaseName=XX at java.sql.DriverManager.getConnection(DriverManager.java:602) at java.sql.DriverManager.getConnection(DriverManager.java:185) at artemispm.serverutil.ConnectionPool.newConnection(ConnectionPool.java:577) at artemispm.serverutil.ConnectionPool.manageConnections(ConnectionPool.java:470) at artemispm.serverutil.ConnectionPool.getPooledConnection(ConnectionPool.java:421) at artemispm.serverutil.ConnectionPool.getConnection(ConnectionPool.java:355) at artemispm.serverutil.ConnectionPool.getConnection(ConnectionPool.java:329) at artemispm.serverutil.AppMgr.getConnection(AppMgr.java:492) at artemispm.trjdbc.TRJConnection.(TRJConnection.java:46) at artemispm.trdo.TRBaseSql.getConnection(TRBaseSql.java:2903) at artemispm.service.TRDebugWriter.transmit(TRDebugWriter.java:105) at artemispm.trapplets.DataBroker.clockedTransmit(DataBroker.java:4969) at artemispm.trapplets.DataBroker.callService(DataBroker.java:3125) at artemispm.trapplets.DataBroker.callService(DataBroker.java:3103) at artemispm.trapplets.DataBroker.initTriton(DataBroker.java:325) at artemispm.trapplets.TRApplet.init(TRApplet.java:296) at sun.applet.AppletPanel.run(AppletPanel.java:425) at java.lang.Thread.run(Thread.java:662)

Build Version:?VERSION? productpm.trdo.TRSeriousException: No suitable driver found for sqlserver://localhost:1433;DatabaseName=XX at artemispm.trapplets.DataBroker.checkError(DataBroker.java:659) at artemispm.trapplets.DataBroker.callService(DataBroker.java:3129) at artemispm.trapplets.DataBroker.callService(DataBroker.java:3103) at artemispm.trapplets.DataBroker.initTriton(DataBroker.java:325) at artemispm.trapplets.TRApplet.init(TRApplet.java:296) at sun.applet.AppletPanel.run(AppletPanel.java:425) at java.lang.Thread.run(Thread.java:662)

我试图把 sqljdbc的运行庞大的Java项目的.jar sqljdbc4.jar 在%CATALINA_HOME & \ lib文件夹,但没有帮助

我不熟悉Java但希望有这方面的帮助。

编辑: 我的连接字符串在customer.properties文件中定义是这样的: APP.url = SQLSERVER://本地主机:1433;数据库名= XX

现在我将其改为: APP.url =的jdbc:SQLSERVER://本地主机:1433;数据库名= XX

,我有新的错误:

APPLICATION STARTUP FAILURE Java Runtime Environment (JRE) version 1.6 is not supported by this driver. Use the sqljdbc4.jar class library, which provides support for JDBC 4.0.

如何切换到新的驱动程序?

+0

尝试将sqljdbc.jar添加到项目的WEB-INF/lib中。 – LeonidasCZ

+1

是的,我已经把那个文件放在那里了。除了复制它以便安装SQL驱动程序之外,是否还需要执行其他操作? – Jalle

回答

6

您的网址应该是jdbc:sqlserver://server:port;DatabaseName=dbname

确定您输入的内容正确吗?

+1

,因为它说你必须删除sqljdbc.jar并只使用sqljdbc4.jar(不是两个) – jonasnas

+1

如果我只留下sqljdbc4.jar,那么我得到这个: 应用程序启动失败 转换日期和/或时间从字符转换失败串。 com.microsoft.sqlserver.jdbc.SQLServerException:从字符串中转换日期和/或时间时转换失败。 – Jalle

+0

我已经尝试了两种方法:在URL上添加“jdbc:”并添加sqljdbc。jar驱动程序,但没有帮助,同样的错误 – Jalle

1

从sqljdbc_4.0文档(http://technet.microsoft.com/en-us/library/ms378526(v=sql.110).aspx):

使用sqljdbc.jar类库,应用程序必须先注册的驱动程序如下: 的Class.forName( “com.microsoft.sqlserver.jdbc.SQLServerDriver” ); 加载驱动程序时,可以使用连接URL和DriverManager类的getConnection方法建立连接:

当调用DriverManager类的getConnection方法时,将从该集合中找到适当的驱动程序注册JDBC驱动程序。 sqljdbc4.jar文件包含“META-INF/services/java.sql.Driver”文件,其中包含com.microsoft.sqlserver.jdbc.SQLServerDriver作为注册驱动程序。当前使用Class.forName方法加载驱动程序的应用程序将继续工作而不进行修改。

3

我试过上面的答案,他们本身并没有帮助我。我不得不再尝试一些。

所以我尝试了别的。我将“sqljdbc4.jar”文件复制到“C:\ apache-tomcat-7.0.57 \ lib \”,然后将“sqljdbc4.jar”添加到我的项目库中。它修复了一切。

我希望这可以帮助那些仍然有麻烦。

相关问题