大家好,
我在 sql 驱动程序中遇到了一个非常“常见”的问题。但不知道如何解决。已经尝试了几乎所有的解决方案。
环境是:
-主要 JAR:这包含通过 Hibernate 进行的所有登录和数据库访问
-WebService WAR:这有 2 行代码,仅调用主体 JAR
-Jboss:在 Jboss AS 7.1 上运行 WebService
我的问题是:
启动服务器后,当我调用它的方法时,我收到以下错误:
20:39:20,948 WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http-localhost-127.0.0.1-8080-1) SQL Error: 0, SQLState: 08001
20:39:20,949 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http-localhost-127.0.0.1-8080-1) No suitable driver found for jdbc:sqlserver://localhost;databaseName=SIPAAM;
我的 JAR 也有一个测试类,如果我执行该类,则一切正常。它访问数据库并毫无问题地获取所有数据。但是当我在 WebService 上引用它时,它给出了这个错误。 还有我的 Persistence xml(位于 .JAR 项目中)
<小时/>
其他信息:
我的 WebService 代码:
@WebMethod
public List<DadosPreProcessamento> getDadosPreProcessamento()
{
DadosPreProcessamentoController dadosPreProcessamentoController = DadosPreProcessamentoController.getInstance();
return dadosPreProcessamentoController.getLista_dadosPreProcessamento();
}
我的 Hibernate 查询(JAR 内部):
Query listQuery = em.createQuery("select object(c) from "
+ entityClassName + " as c");
return listQuery.getResultList();
错误发生在 getResultList() 方法上。
<小时/>我已经尝试在我的 WS 项目中添加 sqljdbc4 库,如下图所示:
最佳答案
您还需要将 sqljdbc.jar 文件添加到类路径中。您可以通过单击包资源管理器中的 Java 资源并在包中查找该类来验证驱动程序是否在 jar 中。
关于java - 使用外部 jar 。找不到适用于 jdbc :sqlserver 的合适驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19260621/