动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.用Quick Slice获取Oracle进程的线.
.详细介绍Oracle 8i中怎样实现实时.
.教你学会使用DBCA克隆一个数据库.
.Oracle9i 数据库管理实务讲座(二.
.在Oracle 10g中如何获得索引建议.
.ORACLE 数据库备份技术.
.带你轻松接触Oracle DBLink的简单.
.在Win2k下配置使用OEM.
.Oracle 10G在fedora core4上的安.
.用正则表达式函数验证身份证号码.
.all installing oracle9i under .
.实现Mandrake开机时自动挂载ISO文.
.Oracle 9i定制数据库模板.
.教你清除Oracle中无用的索引改善.
.Oracle 数据库的配置方案 完全分.
.oracle 10G在fedora2上的安装.
.Oracle9i中的电子商务平台开发一.
._row_cache_cursors参数应当如何.
.Linux与Oracle系统安装指导书(Ca.
.oracle与sqlserver相互操作.

Oracle 10g + SQL SERVER 2000 透明网关设置

发表日期:2007-4-24 |


前提:在安装oracle时选中安装透明网关组件(默认不选中),如果未安装可以重新选择安装此组件.
环境:Oracle 10g + SQL SERVER 2000
数据库:Oracle:ZNDATA;SQL SERVER:ZNDB
目标:在oracle下建立一个tnsname用来访问SQL SERVER的ZNDB数据库.
(1)建立ZNDB数据库在Oracle下的别名zheneng:
    进入%ORACLE_HOME%\tg4msql\admin目录建立文件initzheneng.ora,里面内容如下:
    HS_FDS_CONNECT_INFO="SERVER=192.168.0.197;DATABASE=ZNDB"
    HS_FDS_TRACE_LEVEL=OFF
    HS_FDS_RECOVERY_ACCOUNT=RECOVER
    HS_FDS_RECOVERY_PWD=RECOVER
(2)建立listener:
    进入%ORACLE_HOME%\network\admin修改listener.ora文件增加:
    (SID_DESC =
          (SID_NAME = zheneng)   ###注意:要与前面建的文件名字initzheneng去掉init后一样.
          (ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
          (PROGRAM = tg4msql)
        )
(3)建立tnsnames.ora:
    与(2)相同目录下修改tnsnames.ora文件增加一个TNSNAME:
    ZNDB =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.197)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = zheneng)
        )
        (HS = zheneng)
      )
(4)sqlplus测试:
    创建数据库连接:
    sql>create   database   link   mssqlLink   connect   to   sa   identified   by   sa using 'ZNDB';
    sql>select * from akm@mssqlLink
    如果正确的话应该显示sqlserver中的结果

