我现在安装的是Oracle9i 用来做开发  现在我需要在9i的基础上去访问8i的数据库的内容 asp.net
请问能不能实现?则样实现?
能在安装9i的机子上安装8i的客户端吗?  不过最好不用这种方法  我想直接去访问8i获取数据

解决方案 »

  1.   


    楼主可以试试DBLINK数据库之间的链接建立在DATABASE LINK上。要创建一个DB LINK,必须先在每个数据库服务器上设置链接字符串。 
       
    1、 配置TNS , $ORACLE_HOME/NETWORK/ADMIN/tnsname.ora 
    10gstandby = 
      (DESCRIPTION = 
        (ADDRESS = (PROTOCOL = TCP)(HOST = HFCC-KF-3068)(PORT = 1522)) 
        (CONNECT_DATA = 
          (SERVER = DEDICATED) 
          (SERVICE_NAME = 10gstandby) 
        ) 
      ) 
       
    2、创建数据库链接, 
    create public database link DB_LINK_NAME connect to TargetDatabaseUserName identified by TargetDatabasePassword using 'TargetDatabaseSIDName'; 
    注:TargetDatabaseSIDName为该Oracle数据库所在的主机上的tnsnames.ora文件里边定义的数据库连接串。 
       
    SQL>create public database link dvd connect to system identified by system using 'orcl10g'; 
       
    则创建了一个以system用户和orcl10g数据库的链接dvd,我们查询dvd数据: 
       
    SQL>select * from all_users@dvd;   
       
    这样就可以把本地和远程的数据做成一个整体来处理。 
       
    3、建立同义词,为了使有关分布式操作更透明,ORACLE数据库里有同义词的对象synonym 
       
    SQL>create synonym synTest for all_users@dvd; 
       
    于是就可以用synTest来替代带@符号的分布式链接操作all_users@dvd; 
       
    4、查看所有的数据库链接: 
       
    SQL>select owner,object_name from dba_objects where object_type='DATABASE LINK'; 5、查看数据库连接 
    sql> select owner, db_link from dba_db_links; 
    ower    db_link 
    public   DVD.REGRESS.RDBMS.DEV.US.ORACLE.COM 6、删除数据库连接 
    先从第5步中查看数据库连接,取得其db_link的名称 
    sql>drop public database link DVD.REGRESS.RDBMS.DEV.US.ORACLE.COM 
    数据库连接巳丢弃 
    Oracle DB Link
    http://blog.csdn.net/tianlesoftware/archive/2009/11/03/4763768.aspx
      

  2.   

    客户端直接连接8i就可以,跨数据库访问才需要dblink
      

  3.   

    想直接连接,配置好了net manager直接连接就可以。如果想在你的数据库里连接另外的数据库就需要建立dblink.
      

  4.   

    8i的tnsname是用的sid,9i用service_name 这样需要注意一下。
      

  5.   

    数据库之间的连接,首先配置好你的监听器,然后在按照前面人说过的,DbLink或者是直接连。
      

  6.   

    我最后直接连得  我将8i 数据库添加到9i的目录树了  9i添加到8i也行  不过11g就不能添加到9i了