Tomcat 连接到 SQL 服务器
Posted
技术标签:
【中文标题】Tomcat 连接到 SQL 服务器【英文标题】:Tomcat connection to SQL server 【发布时间】:2018-11-20 16:19:30 【问题描述】:我将 SQL 服务器及其驱动程序连接到我的 Dynamic Web 项目。我创建了一个成功连接到我的数据库的测试类(不是网站的一部分)。
但是,当我尝试连接到我网站中的数据库(实际上是在一个 java servlet 中)并在我的服务器/Apache Tomcat 上运行它时,我得到了异常:
找不到类
我不明白为什么会这样。我的服务器正在工作,并且数据库连接在常规的 java 类中工作。在 (Tomcat) Web 服务器上使用 SQL 服务器时,我是否需要设置其他内容?
任何帮助将不胜感激!
【问题讨论】:
你这里用的是JNDI吗 Configure SQL Server connection pool on Tomcat的可能重复 【参考方案1】:我想您正在使用 JDBC 驱动程序从 servlet 连接到您的 SQLserver。
确保您已将 JDBC jar 文件复制到实际运行 servlet 的 Tomcat 应用程序中。确保您正在访问该 servlet,特别是从您的前端(网站)而不是另一个错误的 servlet,它的类路径中没有 JDBC 类:
jar 文件通常进入 webapps/your_app_name/WEB_INF/lib
您能否分享堆栈跟踪,您的代码在哪个类上被破坏?
【讨论】:
非常感谢。我想通了,我只需要将它作为资源添加到tomcat的xml文件中。【参考方案2】:如果您使用的是 Maven,那么您可能需要删除 <scope>
符号。我使用的是 eClipse、Maven、MSSql。我的 pom.xml 显示依赖项是灰色的并标记为测试。我删除了这条线,效果很好。
变化:
<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>7.1.4.jre8-preview</version>
<scope>test</scope>
</dependency>
到:
<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>7.1.4.jre8-preview</version>
</dependency>
【讨论】:
以上是关于Tomcat 连接到 SQL 服务器的主要内容,如果未能解决你的问题,请参考以下文章
Tomcat 未连接到 SQL Server Express
使用客户端凭据从 Tomcat 连接到 SQL Server
从 Tomcat servlet 连接到 HTTP 服务器时出现 AccessControlException