Sqlserver 连接oracle和mysql数据库 已经oracle导入sqlserver表数据
SQL Server2012创建连接服务器到ORACLE11G
8,百思考不知道原因啊??突然我发现如下:链接服务器—〉访问接口—〉OraOLEDB.Oracle—〉允许进程内没有勾上,但是我想上面的配置4里已经有(为“OraOLEDB.Oracle”这个键新增一个DWORD Value,把名字改为“AllowInProcess”),不知道为什么不起作用?????,那好吧,我只好手动的勾上了。
http://blog.csdn.net/waterxcfg304/article/details/43162403
跨数据库插入数据insert into 本地 table select * FROM OPENQUERY(ORCLLINK, 'SELECT * FROM hnfjyjy.view_procurecatalog_tb')
如果需要mysql和oracle互相转化数据,可以先把mysql数据读到sqlserver的表中,然后从sqlserver 插入到oracle中。
或者相反从oracle读到sqlserver然后从sqlserver到mysql,把sqlserver作为一个中间的桥梁
通过SQL Server操作MySQL的步骤和方法
2011-07-11 17:36:01| 分类: 数据库 | 标签:sql server mysql odbc |举报|字号 订阅
在多种数据库环境下,经常会遇见在不同数据库之间转换数据和互相进行操作的情况。以下简要介绍下用SQL Server操作MySQL的步骤和方法。
1 操作前的准备
1.1 安装MySQL驱动
想要在SQL Server中操作MySQL,首先要在SQL Server所在的服务器上安装MySQL的驱动。MySQL的驱动安装包在MySQL的官网上可以下载到,我下载到的安装包名为:mysql-connector-odbc-5.1.8-winx64,适用于64位的Windows服务器。双击安装包,直接[next]即可安装成功。安装成功后,在运行中输入[odbcad32.exe]打开[ODBC数据源管理器],点击[驱动程序]选项,可看到[MySQL ODBC 5.1 Driver]已安装成功。

1.2 建立ODBC数据源
安装好MySQL的驱动后就可以在SQL Server所在的服务器上建立指向MySQL服务器的ODBC数据源。
在[ODBC数据源管理器]中选择[系统 DSN]选项卡,点击[添加]按钮。

选择[MySQL ODBC 5.1 Driver],点击[完成]。

在弹出的配置框中填写数据源名、MySQL服务器IP、端口、用户名和密码,点击[ok],ODBC数据源创建成功。
1.3 建立链接服务器
建立链接服务器有两种方式,可以通过SQL Server Management Studio中的向导建立,也可以直接使用SQL语句建立。
1.3.1 使用向导建立链接服务器
在SQL Server Management Studio中连接上SQL Server,然后在[服务器对象]->[链接服务器]上点击右键,选择[新建连接服务器(N)…]。
在[链接服务器]框中填写自定义的链接服务器名称,[服务器类型]选择[其他数据源],[访问接口]选择”Microsoft OLE DB Provider for ODBC Drivers”,[产品名称]跟链接服务器名称填写成一样的,[数据源]填写刚才创建的ODBC数据源,点击[确定],链接服务器创建成功。

其实,也可以不建立ODBC数据源,直接建立链接服务器的,只要把[数据源]留空,而在[访问接口字符串]中填写链接字符串
“Driver={MySQL ODBC 5.1 Driver};Server=192.168.0.21;Database=test;User=root;Password=rootPassword;Option=3;”即可。如下图:

1.3.2 使用SQL语句创建链接服务器
可以使用以下SQL语句创建链接服务器,其中使用了ODBC数据源:
EXEC master.dbo.sp_addlinkedserver
@server = N'TestMySQL', --链接服务器名
@srvproduct = N'TestMySQL', --产品名称
@provider = N'MSDASQL', --访问接口
@datasrc = N'TestServer' --数据源名称
EXEC master.dbo.sp_addlinkedsrvlogin@rmtsrvname=N'TestMySQL',@useself=N'False',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL
GO
也可以使用以下SQL语句创建链接服务器,其中没有使用ODBC数据源,使用的是访问接口字符串:
EXEC master.dbo.sp_addlinkedserver
@server = N'TestMySQL', --链接服务器名
@srvproduct = N'TestMySQL', --产品名称
@provider = N'MSDASQL', --访问接口
@provstr = N'Driver={MySQL ODBC 5.1 Driver};Server=192.168.0.21;Database=test; User=root;Password=rootPassword;Option=3;' --访问接口字符串
EXEC master.dbo.sp_addlinkedsrvlogin@rmtsrvname=N'TestMySQL',@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL
GO
2 通过SQL Server操作MySQL
MySQL数据库test 中的数据表TestTable的结构如下:

