sqljdbc.jar (JDBC 1.2) 連接 SQL Server 2005 正常。java.lang.ExceptionInInitializerError(JDBC 初始化失敗)。Domino 7 內建 JVM 版本較舊,可能不完全相容 Microsoft JDBC Driver 1.2(官方聲明支援 JRE 1.4+)。懷疑類別載入器衝突或安全管理員限制。
import lotus.domino.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
TestSQL t = new TestSQL();
t.WriteLog("aaa","bbb");
}
}
public class TestSQL {
public int WriteLog(String unid, String strOperator, String strOperation) {
String url = "jdbc:sqlserver://192.168.1.2:1433;databaseName=test;user=sa;password=passWord";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection(url);
// ... 查詢邏輯
}
}
sqljdbc.jar 放入 Domino jvm/lib/ext 或透過 Notes.ini JavaUserClassesExt 指定獨立路徑,避免與 Domino 內建類別衝突。java -version),若低於 1.4 需升級 Domino 或降級驅動。jtds.jar 相容性較佳,連線字串:jdbc:jtds:sqlserver://host:1433/db。sun.jdbc.odbc.JdbcOdbcDriver 繞過純 Java 驅動問題(效能較差)。java.policy 授予 java.net.SocketPermission、java.sql.SQLPermission。多位開發者確認:Domino 7 + SQL Server 2005 純 Java JDBC 穩定性較差,生產環境多改用 jTDS 或中介 Web Service 方式繞過。