参考网上文章:
不同数据库平台的互连一般称之为数据库的异构服务,现在各大数据库之间都可以实现这样的异构互连,只是各厂商的具体实现技术不一样,如:在SQL   SERVER里面叫做LINKED   SERVER,通过ODBC实现与其它数据库的互联。   
  而ORACLE实现异构服务的技术叫做透明网关(Transparent   Gateway),当然之前ORACLE还采用过通用连接技术。目前ORACLE利用透明网关可以实现和SQL   SERVER、SYBASE、DB2等多种数据库的互联。 
  
  透明网关的体系结构也很简单,在ORACLE和SQL   SERVER之间使用ORACLE透明网关服务器实现互连互通,其中透明网关服务器可以与ORACLE或SQL   SERVER数据库在同一台主机上,也可以是在独立的一台主机上。 
  
  下面是具体步骤,如有疑问欢迎和我联系,MSN:   gototop_ncn@hotmail.com。 
  
  1、在SQL   SERVER数据库上创建测试账号和表 
  
  这里我用的是10.16.74.140的PUBS数据库,账号cyx, 
  
  create   table   t   (c   char(10)); 
  
  2、我测试所用数据库和透明网关是在同一台机器上,在我本机:10.16.98.16,透明网关在oracle默认安装时是不安装的,所以如果你想用需要选择这一选项。 
  
  3、安装透明网关for   sql   server的软件后,可以在$ORACLE_HOME下看到tg4msql目录,编辑$ORACLE_HOME/tg4msql/admin/inittg4msql.sql文件确认这一行正确: 
  
  HS_FDS_CONNECT_INFO="SERVER=10.16.74.140;DATABASE=pubs" 
  
  4、修改透明网关server上的listener.ora,在SID_LIST中加入以下内容: 
  
  (SID_NAME   =   tg4msql)   #   SID自己命名   
  
  (ORACLE_HOME   =   c:)   
  
  (PROGRAM   =   tg4msql)   
  
  5、在oracle   server上的tnsnames.ora中加入到透明网关的tnsname,内容如下: 
  
  sql2k   =   
  
  (DESCRIPTION   =   
  
  (ADDRESS_LIST   =   
  
  (ADDRESS   =   (PROTOCOL   =   TCP)(HOST   =   10.16.98.16)(PORT   =   1521))   #此处HOST填的是透明网关SERVER的地址 
  
  )   
  
  (CONNECT_DATA   =   (SID   =   tg4msql)   )   #此SID应和透明网关SERVER上设定的SID相同 
  
  (HS=OK)   
  
  )   
  
  6、修改ORACLE   SERVER的初始化参数,将global_names设为false,因为我们并不使用GLOBAL   NAME。然后重起数据库。 
  
  7、现在在ORACLE   SERVER上创建DB   LINK就可以了。下面实验数据: 
  
  ------------   www.ncn.cn   -------------   gototop   -------------- 
  
  C:>sqlplus   /nolog 
  
  SQL*Plus:   Release   9.2.0.1.0   -   Production   on   星期三   6月   25   13:29:41   2003 
  
  Copyright   (c)   1982,   2002,   Oracle   Corporation.   All   rights   reserved. 
  
  SQL>   conn   sys/change_on_install   as   sysdba 
  
  已连接。 
  
  SQL>   create   user   cyx   identified   by   cyx   default   tablespace   users; 
  
  用户已创建 
  
  SQL>   grant   connect   to   cyx; 
  
  授权成功。 
  
  SQL>   grant   resource   to   cyx; 
  
  授权成功。 
  
  SQL>   conn   cyx/cyx 
  
  已连接。 
  
  SQL>   create   database   link   tosql2k   connect   to   cyx   identified   by   cyx   using   
  
  2   'sql2k'; 
  
  数据库链接已创建。 
  
  SQL>   select   *   from   t@tosql2k
  
  c 
  
  ---------- 
  
  abc 
  
  aaa 
  
  bbb 
  
  cyx 
  
  gototop 
  
  ncn 
  
  11111 
  
  已选择7行。 
  
  SQL>   insert   into   t@tosql2k   values('ncn.cn'); 
  
  已创建   1   行。 
  
  SQL>   commit; 
  
  提交完成。 
  
  SQL>   select   *   from   t@tosql2k
  
  c 
  
  ---------- 
  
  abc 
  
  aaa 
  
  bbb 
  
  cyx 
  
  gototop 
  
  ncn 
  
  11111 
  
  ncn.cn 
  
  已选择8行。 
  
  ------------   www.ncn.cn   -------------   gototop   -------------- 
  
  以上示例,oracle   server和透明网关server都是在同一台机器上,像在开始说明的那样,我们同样可以在其他下面oracle   server中通过透明网关来访问sql   server的数据。下面是示例: 
  
  现在这个oracle   server上添加tnsname。 
  
  ------------   www.ncn.cn   -------------   gototop   -------------- 
  
  hawk3$sqlplus   cyx 
  
  SQL*Plus:   Release   8.1.7.0.0   -   Production   on   Wed   Jun   25   14:00:34   2003 
  
  (c)   Copyright   2000   Oracle   Corporation.   All   rights   reserved. 
  
  Enter   password: 
  
  Connected   to: 
  
  Oracle8i   Enterprise   Edition   Release   8.1.7.0.0   -   Production 
  
  With   the   Partitioning   option 
  
  JServer   Release   8.1.7.0.0   -   Production 
  
  SQL>   create   database   link   hawk3_sql2k   connect   to   cyx   identified   by   cyx 
  
  2   using   'sql2k'; 
  
  Database   link   created. 
  
  SQL>   select   *   from   t@hawk3_sql2k
  
  c 
  
  -------------------- 
  
  abc 
  
  aaa 
  
  bbb 
  
  cyx 
  
  gototop 
  
  ncn 
  
  11111 
  
  ncn.cn 
  
  8   rows   selected. 
  
  ------------   www.ncn.cn   -------------   gototop   -------------- 
  
  gototop   2003.7.25注:很多朋友问到关于透明网关的一些问题,在此加以说明如下: 
  
  1、Oracle   For   SQL   Server的透明网关在UNIX下无法实现,目前只支持WIN;   原因很简单,SQL   Server本身不支持UNIX,所以Oracle也无法直接在UNIX下访问SQL   Server。 
  
  2、Oracle   For其它数据库的透明网关,如SYBASE等有UNIX本版本的数据库在UNIX可以实现。   
  
  3、Oracle透明网关软件在Oracle   8i时是需要花钱另买的,大约1万$;到Oracle   9i时是作为数据库的一个组件免费发布的。安装时在组件种选择即可。   
  
  4、针对我们的实际应用,如果有需要实现Oracle   到SQL   Server的互连,我们需要另外用一台WIN下的Oracle   9i来做透明网关服务器,其它UNIX下的Oracle通过这个透明网关来访问SQL   Server。   
  
  5、不同数据库间的数据处理需使用标准SQL来实现。   
  
  6、各数据库中特殊的数据类型,需要在程序中实现转换,应尽量避免使用无法转换的数据类型。

上一篇:SQL Server中的Datediff移植到ORACLE计算有误怎么解决? 人气:3084
下一篇:如何在oracle存储过程中返回游标 人气:4710
浏览全部透明网关设置的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-6 Movie34电影搜索引擎 v3.0
2008-9-6 wap2.0仿帝国建站喜用 v2.0
2008-9-6 免费人才招聘网 宽屏版 v3.01
2008-9-6 喜喔喔视频采集程序 v1.0 beta
2008-9-6 ASP客户管理系统
2008-9-6 主流驿站中秋祝福程序
2008-9-6 php实现msn协议的类
2008-9-5 Coppermine Photo Gallery v1.4.
2008-9-5 清松网络日记本 v2.4
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号