当前位置: 首页 > news >正文

solaris-Oracle11g于linux-mysql相连

Oracle11g(solaris64sparc)+mysql(linux)实验

 


此实验目的,实现公司ebs R12 mysql上的短信平台.预警和提示ebs中信息,

一,环境

主机名        ip                                          平台                 数据库       dbname

ebs234            192.168.1.234                   solaris 10 64 sparc       oralce 11g                    ebstest

mysql                192.168.1.247                  linux redhad up4              mysql 5.1        mccdb

二,此连接原理

+-----------------------------<ODBC Client Host>---------------------------+

| |

| [ORACLE] <---> [DG4ODBC] <---> [ODBC Driver Manager] <---> [ODBC Driver] |

| |                                                                 |

+-------------------------------------------------------------------|-------+

                                                                   /|\

                                                                    |

                                                                 NETWORK

                                                                    |

                                                                   \|/

                                                        +--<MySQL Server Host>--+

                                                        |                       |

                                                            | [MySQL Server] |

                                                        |                       |

                                                        +-----------------------+  

这是个核心的连接过程.现分路段来配制这个过程,

我们倒着配制.就能慢慢明白其中原理

先确定一下二个数据库及期系统的版本

file $ORACLE_HOME/bin/dg4odbc

系统版本和linux版本及mysql版本都容易查,不重复了

mysql上建个用户先

grant all privileges on mccdb.* to APPS@192.168.1.234 identified by '123456' with grant option;

flush privileges;(刷新权限设置)

以下操作均在oracle主机

1)odbc drvier -->mysql

  mysql是在192.168.1.247主机上. solaris 平台上的oracle 11g要连接mysql.就是通过odbc这个驱动.

所以要在solaris 平台安装odbc 驱动for mysql.同时又要装一个管理这个odbc驱动的管理软件,odbc driver manager

a,下载地址odbc driver manager  选择合适的驱动, 下地直任选

   http://sourceforge.net/projects/unixodbc/files/unixODBC/

   http://www.unixodbc.org/download.html

b, 下载地址odbc driver

http://www.mysql.com/downloads/connector/odbc/5.1.html

c ,安装(oratest用户)

   mkdir /ebstest/app/etc

   mkdir /ebstest/app/myodbc

      mkidr /ebstest/app/unixodbc-2.2.14

odbc driver 移入myodbc

odbc driver manager ,unixodbc-2.2.14-sunos-sparc-64.tar.gz移到unixodbc-2.2.14

分别解压

odbc dirver manager 中解开的目录稍调整一下.即把生成的usr下的文件bin lib include移到unixodbc-2.2.14目录下.

目的是目录不要那么深,好看一些,并把usr删掉

myodbc中解开的长文件名更名一下.mv 长文件名 mysqlodbc也是好看一些

好,现在基本工作就绪

1,配置环境变量

PATH=/ebstest/app/unixodbc-2.2.14/bin:/ebstest/app/prod/apps/tech_st/10.1.2/OPatch/opatch:$PATH

export PATH

LD_LIBRARY_PATH=/ebstest/app/unixodbc-2.2.14/lib:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH

DISPLAY=192.168.1.196:0.0; export DISPLAY

ODBCINI=/ebstest/app/etc/odbc.ini

export ODBCINI

ODBCSYSINI=/ebstest/app/etc

export ODBCSYSINI

2, 注册生成odbcinst.ini

myodbc目录中进入mysqlodbc/bin

Register a driver;

    $ myodbc3i -a -d -t"MySQL ODBC 3.51 Driver;Driver=/usr/lib/libmyodbc3.so;Setup=/usr/lib/libmyodbc3S.so"

  Create a user data source name;

    $ myodbc3i -a -su -t"DSN=MyDSN;Driver=MySQL ODBC 3.51 Driver;Server=localhost;UID=pharvey"

根据这二个命令

改一下 ./myodbc3i -a -d -t "MySQL ODBC 3.51 Driver;Driver=/ebstest/app/myodbc/mysqlodbc/lib/libmyodbc3.so;Setup=/ebstest/app/myodbc/mysqlodbc/lib/libmyodbc3_r.so"

这样就在环境变量规定的目录中生成了odbcinst.ini

又根据生成user data source name;这个命令来生成odbc.ini文件

./myodbc3i -a -su -t "DSN=mccdb;Driver=/ebstest/app/myodbc/mysqlodbc/lib/libmyodbc3.so;Server=192.168.1.247;UID=apps"

