查询oracle列表时遇到的奇怪问题

本文介绍了一个在尝试通过Java代码连接Oracle数据库时遇到的异常问题,包括详细的错误信息和已尝试的解决方案,寻求社区帮助。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[/code]做项目中遇到一个很奇怪的问题。
同一部分内容。需要查询某一个外部指定用户密码的oracle的指定表的记录。

[code="java"]public static List getDbConnByDbID(EntityDAO dao,String strdbid)throws Exception{
Connection conn=null;
List ls = new ArrayList();
DbSource db = (DbSource)DbSource.getDbSourceBydbid(dao,strdbid);
if (db != null) {
String DbSourceName = CommonTools.getStrToGb2312(db.getM_strDbSourceName());//数据源名字
String DbSID = CommonTools.getStrToGb2312(db.getM_strDbSid());//数据服务器名字
String DbDataType = CommonTools.getStrToGb2312(db.getM_strDbType());//数据库类型
String DbDatabaseHost = CommonTools.getStrToGb2312(db.getM_strDbHost());//数据库服务器地址
String DbDatabasePort = CommonTools.getStrToGb2312(db.getM_strDbPort());//数据库端口.
String DbUserName = CommonTools.getStrToGb2312(db.getM_strDbUserName());//用户名
String DbPassword = CommonTools.getStrToGb2312(db.getM_strDbPassword());//密码

if (DbDataType.equals("Oracle")) {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url = "jdbc:oracle:thin:@" + DbDatabaseHost + ":" + DbDatabasePort + ":" + DbSID;
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
conn = DriverManager.getConnection(url, DbUserName, DbPassword);
if (conn != null) {
ls = getAllTables(conn);
} else {
System.out.print("无Oracle数据库连接");
}

}

if(DbDataType.equals("SqlServer2005")){
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String URL = "jdbc:sqlserver://"+DbDatabaseHost+":"+DbDatabasePort+";DatabaseName="+DbSID;
conn = DriverManager.getConnection(URL, DbUserName, DbPassword);
if (conn != null) {
ls = getAllTables(conn);
}else {
System.out.print("无SqlServer2005数据库连接");
}


}

if(DbDataType.equals("SqlServer2000")){
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String URL = "jdbc:sqlserver://"+DbDatabaseHost+":"+DbDatabasePort+";DatabaseName="+DbSID;
conn = DriverManager.getConnection(URL, DbUserName, DbPassword);
if (conn != null) {
ls = getAllTables(conn);
}else {
System.out.print("无SqlServer2000数据库连接");
}


}

if(DbDataType.equals("MySql")){

String url = "jdbc:mysql://"+DbDatabaseHost+":"+DbDatabasePort+"/"+DbSID;
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,DbUserName,DbPassword);
if (conn != null) {
ls = getAllTables(conn);
}else {
System.out.print("无MySql数据库连接");
}
}

}

return ls;



}


调试的过程中,在conn = DriverManager.getConnection(url, DbUserName, DbPassword);

的时候就错误提示了。

错误提示如下:
ava.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:439)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at com.catalogEx.dbmanage.action.DataSource.DbSourceQueryTables.getDbConnByDbID(DbSourceQueryTables.java:85)
at com.catalogEx.dbmanage.action.DataSource.DbSourceQueryTables.catalogExec(DbSourceQueryTables.java:45)
at com.catalogEx.dbmanage.action.ActionService.performAction(ActionService.java:50)
at com.catalogEx.dbmanage.service.DbManageService.service(DbManageService.java:93)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)
at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:96)
at com.caucho.server.http.Invocation.service(Invocation.java:315)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:246)
at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:164)
at com.caucho.server.TcpConnection.run(TcpConnection.java:139)
at java.lang.Thread.run(Thread.java:595)

可我本地用plusql是可以打开的。 表也是可以看到的。
jar包也是都有的。

想让大家帮忙看下哪里有问题。
另外说下,我之前用的是2000系统这代码实际上是运行过一段时间的。都是正常的。
最近因为要新加功能,机器又中了度换了个2003就成这了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值