操作该表的方法如下:
2.1 查询MySQL中的数据
select * from openquery(TestMySQL,'select * from test.TestTable');
2.2 向MySQL表中插入数据
insert into openquery(TestMySQL,'select * from test.TestTable')
select 1,'TestName';
2.3 删除MySQL表中的数据
delete from openquery(TestMySQL,'select * from test.TestTable');
2.4 修改MySQL表中的数据
update openquery(TestMySQL,'select * from test.TestTable')
set TestName='ABCDE' where TestID=1;
我们知道SQL Server和Oracle其实很多原理都类似.特别是一些常用的SQL语句都是按照标准来.所以它们也可以有一定的互操作性的.这里讲一下,怎么配置让SQL Server连接一个Oracle.然后你在SQL Server中也能查看Oracle中表的内容.
我先说下我使用的环境:
操作系统: win7 64 ,SQL Server 2008 ,Oracle Server 11gr1
另外进行配置前还要注意几点,是在SQL Server服务器所在地方进行配置.(客户端能不能我没试过,不确定).Oracle的server随便在哪无所谓了,只要你能连接得到就行.然后就是要装好oracle的客户端.
第一步 安装好oracle客户端,并配置好TNS信息
先配置好oracle的TNS连接信息.这个跟正常情况使用oraclep完全一样
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 123.456.176.42)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
第二步,配置odbc信息
配置好odbc连接信息,sql server肯定不能直接调用oracle的客户端去连接的,只能通过odbc的方式间接的去连.在你平时敲cmd的地方敲入odbc打开下面界面.你先去driver那地方看下有oracle的driver了不.装好了oracle的客户端的话肯定就会有的.

然后选user DSN,点Add ,选择上一个画面中看到的oracle driver.

出现这页面后,在Data Source Name随便输入一个名字,这个名字就要后面sql server要用到的.TNS Service Name的下拉列表中就是oracle中配置好的TNS信息,如果你开始没有配置的话这里就为空的.你选一个TNS名字后,可以点下test connection验证下看连接上了不.

第三步 在sql server中配置
在前面创建好odbc数据源后就可以在sql server中配置了啊.先打开management studio.在server objects下面有个Linked Servers,选中它并右击new linked server.打开如下页面.在linked server中输入一个名字,随便取的,在后面执行sql时会用到这名字.provider就选Oracle Provider for OLE DB. product name就填oracle
Data source就是你开始配置odbc时取的名字.其他地方就不用管了.然后再点下Security会弹出另一个页面

在此页面最下面的地方输入用户名和密码,然后点OK

于是大功告成了.你在Linked Servers下面会看到ORA_ARWEN.下面就来执行几个SQL验证下
select * from openquery(ORA_ARWEN,'select sysdate from dual');
--select * from openquery这是固定的格式,然后在括号中先写上你刚创建好的名字.这里是ORA_ARWEN,然后用一个单引号把一个sql语句括起来.此Sql语句就是在Oracle中要执行的Sql语句.select sysdate from dual是oracle获取当前时间的sql.假如你连接的那用户arwen下面有表info,你也可以写select * from info
如果需要给oracle 导入sqlserver 的数据库,可以在
(如果是导入execl 需要安装AccessDatabaseEngine.exe 驱动 ,在odbc配置相应的数据库时,相应的数据库服务是安装的,)




打开工具,点击odbc导入器

