我无法使用以下代码段远程连接Oracle 11数据库。但是,如果我尝试连接安装在我的机器上的Oracle 9数据库,相同的代码工作正常。什么不见了 ?通过JDBC瘦驱动程序连接Oracle 11g时出现问题(Domino Java)
(我没有得到任何错误,Lotus Notes中挂起)
import lotus.domino.*;
import java.sql.*;
import oracle.jdbc.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
Database db = agentContext.getCurrentDatabase();
//Calling connection method
Connection conn= getOracleConnection(db);
if(conn!=null){
System.out.println("Connected..");
}
else {
System.out.println("There is a problem in connecting database..");
System.exit(0);
}
} catch(Exception e) {
e.printStackTrace();
System.exit(0);
}
}
private static Connection getOracleConnection(Database db) throws Exception {
// Register driver
DriverManager.registerDriver (new oracle.jdbc.OracleDriver());
//Retrieving connection string from profile document.
String host = "SPRPRG020.int.server.com";
String ip = "1521";
String user = "system";
String password = "password";
String sid = "XE";
String url="jdbc:oracle:thin:@"+host+":"+ip+":"+sid;
return DriverManager.getConnection(url, user, password);
}
}
如果您在调试器中逐步执行代码,您是否碰巧遇到执行挂起该线程的行? – 2010-08-26 09:51:53
@Vineet,无法这样做,代码冻结Lotus Notes。 – Rishi 2010-08-26 09:58:37
此外,我认为使用瘦驱动程序连接远程Oracle数据库没有任何问题。我怀疑连接字符串中的语法错误。 – Rishi 2010-08-26 10:02:58