虽然构建路径不正确,但我从堆栈跟踪中获取了“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/