Sqlserver 连接oracle和mysql数据库 已经oracle导入sqlserver表数据的更多相关文章
- SQL Server 和 Oracle 以及 MySQL 数据库
推荐:https://www.zhihu.com/question/19866767 三者是目前市场占有率最高(依安装量而非收入)的关系数据库,而且很有代表性.排行第四的DB2(属IBM公司),与Or ...
- 在oracle配置mysql数据库的dblink
本文介绍如何在oracle配置mysql数据库的dblink:虽然dblink使用很占资源:俗称“性能杀手”.但有些场景不得不使用它.例如公司使用数据库是oracle:可能其他部门或者CP合作公司使用 ...
- ABP框架使用Mysql数据库,以及基于SQLServer创建Mysql数据库的架构和数据
ABP默认的数据库是SQLServer,不过ABP框架底层是EF框架,因此也是很容易支持其他类型的数据库的,本篇随笔介绍在ABP框架使用Mysql数据库,以及基于SQLServer创建MySql数据库 ...
- JAVA连接SqlServer2008R2和MySql数据库
问题描述: 下面是有关连接SqlServer2008R2和MySql数据库的封装类 package com.test; import java.sql.Connection; import java. ...
- 通过JSP网页连接MySQL数据库,从MySQL数据库中读出一张表并显示在JSP网页中
1.安装所需软件 ①安装java和tomcat,建立JSP网页最基础的软件②安装MySQL数据库(下载地址:https://www.mysql.com/)③安装Navicat Premium来查看数据 ...
- R语言使用RMySQL连接及读写Mysql数据库 测试通过
R语言使用RMySQL连接及读写Mysql数据库 简单说下安装过程,一般不会有问题,重点是RMySQL的使用方式. 系统环境说明 Redhat系统:Linux 460-42.6.32-431.29.2 ...
- linux下程序JDBC连接不到mysql数据库
今天在linux下部署一个 JavaEE项目的时候总是连接不到Mysql数据库,检查之后发现连接池的配置确定是对的,进入linux服务器之后以mysql -uname -ppassword连接总是报A ...
- 寝室远程连接室友mysql数据库
注意,本方法是适用于同一局域网下的远程连接 注意,本方法是适用于同一局域网下的远程连接 注意,本方法是适用于同一局域网下的远程连接 首先需要修改mysql数据库的相关配置,将user表中的host改为 ...
- robot_framewok自动化测试--(9)连接并操作 MySql 数据库
连接并操作 MySql 数据库 1.mysql数据库 1.1安装mysql数据库 请参考我的另一篇文章:MYSQL5.7下载安装图文教程 1.2.准备测试数据 请参考我的另一篇文章:Mysql基础教程 ...
随机推荐
- poj1664放苹果(递归)
题目链接:http://poj.org/problem?id=1664 放苹果 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: ...
- JSON字符串 与 JSON对象 互转
一,JSON字符串与JSON对象的区别 JSON对象是符合JSON格式的对象,可以用"对象.属性"进行存取值; JSON字符串是符合JSON格式的字符串; 二,JSON字符串-&g ...
- JS小积累(一)— 判断在线离线
JS小积累-判断在线离线 作者: 狐狸家的鱼 Github: 八至 if(window.navigator.onLine==true){ console.log('online'); ... } el ...
- 洛谷P3620 数据备份
好吧,我一开始说这是个神级数据结构毒瘤题,后来改成神题了. 主要是贪心做法的巧妙转化: 首先发现选择的一对必须相邻,于是我们搞出差分. 然后考虑选取最小值时,最小值两侧的数要么同时选,要么都不选. 然 ...
- Django cookie相关操作
Django cookie 的相关操作还是比较简单的 首先是存储cookie #定义设置cookie(储存) def save_cookie(request): #定义回应 response = Ht ...
- Python之函数对象、函数嵌套、名称空间与作用域、闭包函数、装饰器
目录 一 函数对象 二 函数的嵌套 三 名称空间和作用域 四 闭合函数 五 装饰器 一.函数对象 1.函数是第一类对象 #第一类对象的特性:# 可以被引用 # 可以当做参数传递 # 返回值是函数 # ...
- Spring Cloud构建微服务架构(六)高可用服务注册中心
http://blog.didispace.com/springcloud6/ https://www.jianshu.com/p/df9393755a05 http://www.ityouknow. ...
- gcc生成含有C信息的汇编
title: gcc生成含有C信息的汇编 tags: gcc date: 2018-10-24 23:40:19 --- https://www.cnblogs.com/fengkang1008/p/ ...
- MacOS环境中 python3 部署
MacOS环境中 python3 部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.在MacOS安装Python3.6 1>.打开python关于MacOS版本的官方网 ...
- JAVA核心技术I---JAVA基础知识(数据结构基础)
一:数组 (一)基本内容是与C一致的 (二)数组定义和初始化 (1)声明 int a[]; //a没有new操作,没有被分配内存,为null int[] b; //b没有new操作,没有被分配内存,为 ...
