首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • SQL访问ORACLE数据库(在一台机器上) [已结贴,结贴人:Amo860129]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-24 16:54:37 楼主
    我用sql2005 访问oracle9i 我在网上也找了不少了,也尝试过链接服务器区和openrowset 都不成功,我想可能是我吧参数搞错了,对oracle还不是很了解,现我把我机器参数写下来,请高手帮我写一个openrowset
    我机器名字是Amo(用AMO可以访问到sqlserver)
    oracle 有一个服务名字是orac
    TNS字符串描述如下
    (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=Amo)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORAC)))
    要访问oracle的表空间是 zfxfzb 有一个方案叫zfxfzb 表名字是 xsjbxxb  登录名有一个sys 密码sys 有一个stu密码len
    SQL code
    select A.* from openrowset('MSDAORA','orac';'sys';'sys','zfxfzb.xsjbxxb') as A order by A.ID EXEC SP_ADDLINKEDSERVER @server='Amo', --这里提示不能链接sql 因为是一台机器 所以可能吧AMO认为是sql了 @srvproduct='Oracle', @provider='MSDAORA', @datasrc='ORAC' SELECT * FROM OPENQUERY(Amo,'SELECT * FROM zfxfzb.xsjbxx')

    以上的方法貌似都错误了

    谁能帮我解答以下?
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-24 17:13:081楼 得分:10
    SQL code
    EXEC sp_addlinkedserver 'OracleSvr', 'Oracle 7.3', 'MSDAORA', 'ORCLDB' GO SELECT * FROM OPENQUERY(OracleSvr, 'SELECT name, id FROM joe.titles') GO
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dawugui
    • 等级:
    发表于:2008-04-24 17:18:392楼 得分:10
    参考:

    SQL和ORACLE之间的数据查询

    配置透明网关的步骤


    前一段花了些时间配置 TRANSPARENT GATEWAY
    现在把心得贴出来与大家共享

    我的OS是WIN2000 
    ORACLE 9.0
    SQLSERVER2000
    HOSTNAME : SVR1
    都使用 tcp/ip 默认端口


    1: 安装 TRANSPARENT GATEWAY 选件(我安装的是FOR MSSQL)
      安装完成了以后有这样一个目录 oracle_home\ora90\tg4msql

    2: 配置 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=RECOVER

    4: 重启 DATABASE AND LISTENER

    5: 配置 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_sql

    8: 请注意使用 DBLINK 时,INIT.ORA中 GLOBAL_NAME 的设置,
      如果为 ture , 请使用DBLINK的全称,可在 all_db_links 中查到,
      如果为 FALSE, 不必使用全称,当出现
      “ORA-02019:为找到远程数据库的连接说明”
      时,请使用全称,如:
      select * from t_test@db_sql.US.ORACLE.COM
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-25 10:39:273楼 得分:0
    有没有人按我的实际情况写一个语句啊?谢谢了。。。我不明白那个参数是那个。。。oracle 。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved