我昨天还是在struts项目中使用了oracle9i 好好的,
今天上午开机,我启动了系统的防火墙,后来运行程序时,连接数据库连接不上,
到网上查了一下,说可能是防火墙的原因,我就把防火墙禁止了,还时候不行。
后台报的错误是:
java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection请问这是什么原因?难道是我BDE Administrator设定错了吗?
Configuration-〉Drivers-〉Native-〉oracle
里面的 dll32 是 SQLORA8.DLL,这个是正确的吗?因为我使用的是object browser 日文版的,今天开机以后我下载了object browser中文版的,
那个BDE Administrator的设定不一样,不知道有没有影响?后来我又把中文的object browser删除了,重新安装上日文的object browser 设定也恢复到正常时的一样,就是dll32,VENDORINIT之类的东西,还是不行,请问难道是两个不同版本的object browser在冲突,这个怎么解决呢?请大虾们指教,CH_oob701252这个是中文版的 好像支持的是oracle8i,不知道能不能支持9i,日文版的object browser是可以支持9i的。如果是BDE损坏了,该怎么恢复呢,难道要重新安装oracle,默认的连接oracli的参数设定是什么呢?就是dll32,VENDORINIT之类的东西。

解决方案 »

  1.   

    1、完全去掉防火墙看看2、Telnet一下1521端口看看3、用你系统的用户sqlplus登录一下试试
      

  2.   

    1、完全去掉了防火墙2、Telnet一下1521端口看看Microsoft Telnet> o 1521
    正在连接到1521...不能打开到主机的连接, 在端口 23: 连接失败
    Microsoft Telnet>这个是不是代表连接到1521端口失败了,怎么办呢??3、sqlplus登录是成功的请问那个控制面板下的BDE是不是安装oracle是安装的,如何卸载重新安装呢??
      

  3.   

    那个BDE是我在安装object browser是安装的,把那个软件卸载后,重新启动就没有了。
    然后我写了一个最简单的程序来连接oracle,但是报错
    错误信息:
    java.sql.SQLException: Io 异常: The Network Adapter could not establish the conn
    ection  (lo异常:网络适配器无法建立连接)请问这个到底是什么原因呢,该如何解决呢,以前还是好好的程序如下
    import java.sql.*;
    import java.util.Date;
    import java.util.ResourceBundle;class TestDB {
        public static void main(String args[])
        {
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");   //.newInstance();
            String url="jdbc:oracle:thin:@localhost:1521:orclsid"; //mydb为数据库的SID,10.0.1.1 为 数据库服务器 IP
            String user="strutsdb";
            String password="strutsdb";
            Connection conn= DriverManager.getConnection(url, user, password);
            Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
            String name = "sjh";
            String psw = "sjh";
            String sql = "select * from bbsuser where username='" + name + "' and password='" + psw + "'";
            ResultSet rs=stmt.executeQuery(sql);
            while(rs.next())
            {
                System.out.println(rs.getString(1));    }
       rs.close();
       stmt.close();
       conn.close();
       }catch (Exception e) { 
                System.out.println(e.toString());
    }
        }
    }
      

  4.   

    原因我找到了,因为昨天公司要求我们重新更改机器名。但是,我的 oracle\ora92\network\admin\listener.ora
               oracle\ora92\network\admin\tnsnames.ora
    里面的 HOST名没有更新,所以老是失败!!还是非常感谢大家!!