----------------------------

./configure --prefix=/ebs/app/myodbc/unixODBC --includedir=/usr/include --libdir=/usr/lib --bindir=/usr/bin --sysconfdir=/ebs/app/myodbc/etc

make

make install

./myodbc-installer -d -a -n "MySQL ODBC 5.1 Driver" -t "DRIVER=/ebstest/app/myodbc/mysqlodbc5/lib/libmyodbc5.so;Setup=/ebstest/app/myodbc/mysqlodbc5/lib/libmyodbc5.so"

./myodbc-installer -s -a -c2 -n "mccdb" -t "DRIVER=MySQL ODBC 5.1 Driver;SERVER=192.168.1.247;DATABASE=mccdb;UID=apps;PWD=123456"

5.1版本问题按上述改

----------------------------

执行一下.也许生成不了.没关系可以手动在/ebstest/app/etc中建一个odbc.ini

内容如下:

$ more odbc.ini    --这个实际是dsn驱动名

[ODBC Data Sources]

data_source_name = mccdb

[mccdb]

Driver          = /ebstest/app/myodbc/mysqlodbc/lib/libmyodbc3.so

DATABASE        = mccdb

DESCRIPTION     = MySQL ODBC 3.51 Driver

SERVER          = 192.168.1.247

UID             = apps

PASSWORD        = 123456

PORT            = 33306

SOCKET          =

具体内容,要看情况更改

以上odbc驱动文件全部配好了.现需要注册一下在odbc driver mangaer.

cd /ebstest/app/unixodbc-2.2.14/bin

./odbcinst -i -d -f /ebstest/app/etc/odbcinst.ini     -i (install) -d (drvier) -q (query)

./odbcinst -i -s -l -f /etc/odbc.ini                              -i(install) -s(data source) -l system dsn -f (file name of template.ini follows)

                                                                             可以不用-f

------------------------

$ ./odbcinst -i -d -f /ebstest/app/etc/odbcinst.ini

odbcinst: Driver installed. Usage count increased to 2.

    Target directory is /ebstest/app/etc

$ ./odbcinst -i -s -l -f /ebstest/app/etc/odbc.ini

5.1版本如上

------------------------

检查是否连通

进入/ebstest/app/unixodbc-2.2.14/bin

./odbcinst -s -q 看是否能检测到连接dsn驱动名mccdb

./isql mccdb -v

看是否连通

理论是没什么问题的.当然出问题得查找原因

2) [ORACLE] <---> [DG4ODBC] 配制这一段 (oracle 11g已经有dg4odbc了,不用装gateway)

这一段要明白oracle 11g是连dg4odbc  也就是配tnsnames.ora listener.ora

tnsnames.ora  (oracle_home/network/)

增加如下一段

mccdb =

        (DESCRIPTION =

                 (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.234)(port=1529))

   (CONNECT_DATA =

    (SID = mccdb)   )

   (HS=OK)

  )

要想清楚host地址,端口不要重用

listener.ora 增加如下二段

mccdb =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = ebs2.riso.com.cn)(PORT = 1529))

    )

  )

SID_LIST_MCCDB=

  (SID_LIST =

    (SID_DESC =

    (PROGRAM=dg4odbc)

    (SID_NAME = mccdb)

    (ENV=/ebstest/app/unixodbc-2.2.14/lib)

    )

  )

配完以后.看能不能不起动.lsnrctl start mccdb

tnsping mccdb

成功则说明没问题了. oracle 11gDG4ODBC这段成功了.

3) [DG4ODBC] <---> [ODBC Driver Manager] 连这一段,其实这一段的真正核心就是hs目录中的初始化参数文件

cd $ORACLE_HOME//hs/admin

cp initdg4odbc.ora initmccdb.ora

修改后文件如下:

$ more initmccdb.ora

# This is a sample agent init file that contains the HS parameters that are

# needed for the Database Gateway for ODBC

#

# HS init parameters

#

HS_FDS_CONNECT_INFO = mccdb

HS_FDS_TRACE_LEVEL = Debug

HS_FDS_SHAREABLE_NAME = /ebstest/app/unixodbc-2.2.14/lib/libodbc.so     --这一行是关键,千万别折腾到myodbc目中去了.myodbc是连mysql. 现在是dg4odbc->odbc driver

