无法从 Spring 应用程序连接到 mssql 服务器
Posted
技术标签:
【中文标题】无法从 Spring 应用程序连接到 mssql 服务器【英文标题】:Not able to connect to mssql server from spring application 【发布时间】:2017-04-25 07:12:05 【问题描述】:我有一个连接到 MS SQL Server 的 spring 应用程序, 我在 pom.xml 中添加了以下依赖项,
<!-- ms sqlserver dependency -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>
并为数据源提供以下 db 参数,
username: uname
password: pwd
url: jdbc:sqlserver://sample.pewtest.com;databaseName=CommonTest.TestDB
driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
该应用程序使用 intellij 在我的本地环境中运行良好。但是当我构建 testApp.war 并在我的 tomcat 上部署应用程序时,我得到了以下异常,
获取所有样本时发生错误 org.springframework.jdbc.CannotGetJdbcConnectionException:无法获取 JDBC 连接;嵌套异常是 java.sql.SQLException:没有为 jdbc:sqlserver://sample.pewtest.com;databaseName=CommonTest.TestDB 找到合适的驱动程序
非常感谢您对此的任何帮助!
【问题讨论】:
确保你的 sqlserver jar 在你的类路径中 你在设置数据库名称吗?名称可能包含(点)CommonTest.TestDB
吗?
其实是我查询的一个视图
您的DataSource
设置如何?
我的 spring 配置中有一个 bean,可以处理这个
【参考方案1】:
我有一些建议给你
请检查您是否添加了 SQLServer 驱动程序 "Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");" 然后检查jar文件是否存在于“maven依赖库”中。还要检查jar文件的版本或尝试升级它。
【讨论】:
我们能否停止使用Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
来“加载不再需要的 jdbc 驱动程序”... JDBC4 驱动程序自己注册... 这样做甚至可能会引入类加载/强制转换问题。 以上是关于无法从 Spring 应用程序连接到 mssql 服务器的主要内容,如果未能解决你的问题,请参考以下文章
无法从 MYSQL Workbench 6.3 CE 连接到 MS SQL 服务器 [重复]
无法使用 PHP 和 Codeigniter 从 PHP Azure 连接到 SQL Server Azure
Apache / WSGI 和 PHP 突然无法连接到 MSSQL 服务器——站点宕机
Android - 关于使用 jdbc 连接到 MSSQL 的 classnotfound
如果我们保持空闲一段时间,则在连接到 Azure MSSQL DB 时,Spring Boot 应用程序中的数据库连接将关闭