做项目中遇到一个很奇怪的问题。
同一部分内容。需要查询某一个外部指定用户密码的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")) {
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就成这了。
分享到:
相关推荐
在本机测试中,遇到一个奇怪的问题,即直连本机好用,直连远程服务器不好使了。后来发现,是因为远程数据库的监听服务没有配置所致。解决方法是,需要配置远程数据库的监听服务,并使用 sqlplus 等工具测试监听服务...
总结来说,本文讨论了在配置Oracle Dataguard时遇到的特定问题,特别是涉及到不同版本的Linux操作系统、filesystemmio_options参数以及内核bug对数据库运行的影响。解决这些问题需要深入理解Oracle数据库的工作原理...
然而,有时用户可能会遇到一个奇怪的现象:查询V$ARCHIVED_LOG视图时,发现归档日志的文件名称为空。这可能是由于多种原因造成的,尤其是在使用ASM(Automatic Storage Management)作为存储解决方案的Oracle RAC...
这种纠结啊,在这里先说下遇到的问题:1。数据库的表结构问题:数据类型不同需要解决varchar2——varchar、number—–int、date—-datetime,建表的sql语句字段默认值、注释怎么解决。2. oracle中没有所谓的敏感字段...
在使用Oracle数据库时,我们可能会遇到各种连接问题和终端显示异常。本文主要针对"Oracle数据库使用sqlplus时的连接错误与方向键乱码解决"这一主题进行深入解析。 首先,让我们来看看连接错误。错误提示“ORA-12505...
标题中提到的“cisco sdm奇怪故障”很可能是指SDM在启动或操作时出现异常,如“sdm loading please wait”这种情况,表示SDM正在尝试加载但未能完成初始化,或者用户试图访问某些菜单时出现问题。描述中指出,这类...
在使用SQL*Plus时,有时会遇到输入方向键或其他特殊字符导致乱码的问题,这通常是由于终端不支持或者缺少特定库文件导致的。本压缩包“解决sqlplus删除方向键等动作乱码.rar”提供了针对这个问题的解决方案,适用于...
如果传统合同存在问题或错误,当事人可以在事件发生之前表示质疑,但遇到智能合同即使遇到错误,也会被执行。 智能合约应用实例全文共5页,当前为第4页。这些关键问题让企业对调整智能合约感到不安。然而,包括我...
3. **插件冲突**:如果遇到奇怪的问题,尝试禁用部分插件看是否能解决问题。 4. **界面卡顿**:调整显示设置,降低UI元素复杂度。 5. **更新失败**:检查网络连接状态,或者手动下载更新文件进行安装。 通过上述...
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获...