HS_LANGUAGE=AMERICAN_AMERICA.WE8ISO8859P1

#HS_LANGUAGE=american_america.al32utf8

HS_NLS_DATE_FORMAT=YYYY-MM-DD

#HS_FDS_FETCH_ROWS=100

#

# ODBC specific environment variables

#

set ODBCINI=/ebstest/app/etc/odbc.ini

set ODBCINSTINI=/ebstest/app/etc/odbcinit.ini

set ODBCSYSINI=/ebstest/app/etc

set ORACLE_HOME=/ebstest/app/prod/db/tech_st/11.1.0

#

# Environment variables required for the non-Oracle system

#

在开启debug.

先创建一个dblink

create public database link myodbc connect to apps identified by 123456 using 'mccdb';

再连接对方表试试

select * from msg_table@myodbc;

根据出错的信息.hs/admin/log中查询出错原因

如果理解清楚,肯定容易找出问题所在

最终可能问题

 一,是版本问题,只能查出一行

二,是乱码问题.

相关文章:

solaris-Oracle11g于linux-mysql相连

Oracle11g(solaris64sparc)mysql(linux)实验 此实验目的,实现公司ebs R12 连mysql上的短信平台.预警和提示ebs中信息, 一,环境 主机名 ip 平台 数据库 dbname ebs234 192.168.1.234 …...

大厂齐出海:字节忙种草,网易爱社交

配图来自Canva可画 随着国内移动互联网红利逐渐触顶&#xff0c;互联网市场日趋饱和&#xff0c;国内各互联网企业之间的竞争便愈发激烈起来。在此背景下&#xff0c;广阔的海外市场就成为了腾讯、阿里、字节、京东、拼多多、百度、网易、快手、B站等互联网公司关注和争夺的重…...

几个实用的正则表达式

1到100之间的正整数正则 表达式&#xff1a;^[1-9]\d?$|^100$ 解释&#xff1a; ^表示匹配字符串开始位置 [1-9]表示数字1-9中的任意一个 \d表示任意一个数字 ?表示前面一个字符或子表达式出现0或1次 $表示匹配字符串结束位置 |表示或 最终的解释为&#xff1a;匹配满…...

python实战应用讲解-【numpy数组篇】常用函数(八)(附python示例代码)

目录 Python Numpy MaskedArray.cumprod()函数 Python Numpy MaskedArray.cumsum()函数 Python Numpy MaskedArray.default_fill_value()函数 Python Numpy MaskedArray.flatten()函数 Python Numpy MaskedArray.masked_equal()函数 Python Numpy MaskedArray.cumprod()函…...

Speech and Language Processing-之N-gram语言模型

正如一句老话所说&#xff0c;预测是困难的&#xff0c;尤其是预测未来。但是&#xff0c;如何预测一些看起来容易得多的事情&#xff0c;比如某人接下来要说的几句话后面可能跟着哪个单词。 希望你们大多数人都能总结出一个很可能的词是in&#xff0c;或者可能是over&#x…...

【AI】Python 安装时启用长路径支持

文章目录 场景&#xff1a;解释&#xff1a;关于文件长路径&#xff1a;计算方法&#xff1a; 场景&#xff1a; Python 安装时&#xff0c;会出现 Disable path length limit 的提示。 解释&#xff1a; 在 Windows 操作系统中&#xff0c;文件路径的长度是有限制的。在早期…...

深入理解Go语言中的接口编程【17】

文章目录 接口接口接口类型为什么要使用接口接口的定义实现接口的条件接口类型变量值接收者和指针接收者实现接口的区别值接收者实现接口指针接收者实现接口下面的代码是一个比较好的面试题 类型与接口的关系一个类型实现多个接口多个类型实现同一接口接口嵌套 空接口空接口的定…...

“数字中国·福启海丝”多屏互动光影艺术秀27日在福州举办

作为深化“数字海丝”的核心区、海上丝绸之路的枢纽城市&#xff0c;为喜迎第六届数字中国建设峰会盛大召开之际&#xff0c;福州市人民政府特此举办“数字中国福启海丝”多屏互动光影秀活动。本次光影秀活动是由福建省文化和旅游厅指导&#xff0c;福州市人民政府主办&#xf…...

Docker安装mysql8.0文档

