当我尝试连接oracle数据库时,我遇到以下错误,而我已成功通过lotusscript代理中的LCConnection类连接到该数据库
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: before connection:::::
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: inside dobi
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: inside dobi 2
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: java.sql.SQLException: Listener refused the connection with the following error:
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: The Connection descriptor used by the client was:
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: 10.12.14.139:1510:hst
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:280)
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:319)
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:344)
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:148)
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: at java.sql.DriverManager.getConnection(DriverManager.java:419)
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: at java.sql.DriverManager.getConnection(DriverManager.java:467)
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: at JavaAgent.getConnection(Unknown Source)
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: at JavaAgent.NotesMain(Unknown Source)
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: at lotus.domino.AgentBase.runNotes(Unknown Source)
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: at lotus.domino.NotesThread.run(Unknown Source)
[13C0:0499-11BC] 01/22/2016 06:18:09 PM HTTP JVM: after connection:::::
[13C0:049A-11BC] 01/22/2016 06:18:09 PM HTTP JVM: Exception in thread "AgentThread: JavaAgent"
[13C0:049B-11BC] 01/22/2016 06:18:09 PM HTTP JVM: java.lang.NullPointerException
[13C0:049D-11BC] 01/22/2016 06:18:09 PM HTTP JVM: at JavaAgent.NotesMain(Unknown Source)
[13C0:049F-11BC] 01/22/2016 06:18:09 PM HTTP JVM: at lotus.domino.AgentBase.runNotes(Unknown Source)
[13C0:04A1-11BC] 01/22/2016 06:18:09 PM HTTP JVM: at lotus.domino.NotesThread.run(Unknown Source)
我在这里错过了什么。我正在使用ojdbc14.jar并将其放置在java构建路径中以及莲花笔记的路径C:\Lotus\Domino\jvm\lib\ext
中。请帮助我。
我在lotus java agent中使用以下代码:
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import lotus.domino.*;
public class JavaAgent extends AgentBase {
private static final String DB_DRIVER_CLASS = "oracle.jdbc.driver.OracleDriver";
private static final String DB_URL = "jdbc:oracle:thin:@10.12.14.139:1510:hst";
private static final String DB_USERNAME = "usname";
private static final String DB_PASSWORD = "password";
public static Connection getConnection() {
Connection con = null;
try {
System.out.println("inside dobi");
// load the Driver Class
Class.forName(DB_DRIVER_CLASS);
System.out.println("inside dobi 2");
// create the connection now
con = DriverManager.getConnection(DB_URL,DB_USERNAME,DB_PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
public void NotesMain() {
Connection con = null;
CallableStatement stmt = null;
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
System.out.println("before connection:::::");
con = JavaAgent.getConnection();
System.out.println("after connection:::::");
//stmt = con.prepareCall("{call insertEmployee(?,)}");
} catch(Exception e) {
e.printStackTrace();
}finally{
try {
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}