虽然构建路径不正确,但我从堆栈跟踪中获取“com.microsoft.sqlserver.jdbc.SQLServerDriver”。由于它们构建正确,我获得了我的打印声明“成功连接”。 JDBC作为一种方法存在于webservice的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 */
}
}
}
}
此时的任何提示都将非常感谢。
答案 0 :(得分:1)
问题是你的jar错过了提供com.microsoft.sqlserver.jdbc.SQLServerDriver
类和其他人与SQL服务器通信的必要库。从tomcat执行时,您必须确保库已加载并可用。只需复制您的库并将其放在%TOMCAT_INSTALL%/lib
文件夹中,其中%TOMCAT_INSTALL%是安装tomcat的文件夹,因此该库可用于在tomcat安装中运行的每个项目(war,jar等)