如题.
一台PC机器上,SQL SERVER 2005 和ORACLE 都有,
想实现SQL SERVER中某表数据导入到ORACLE 表中.
我用:select * from openrowset('msdaora','服务名';'用户名';'密码','select * from t_table') 
方法,提示:尚未注册 OLE DB 访问接口 '**',实现此功能用这条SQL好使吗?.其中的'msdaora','服务名'分别指的什么呢?可能是我理解错了.望高人指点!50分笑纳.

解决方案 »

  1.   

    http://blog.163.com/cool.worm/blog/static/6433900620098324339726/
      

  2.   

    2000的话:
    必备工具SQL2000 DTS、ORACLE客户端1、建立ORACLE数据库。
    2、建立表空间,建立用户$USER并授予角色CONNECT。设置用户MYHC的表空间限额,使用Hibernate生成表。
    3、增加$USER帐户的DBA权限,用$USER登录删除ORACLE中的约束。(参考语句:删除3、删除4)
     删除过程:用3、4语句执行查询结果,使用SQL*Plus输出至文件,然后修改文件,将文件放入PL/SQL中执行处理(注意,只能删除FK开头的约束,SYS的不要动)。一次执行后。重新查询在执行。直到使用3、4语句查询不到任何约束文件为止。
    4、使用DTS导数据。
    5、使用Hibernate重新建立约束。
    6、配置启动服务器,运行程序,跟踪测试,并修改程序运行中由于数据库结构导致的问题。
      

  3.   

    机器IP:192.111.111.1
    用PLSQL 连接ORACLE时
    登陆名:AA
    密码:BB
    数据库:CC
    那么select * from openrowset('msdaora','服务名';'用户名';'密码','select * from t_table') 应该怎么写呢?
      

  4.   

     没什么?SQL SERVER-->>ORACLE
      

  5.   

    SQL和ORACLE之间的数据查询配置透明网关的步骤
    前一段花了些时间配置 TRANSPARENT GATEWAY
    现在把心得贴出来与大家共享我的OS是WIN2000  
    ORACLE 9.0
    SQLSERVER2000
    HOSTNAME : SVR1
    都使用 tcp/ip 默认端口
    1: 安装 TRANSPARENT GATEWAY 选件(我安装的是FOR MSSQL)
       安装完成了以后有这样一个目录 oracle_home\ora90\tg4msql2: 配置 LISTENER.ORA
        (SID_DESC =
          (GLOBAL_DBNAME = tg4sql) # 可自己命名
          (PROGRAM = tg4msql)
          (SID_NAME = sql2000)  # SID 自己命名
          (ORACLE_HOME = D:\oracle\ora90)
        )3: 在 oracle_home\ora90\tg4msql\admin
       建文件 init<SID>.ora 由于LISTENER里定义SID为 sql2000
       因此文件名为:initsql2000.ora
       其中内容为:
       HS_FDS_CONNECT_INFO=svr1.master # svr1为SQL服务器名
       HS_FDS_TRACE_LEVEL=OFF
       HS_FDS_RECOVERY_ACCOUNT=RECOVER
       HS_FDS_RECOVERY_PWD=RECOVER4: 重启 DATABASE AND LISTENER5: 配置 tnsnames.ora
    tg_sql = 
      (DESCRIPTION = 
        (ADDRESS_LIST = 
          (ADDRESS = (PROTOCOL = TCP)(HOST = SVR1)(PORT = 1521)) 
        ) 
        (CONNECT_DATA = 
          (SID = sql2000) 
        ) 
        (HS=OK) 
      ) 6: 建立 DATABASE LINK
    CREATE PUBLIC DATABASE LINK DB_SQL
    CONNECT TO SA IDENTIFIED BY PASSWORD
    USING 'tg_sql'7: 完成,测试
      select * from t_test@db_sql8: 请注意使用 DBLINK 时,INIT.ORA中 GLOBAL_NAME 的设置,
      如果为 ture , 请使用DBLINK的全称,可在 all_db_links 中查到,
      如果为 FALSE, 不必使用全称,当出现 
      “ORA-02019:为找到远程数据库的连接说明”
      时,请使用全称,如:
      select * from t_test@db_sql.US.ORACLE.COM
      

  6.   

    使用SSIS 编写数据导入程序,在程序中调用包。
    你可以去BAIDU下找,工程有点大
      

  7.   

    select * from openrowset('msdaora','服务名';'用户名';'密码','select * from t_table')这种方法不好用吗?
      

  8.   

    INSERT OPENQUERY (linked_server, 'SELECT title, content FROM msgs')VALUES ('title', 'content');
    还有这个:其中的linked_server要怎么写呢?
    机器IP:192.111.111.1 
    用PLSQL 连接ORACLE时 
    登陆名:AA 
    密码:BB 
    数据库:CC 
      

  9.   

    这是在MSSQL中查询数据,而不导出数据到Oracle。看下MSSQL的示例吧,可能是msdaora不对,看一下本机的Oracle驱动程序名,也可在数据导入导出向导看下。服务名为Oracle的全局服务名。