不清楚,但是可以把SQL SERVER数据库的数据导出为文本格式,然后用oracle的sqlldr命令导入

解决方案 »

  1.   

    可以通过SQL SERVER提供的DTS来实现
      

  2.   

    谢谢楼上两位的回复!
    我想通过ORACLE来导不知道怎么样才行?
      

  3.   

    安装上Oracle的透明网关,建一个数据库链路直接指向SQL Server,然后,用普通SQL语句就可以导了。
      

  4.   

    一:sqlserver连接oracle
    1.配置windows的ODBC数据源: 
    开始菜单—》设置—》管理工具—》数据源(ODBC)—》进入配置用户DSN或者系统DSN均可以:
    添加—》选择Microsoft ODBC for oracle—》自定义数据源名称(最好跟tns中连接串同名!)—》服务器名称
    (必填!填写tns文件中的连接串名称)—》完成。 2.配置sqlserver2000中的连接服务器: 
    企业管理器—》安全性—》连接服务器—》右键新建连接服务器—》定义连接名称;
    选其他数据源; 指定程序名称为:Microsoft OLE DB Provider for Oracle; 产品名称可不填; 
    数据源指定刚才ODBC中定义好的数据源名称; 提供程序字符串按以下格式填写:User ID=username;Password=userpasswd
    (或者按如下格式:UID=username;PWD=userpasswd),
    这里的用户名和密码对应所要连接的oracle数据库中的用户名和密码 —》 安全性标签页里:
    设置用此安全上下文进行,并录入oracle的数据库用户名和密码—》服务器选项标签页可默认—》确定。 3.完成了。使用方法
    在sqlserver企业管理器—》安全性—》连接服务器打开刚建好的连接服务器—》点击表,
    即可在右边窗口看到该oracle数据库用户拥有的的所有表名,但在这里还并不能查看表的记录,这个需要在sqserver的查询分析器中用具体sql实现!
    访问表时,使用格式为: [连接服务器名]..[ORACLE用户].[表名]。必须为大写。更详细具体的使用这里不再赘述。
    ------------------------------------------------------------------------------------------
    二:oracle连接sqlserver
    1、安转透明网关
    在自定义安转内
    D:\oracle\ora92\tg4msql\admin\inittg4msql.ora   tg4msql
    2、在D:\oracle\ora92\network\admin\listener.ora内添加
     (SID_DESC =
          (GLOBAL_DBNAME = tg4msql) 
           (PROGRAM = tg4msql)
          (ORACLE_HOME = D:\oracle\ora92)
          (SID_NAME = tg4msql)
        )
    3、配置tns
    tnsnames.ora
    -----------------
    例子1
    cdma =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = zhyg)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = tg4msql)
          (SERVER = DEDICATED)
        )
        (HS=OK)
      )
    例子2
    du =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = sha38)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = jf)
          (SERVER = DEDICATED)
        )
        (HS=OK)
      )
    --------
    3、创建数据链路  
    CREATE PUBLIC DATABASE LINK DU CONNECT TO SA IDENTIFIED BY SA USING 'DU'
    ok可以使用了
    select * from sysobjects@cdma
      

  5.   

    oracle可以建数据库链接直接链接到sqlserver数据库。查找一下相关资料
      

  6.   

    透明网关比较好,尤其win平台,很方便
    linux平台的网关比较难找
    DTS导入SQL SERVER据说性能也不错
      

  7.   

    oracle可以建数据库链接直接链接到sqlserver数据库。查找一下相关资料
    ------------------------------------------------------------------
    希望能提供一些相关资料,谢谢
      

  8.   

    oracle可以建数据库链接直接链接到sqlserver数据库。查找一下相关资料
    ------------------------------------------------------------------
    希望能提供一些相关资料,谢谢
      

  9.   

    相关资料就是安装透明网关,然后配置连接到Sql Server
      

  10.   

    不同数据库平台的互连一般称之为数据库的异构服务,各厂商的具体实现技术不一样:
       在SQL SERVER里面叫做LINKED SERVER,通过ODBC实现与其它数据库的互联。 
    而ORACLE实现异构服务的技术叫做透明网关(Transparent Gateway)。目前ORACLE利用透明网关可以实现和SQL SERVER、SYBASE、DB2等多种数据库的互联。
        Oracle透明网关软件在Oracle 8i时是需要花钱另买的,大约1万$;到Oracle 9i时是作为数据库的一个组件免费发布的。安装时在组件种选择即可。(默认是不安装的。)第一步:
        安装透明网关for sql server的软件后,可以在$ORACLE_HOME下看到tg4msql目录,编辑$ORACLE_HOME/tg4msql/admin/inittg4msql.sql文件有一行:HS_FDS_CONNECT_INFO="SERVER=192.168.0.1;DATABASE=pubs"
    其中:SERVER=192.168.0.1是SQL SERVER的服务名,后面的DATABASE不言而谕,是数据库名。
    第二步:
    修改 listener.ora
    在SID_LIST中加入以下内容:
    (SID_NAME = tg4msql) # SID自己命名 
    (ORACLE_HOME = c:) 
    (PROGRAM = tg4msql) 
    第三步:
    在tnsnames.ora中填加
    sql2k = 
    (DESCRIPTION = 
      (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521)) )
      (CONNECT_DATA = (SID = tg4msql) )
    (HS=OK)
     ) 
    第四步:
    创建DB_LINK sql2k
    第五步:
    现在你就可以SELECT * FROM TABNAME@sql2k 或
    UPDATE TABNAME@sql2k  SET ... WHERE ...注意:
    ORACLE SERVER的初始化参数global_names设为false
      

  11.   

    这个透明网关软件(for linux的)哪儿下载,谢谢!
      

  12.   

    这个透明网关软件(for linux的)就在你的Oracle安装盘上,默认是不安装的。在组件中选择即可安装。