第一步需要安装Docker基础环境&#xff0c;具体可以看看这篇 docker基础篇 第二步&#xff0c;拉取mysql8.0的镜像 docker pull mysql:8.0 第三步&#xff0c;镜像启动和文件挂载 复制下面命令执行&#xff0c;33006是对外访问暴露的端口&#xff0c;当然你也可以设置为3306…...

在函数中使用变量

shell脚本编程系列 向函数传递参数 函数可以使用标准的位置变量来表示在命令行中传给函数的任何参数。其中函数名保存在$0变量中&#xff0c;函数参数则依次保存在$1、$2等变量当中&#xff0c;也可以使用特殊变量$#来确定参数的个数 在脚本中调用函数时&#xff0c;必须将参…...

python算法中的深度学习算法之自编码器(详解)

目录 学习目标: 学习内容: 自编码器 Ⅰ. 编码器(Encoder) Ⅱ. 解码器(Decoder)...

Python入门(一)Python概述与环境搭建

Python概述与环境搭建 1.概述1.1版本及下载1.2 Python 特点 2.环境搭建3.第一个程序“hello&#xff0c;world”4.可能会存在的问题 1.概述 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性&#xff0c;相比其他语言…...

02_Lock锁

首先看一下JUC的重磅武器——锁&#xff08;Lock&#xff09; 相比同步锁&#xff0c;JUC包中的Lock锁的功能更加强大&#xff0c;它提供了各种各样的锁&#xff08;公平锁&#xff0c;非公平锁&#xff0c;共享锁&#xff0c;独占锁……&#xff09;&#xff0c;所以使用起来…...

面试总结,4年经验

小伙伴你好&#xff0c;我是田哥。 本文内容是一位星球朋友昨天面试遇到的问题&#xff0c;我把核心的问题整理出来了。 1&#xff1a;Java 层面的锁有用过吗&#xff1f;除了分布式锁以外 是的&#xff0c;Java中提供了多种锁机制来保证并发访问数据的安全性和一致性。常见的J…...

享受简单上传体验:将Maven仓库迁移到GitHub

前言&#xff1a;我为什么放弃了Maven Central 之前我写过一篇《Android手把手&#xff0c;发布开源组件至 MavenCentral仓库》&#xff0c;文中详细介绍了如何发布组件到Maven Central中供所有开发者共用。但是最近使用下来&#xff0c;发现Sonatype JIRA 的Maven Center上传…...

R语言 | 进阶字符串的处理

目录 一、语句的分割 二、修改字符串的大小写 三、unique()函数的使用 四、字符串的连接 4.1 使用paste()函数常见的失败案例1 4.2 使用paste()函数常见的失败案例2 4.3 字符串的成功连接与collapse参数 4.4 再谈paste()函数 4.5 扑克牌向量有趣的应用 五、字符串数据的…...

【MySQL高级】——InnoDB索引MyISAM索引

一、索引概述 MySQL官方对索引的定义为&#xff1a;索引&#xff08;Index&#xff09;是帮助MySQL高效获取数据的数据结构。 索引的本质&#xff1a;索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”&#xff0c;满足特定查找算法。 这些数据结构以某种方式指向…...

电影《灌篮高手》观后

上周和同学一起看了电影《灌篮高手》这部电影&#xff0c;个人以前没有看过相关漫画和动画&#xff0c;但记得&#xff0c;看过海报和一些宣传物品&#xff0c;有的衣服上&#xff0c;有文具盒上&#xff0c;也都出现过&#xff0c;而且是在自己小时候&#xff0c;可见当时的影…...

C# .Net 中的同步上下文

.Net 中的同步上下文 【文 / 张赐荣】 什么是同步上下文&#xff1f; 同步上下文&#xff08;SynchronizationContext&#xff09;是一个抽象类&#xff0c;它提供了一个基本的功能&#xff0c;用于在不同的同步模型中传播一个同步操作。 同步上下文表示一个代码执行的位置&a…...

3分钟入门:Flex 布局

flex 布局原理 全称 flexible box&#xff0c;弹性布局。 如何开启&#xff1a;为元素添加 display: flex。 开启 flex 布局的元素&#xff0c;称为 flex 容器&#xff08;flex container&#xff09;&#xff0c;其子元素成为容器成员&#xff0c;称为 flex 项目。 flex 布…...

技术驱动B端拓客升级:号码核验行业的痛点突围与发展新路径,氪迹科技核验筛选算法系统,法人股东核验,阶梯式价格

