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

如何使用 Netbeans 连接到远程 tomcat?

从 Tomcat servlet 连接到 HTTP 服务器时出现 AccessControlException

AWS EC2:从 tomcat 7 连接到 PostgreSQL

Tomcat正常启动却无法连接到localhost8080