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

问题描述

做项目中遇到一个很奇怪的问题。 同一部分内容。需要查询某一个外部指定用户密码的oracle的指定表的记录。 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")) { 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 connectionat 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就成这了。   我重新编辑了后错误提示为he Network Adapter could not establish the connection 真的是问题补充:后来我把代码弄成了一个简单的测试程序try{  Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@172.16.1.99:1251:chen", "dbmanage", "dbmanage");}catch(Exception ex){Logger.info("ex="+ex.getMessage());}提示错误为:Io 异常: The Network Adapter could not establish the connection

解决方案

端口默认是1521吧,不是1251
解决方案二:
升级一下oracle驱动呢
解决方案三:
是否需要更新jdbc的驱动 ??

时间: 2024-10-28 23:33:42

查询oracle列表时遇到的奇怪问题的相关文章

如何在查询oracle列表中使用PRIOR操作

对于树形查询中的PRIOR操作,一般都是用在CONNECT BY语句中,而这个PRIOR操作其实在SELECT的字段列表中也是可以使用的. 看一个简单的例子: SQL> create table t (id number, parent_id number, name varchar2(30)); Table created. SQL> insert into t values (1, null, 'a'); 1 row created. SQL> insert into t value

java代码-java查询oracle的表时出错,不知道什么原因,求救~~~~~~·

问题描述 java查询oracle的表时出错,不知道什么原因,求救~~~~~~· public static void main(String[] args) { Connection ct=null; PreparedStatement ps=null; ResultSet rs=null; try{ Class.forName("oracle.jdbc.driver.OracleDriver"); ct=DriverManager.getConnection("jdbc:

JSP连接ORACLE数据库时注意的一些问题

js|oracle|数据|数据库|问题 一.如何去处理Clob.BLOB的大类型 CLOB可用于存放大文本数据,最多可存储4GB数据,在应用开发中比较常见.java提供的sql.Clob类与之对应.它提供两个方法来读取Clob的数据: getCharacterStream() 方法返回按unicode编码的输入流(java.io.Reader对象) getAsciiStream() 方法返回按ASCII编码的输入流(java.io.InputStream对象) 所以如果你的数据库中有可能存储中文

阿里云如何使用查询 HaVip 列表接口

查询 HaVip 列表 描述 查询 HA VIP 列表.支持分页,支持多个查询过滤器的组合. 说明: 关于查询过滤器: 过滤器用来增加查询的过滤条件. 查询最多可指定 5 个过滤器.多个过滤器之间的过滤效果为 and 逻辑关系,即:返回结果中只会返回符合所有过滤条件的结果. 当前Filter支持: VpcId VSwitchId Status HaVipId HaVipAddress 其中,Status的可选值为Available | Associating | InUse | Unassoci

阿里云如何使用查询路由表列表接口

查询路由表列表 描述 支持查询专有网络中的路由器(VRouter)和高速通道中的边界路由器(VBR)上的路由表(RouteTable) 查询用户名下路由表的列表.此接口支持分页查询,每页的数量默认为10条.该接口只会校验参数的合法性,不会校验参数之间的依赖关系,返回结果是所有条件的"交集". 请求参数 名称 类型 是否必须 描述 Action String 是 系统规定参数,取值:DescribeRouteTables RouterType String 否 所属的路由器类型.可选值:

阿里云如何使用查询交换机列表接口

查询交换机列表 描述 查询用户的 VSwitch 列表.此接口支持分页查询,每页的数量默认为 10 条. 该接口只会校验参数的合法性,不会校验参数之间的依赖关系,返回结果是所有条件的"交集". 请求参数 名称 类型 是否必须 描述 Action String 是 系统规定参数,取值:DescribeVSwitches VpcId String 是 VpcId VSwitchId String 否 需要查询的 VSwitch 的 Id ZoneId String 否 可用区 Id IsD

阿里云如何使用查询路由器列表接口

查询路由器列表 描述 查询指定地域的路由器列表.此接口支持分页查询,每页的数量默认为 10 条. 请求参数 名称 类型 是否必须 描述 Action String 是 系统规定参数,取值:DescribeVRouters VRouterId String 否 需要查询的 VRouter 的 Id RegionId String 是 查询指定地域的 VRouter PageNumber Integer 否 实例状态列表的页码,起始值为 1,默认值为 1 PageSize Integer 否 分页查

阿里云如何使用查询专有网络列表接口

查询专有网络列表 描述 查询指定地域的专有网络列表.此接口支持分页查询,每页的数量默认为 10 条. 该接口只会校验参数的合法性,不会校验参数之间的依赖关系,返回结果是所有条件的"交集". 请求参数 名称 类型 是否必须 描述 Action String 是 系统规定参数,取值:DescribeVpcs VpcId String 否 需要查询的 Vpc 的 Id RegionId String 是 查询指定地域的 VPC IsDefault Boolean 否 是否为指定Region下

阿里云如何使用查询实例列表接口

查询实例列表 描述 查询所有实例的详细信息. 此接口不会校验参数之间的依赖关系,返回结果是所有条件的"交集". 如果参数为空,则过滤器不起作用,但是 InstanceIds 如果是一个空 Json Array(即[]),则视为该过滤器有效,且返回空. 请求参数 名称 类型 是否必须 描述 Action String 是 系统规定参数,取值:DescribeInstances RegionId String 是 地域 VpcId String 否 专有网络 Id VSwitchId St