在B端市场竞争愈发精细化的当下&#xff0c;拓客工作的核心竞争力已从“广撒网”转向“精准触达”&#xff0c;而企业核心决策人的有效联系方式&#xff0c;正是精准拓客的关键载体。号码核验作为拓客流程的前置核心环节&#xff0c;直接决定着拓客投入的回报效率&#xff0c;更…...

以太网MAC与PHY接口技术详解

以太网PHY、MAC及其通信接口技术解析1. 以太网接口架构概述1.1 基本组成结构以太网接口电路从硬件角度可分为两大核心组件&#xff1a;MAC控制器&#xff08;Media Access Control&#xff09;&#xff1a;负责数据链路层的媒体访问控制PHY芯片&#xff08;Physical Layer&…...

嵌入式正交编码器软件解码库设计与实现

1. QuadratureEncoder 库概述QuadratureEncoder 是一个专为嵌入式系统设计的正交编码器信号处理库&#xff0c;面向 STM32、ESP32、nRF52 等主流 MCU 平台&#xff0c;提供高精度、低开销、抗干扰的旋转位置与速度检测能力。该库不依赖特定硬件外设&#xff08;如 STM32 的 TIM…...

从MSTAR到RSDD-SAR:一文看懂SAR目标检测数据集20年演进,你的模型该用哪个?

从MSTAR到RSDD-SAR&#xff1a;SAR目标检测数据集的二十年技术进化与选型实战 军用雷达技术研究员李明曾在2018年遇到一个棘手问题&#xff1a;他训练的舰船检测模型在实验室测试准确率达到98%&#xff0c;实际部署到南海海域时性能却暴跌至62%。问题根源很快锁定在数据集——他…...

别再只会setValue了!Qt进度条QProgressBar/QProgressDialog的5个实战技巧与避坑指南

别再只会setValue了&#xff01;Qt进度条QProgressBar/QProgressDialog的5个实战技巧与避坑指南 在开发文件管理器、下载工具或数据处理软件时&#xff0c;进度条往往是用户最直观的体验指标之一。一个"聪明"的进度条不仅能准确反映任务状态&#xff0c;还能提升用户…...

推荐一款微服务商城系统:技术栈新、全开源、好二开、运维还省心

一个开源商城&#xff0c;最怕的是什么&#xff1f;不是功能少&#xff0c;功能少可以慢慢加。不是文档烂&#xff0c;文档烂可以慢慢啃。最怕的是&#xff1a;你把系统拿到手&#xff0c;折腾了半天终于跑起来&#xff0c;结果发现核心代码是加密的&#xff0c;想改个支付逻辑…...

通用GUI编程技术——Win32 原生编程实战(十八)——GDI 设备上下文(HDC)完全指南

通用GUI编程技术——Win32 原生编程实战&#xff08;十八&#xff09;——GDI 设备上下文&#xff08;HDC&#xff09;完全指南 前面一系列文章我们聊了对话框、控件、资源这些内容&#xff0c;我们的窗口已经能够显示各种控件了。但你可能已经发现了一个问题&#xff1a;我们所…...

STM32姿态报警器设计:MPU6050与卡尔曼滤波实战

基于STM32的姿态翻转报警器设计与实现1. 项目概述1.1 系统架构本姿态翻转报警系统采用模块化设计&#xff0c;核心架构由STM32F103RCT6微控制器作为主控单元&#xff0c;通过I2C接口连接MPU6050惯性测量单元(IMU)传感器&#xff0c;实时采集设备的三轴加速度和三轴角速度数据。…...

3大核心步骤打造专属翻译引擎:Zotero PDF Translate高级扩展指南

3大核心步骤打造专属翻译引擎&#xff1a;Zotero PDF Translate高级扩展指南 【免费下载链接】zotero-pdf-translate 支持将PDF、EPub、网页内容、元数据、注释和笔记翻译为目标语言&#xff0c;并且兼容20多种翻译服务。 项目地址: https://gitcode.com/gh_mirrors/zo/zoter…...

GCC编译选项详解与工程实践指南

GCC编译选项深度解析与工程实践指南1. 编译选项基础概念1.1 编译过程与选项作用GCC编译过程分为预处理、编译、汇编和链接四个阶段。编译选项通过控制这些阶段的行为&#xff0c;实现不同的编译目标&#xff1a;# 完整编译流程示例 gcc -E main.c -o main.i # 预处理 gcc -S…...