java - JDBC 未连接

标签 java tomcat jdbc

虽然构建路径不正确,但我从堆栈跟踪中获取了“com.microsoft.sqlserver.jdbc.SQLServerDriver”。由于它们构建正确,我得到了我的打印声明“已成功连接”。 JDBC 作为一种方法存在于 web 服务的 getter/setter 中。

当我将 JDBC 内容放在没有构建的自己的文件中并作为 java 应用程序运行时,我收到:“com.microsoft.sqlserver.jdbc.SQLServerDriver”

当我将 JDBC 内容放入其自己的文件中并构建并作为 Java 应用程序运行时,我收到:“成功连接”

当该方法作为 Java 应用程序从测试文件调用时,我收到:“已成功连接” 例如:

   public static void main(String[] args) {
            insert.main(args);

当该方法作为 PO 上的 java 应用程序运行时,我收到:“已成功连接”

当我将要调用的方法放在 setter 下时(客户端将调用该方法,这将导致调用 jdbc),我收到:“com.microsoft.sqlserver.jdbc.SQLServerDriver”

你能给我一些建议吗?我不知道为什么它可以在作为应用程序调用而不是通过客户端调用时工作?

public class insert{
public static void main(String[] args) {
    Connection con = null;
    Statement st = null;
    final String DB_URL = "jdbc:jtds:sqlserver://00.00.00.00:0000/DB";
    // Database credentials
    final String USER = "usrname";
    final String PASS = "pw";

    try {   
       Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
       con = DriverManager.getConnection(DB_URL, USER, PASS);
       st = con.createStatement();

       System.out.println("successfully connected!");
    } catch (Exception err) {
       System.out.println(" " + err.getMessage ());
    }
    finally {
       try {
          con.close();
       } catch (Exception e) { /* ignored */ }
          try { 
             st.close(); 
          } catch (Exception e) { 
             /* ignored */ 
          }
       }
    }
}

在这一点上的任何提示将不胜感激。

最佳答案

问题是您的 jar 缺少提供 com.microsoft.sqlserver.jdbc.SQLServerDriver 类和其他与您的 SQL 服务器通信的必要库。当从 tomcat 执行时,您必须确保库已加载并且可用。只需复制您的库并将其放入 %TOMCAT_INSTALL%/lib 文件夹,其中 %TOMCAT_INSTALL% 是安装 tomcat 的文件夹,因此该库将可用于每个项目(war、jar 等) ) 在您的 tomcat 安装中运行。

关于java - JDBC 未连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25087615/

相关文章:

java - Tomcat 不拾取类文件 - 不显示 JSP 文件

mysql - 启动tomcat时 Sonar SQLException

java - 我怎么知道 10385274000 是否适合 : NUMBER(10) for Oracle?

java - 使用 DecimalFormat 将 double 格式化为 String 会抛出 IllegalArgumentException

java - 使用 Struts2 Dojo 插件在 Struts 2 中加载 Ajax 内容

Java 嵌入式静态接口(interface)

java - Spring-Hibernate 应用程序中的 Whitelabel 错误页面

session - 访问我的 Axis2 Web 服务时 Chrome 丢失 session

java - 了解 Oracle JDBC 驱动程序中的 defaultRowPrefetch 和 defaultBatchValue

java - hsqldb 在备份恢复后没有变化直到重新启动