Oracle Gateways 方式创建dblink 连接 SQLSERVER数据库

1. 安装多次 发现在同一个机器上面总出问题,所以建议找一个没有安装oracle的机器上面进行安装gateways

2. 下载oracle gateways 并且解压缩, 下载地址详情见官网. 下载的安装文件: winx64_12201_gateways

安装.

3. 安装注意事项:

组件比较多 安装

设置数据库相关

执行安装完成.

4. 安装完成之后 修改主要的配置文件:

修改目录下下面的 initdg4msql.ora

文件内容自动生成

HS_FDS_CONNECT_INFO=[10.24.160.1]/MSSQLSERVER/CWBASEM871
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER

一般要求在如下的目录下均有监听和tnsnames文件

C:\app\tg\Administrator\product\12.2.0\tghome_1\network\admin

文件内容基本相同

本次举例

Listener.ora

# This is a sample listener.ora that contains the NET8 parameters that are
# needed to connect to an HS Agent

LISTENER =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=Win2008r2sp1)(PORT=1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)

SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=dg4msql)
(ORACLE_HOME=C:\app\tg\Administrator\product\12.2.0\tghome_1)
(PROGRAM=dg4msql)
)
)

#ADR_BASE_LISTENER = C:\app\tg\Administrator\product\12.2.0\tghome_1

#CONNECT_TIMEOUT_LISTENER = 0

tnsname.ora

# This is a sample tnsnames.ora that contains the NET8 parameters that are
# needed to connect to an HS Agent

dg4msql =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=Win2008r2sp1)(PORT=1521))
(CONNECT_DATA=(SID=dg4msql))
(HS=OK)
)

5. 修改完配置文件,重启lsnrctl 命令为:

cmd-> lsnrctl
>stop
>start
在cmd命令行中
tnsping dg4msql
验证提示.
已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=Win2008r2sp1)(PORT=1521)) (C
ONNECT_DATA=(SID=dg4msql)) (HS=OK))
OK (0 毫秒)

6. 在oracle服务器中创建配置

create database link zhaobsh connect to "lcm8719999" identified by "Test6530" using ‘(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.24.101.105)(PORT = 1521))
    (CONNECT_DATA =
      (SID = dg4msql)
    )
    (HS=OK)
  )‘

7. 查询验证

  select * from [email protected]

发现的主要事项:

1. initdg4msql.ora 必须是目录:

C:\app\tg\Administrator\product\12.2.0\tghome_1\dg4msql\admin

下的, 而且 必须按照格式来. 这个链接方式可以 随便改 ,不需要重启lsnrctl 即可. 重新创建dblink 自动刷新 应该是走的一次磁盘io

2. dg 目录下的network 必须存在,并且有静态注册的 dg4msql 的sid 才可以,不然会报错, 放到刚才的那个目录下的文件没有用. 必须放在这个目录下

C:\app\tg\Administrator\product\12.2.0\tghome_1\network\admin

3. 我发现11g和12c的 gateways 是可以互相联通的 不受版本限制. 但是某些表字段表特殊时会报错,如图示

原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/9192744.html

时间: 2024-10-12 20:06:46

Oracle Gateways 方式创建dblink 连接 SQLSERVER数据库的相关文章

笨鸟先飞随笔:ADO.NET中VS连接Sqlserver数据库的代码(Windows身份验证方式补充)

上一篇只写到了数据库Sqlserver连接方式下的连接代码在这里对Windows验证方式的连接做一下补充: 关于VS连接Sqlserver数据库windows验证方式的操作方式: 01.VS窗口中上方菜单依次选择数据 02.添加新数据源 03.然后选择数据库后点击下一步 如下图所示: 04.选择数据集然后点击下一步 如下图所示: 05.点击新建连接,弹出对话框 如下图所示: 06.数据源显示为Microsoft SQL server SqlClient 如果不是则需要点击更改修改为Microso

openTSP连接sqlServer数据库&jpa调用存储过程

openTSP框架下的模块都是连接mysql数据库,近期青汽有连接sqlServer数据库的需求,在调研后配置了sqlServer数据库,使用jpa调用存储过程,中间也踩了不少坑,总结一下,避免大家再掉进去. 1.首先配置sqlServer的依赖 <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version

asp.net 连接sqlserver数据库

在asp.net中连接sqlserver数据库之前,首先得确保正常安装了sqlserver2008,同时有数据库. 在项目中添加一个类DB,用来专门负责执行对数据库的增删改查.在添加的过程中会弹出下面的一个提示 直接点是就可以了. 在这个类中,首先定义一个连接对象 private SqlConnection conn = null;然后定义下面三个函数 private void SetConnection()//初始化连接对象 { if (conn == null) { //获取配置文件中的数据

笨鸟先飞随笔:ADO.NET中VS连接Sqlserver数据库的代码

在main函数中添加的连接Sqlserver数据库的代码如下所示: 以下代码用于Sqlserver验证方式 首先需要引用命名空间 using system.System.Data.SqlClient; static void Main(string[] args) { string constring = "server=local;database=teaching;uid=sa;pwd=123456"; using (SqlConnection conn = new SqlConn

Asp.Net配置Web.config连接SqlServer数据库

前言  今天下午帮同学解决了bug,一个小问题耽误了lz接近一下午的时间.写篇博客记录下在这个过程中遇到的问题. 解决过程  step1:在连接数据库的时候,提示连接失败,这种问题有80%的概率是因为web.config中连接字符串写错了.首先web.config连接Sqlserver数据库配置有两种验证方式  Windows身份验证 string connectionstring ="Server=服务器名;Integrated Security=SSPI;database=LibraryMi

python连接sqlserver数据库

1.准备工作 python3.6连接sqlserver数据库需要引入pymssql模块 pymssql官方:https://pypi.org/project/pymssql/ 没有安装的话需要安装: pip安装: pip install pymssql 2.连接数据库 首先你得明确目标数据库的:'服务器名称',"账户名称","密码","数据库名称" 因为这些是必要的参数 这里使用本地数据库做测试: ? 下面是链接语句: import pymssq

java 连接sqlserver数据库语句

import java.sql.*; /** * java 连接sqlserver数据库语句 * @author Administrator * */ public class Main {         public static void main(String [] args) throws SQLException {                                     String driverName="com.microsoft.sqlserver.jdbc.

JDBC连接SqlServer数据库(非默认实例)方法

一般我们在连接数据库的时候都是用的默认实例名,今天遇到了用非默认是实例名:连接代码如下(Java): URL=jdbc:microsoft:sqlserver://192.168.1.85//DEMO;DatabaseName=PePsiEasyData 说明: 192.168.1.85是数据库地址.不指定端口 //DEMO 指定实例名为DEMO 也可以写成这样: URL=jdbc:microsoft:sqlserver://192.168.1.85;instanceName=DEMO;Data

oracle 11g Enterprise Manager 无法连接到数据库实例

今天要学习使用OEM 结果出现了两个问题! 第一个问题:应该在哪里打开OEM呢? 解决:好找了半天,才得知只需使用IE便可打开OEM了, 使用的网址为:https://localhost:1158/em/ 好的,当打开这个网址的时候呢,又遇到了第二个问题:网页提示"无法连接到数据库实例" 又好找了半天,网上确实有很多网友已经给出了解决方案,但是到了我这里总是提示dbhome_1中的某些文件不能backup! 解决:据网络上的答案,都是用CMD命令行来操作的,而我只是通过"运行