码迷,mamicode.com
首页 > 数据库 > 详细

Sqlserver 连接oracle和mysql数据库

时间:2015-10-22 10:39:48      阅读:315      评论:0      收藏:0      [点我收藏+]

标签:

如果需要mysql和oracle互相转化数据,可以先把mysql数据读到sqlserver的表中,然后从sqlserver 插入到oracle中。

或者相反从oracle读到sqlserver然后从sqlserver到mysql,把sqlserver作为一个中间的桥梁

 

通过SQL Server操作MySQL的步骤和方法  

2011-07-11 17:36:01|  分类: 数据库 |  标签:sql  server  mysql  odbc  |举报|字号 订阅

下载LOFTER客户端
 
 

 

在多种数据库环境下,经常会遇见在不同数据库之间转换数据和互相进行操作的情况。以下简要介绍下用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详细步骤

分类: --->(3) SQL Server -->(2) Oracle

我们知道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

 

Sqlserver 连接oracle和mysql数据库

标签:

原文地址:http://www.cnblogs.com/wlzhang/p/4899912.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!