通过SQLServer 2008 操作 MySQL的方法

2016-02-19 11:02 2 1 收藏

下面图老师小编跟大家分享通过SQLServer 2008 操作 MySQL的方法,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

【 tulaoshi.com - 编程语言 】

数据库测试环境
1. SQL Server 2008

2. MySQL 5.1.36
Database: Test
Table: TestTable

创建MySQL 测试表
代码如下:

CREATE TABLE `testtable` (
`id` int(11) DEFAULT NULL,
`name` varchar(50) DEFAULT NULL,
`age` int(11) DEFAULT NULL
)

 
创建Link Server
下面来创建一个与MySQL交互的链接(类似Oracle 的DBLink),在SQL Server 管理器中右键Server Objects 目录下的Linked Servers 点击“New Linked Server”:

Linked server 链接名称
Server Type 选择“Other data source”
Provider 选择“Microsoft OLE DB Provider for ODBC Drivers”
Product name 填写MySQL 主机地址
Provider String 填写 Driver={MySQL ODBC 5.1 Driver};Server=ServerName;Database=myDB;
User=myUserName;Password=myPassword;Option=3;

也可以通过TSQL 直接创建:
代码如下:

EXEC master.dbo.sp_addlinkedserver
@server = N'MYSQLLINK',
@srvproduct = N'localhost',
@provider = N'MSDASQL',
@provstr = N'Driver={MySQL ODBC 5.1 Driver};Server=localhost;
Database=test;User=root;Password=root;Option=3;'

EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname = N'MYSQLLINK',
@useself = N'False',
@locallogin = N'localhost',
@rmtuser = N'root',
@rmtpassword = N'root'

创建完成后便会看到下图中的链接:


操作MySQL 数据库
在SQL Server 中通过OPENQUERY 函数对MySQL 进行操作,该函数包含两个参数:第一个为已创建的链接名称,第二个为SQL 查询,它将返回对Linked Server 的读取或修改操作。如下操作示例:

OPENQUERY ([LinkedServer], 'SELECT * FROM [RemoteTable]')向TestTable 中插入测试数据:

insert into openquery(mysqllink,'select * from testtable')
select 1,'Peter',30;查询数据:

select * from openquery(mysqllink,'select * from testtable');

修改数据:
代码如下:

update openquery(mysqllink,'select * from testtable')
set name='Jone' where id=1;

 
删除数据:
代码如下:

delete from openquery(mysqllink,'select * from testtable')
where id=1;

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)相关参考资料

http://dev.mysql.com/downloads/mirror.php?id=376346

http://www.connectionstrings.com/mysql#p21
作者: Gnie

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1596385.html

延伸阅读
--说明:例如,将下列数据 id id_value ----------------- 1 'aa,bb' 2 'aa,bb,cc' 3 'aaa,bbb,ccc' --转换成以下的格式 id id_value ----------------- 1 'aa' 1 'bb' 2 'aa' 2 'bb' 2 'cc' 3 'aaa' 3 'bbb' 3 'ccc' --代码-------------------------------------------GO 代码如下: create table ta ( id int, id_val...
证书同时包含公钥和密钥,前者用来加密,后者解密。SQL Server可以生成它自己的证书,也可以从外部文件或程序集载入。因为可以备份然后从文件中载入它们,证书比非对称密钥更易于移植,而非对称密钥却做不到。这意味着可以在数据库中方便地重用同一个证书。 注意:证书和非对称密钥同样的消耗资源。 我们看一组例子: 示例一、创建数据库证...
如下图: 1、服务器主密钥(Service Master Key),位于层次结构的最顶端,并且在安装SQL Server时自动创建,用于加密系统数据、链接的服务器登录名以及数据库主密钥。在第一次通过SQL Server使用服务主密钥来加密证书、数据库主密钥或链接的服务器主密码时,服务主密钥会自动生成,并且使用SQL Server服务账户的Windows证书来生成它。如果必...
1.定义变量时可以直接赋值 DECLARE @Id int = 5 2.Insert 语句可以一次插入多行数据 INSERT INTO StateList VALUES(@Id, 'WA'), (@Id + 1, 'FL'), (@Id + 2, 'NY') 3.支持+=操作符 SET StateId += 1 完整示例如下: 代码如下: CREATE TABLE StateList(StateId int, StateName char(2)) GO -- Declare variable and assign a value in...
(provide:命名管道提供程序,error:40 -无法打开到SQL Server的连接)(Microsoft SQL Server,错误:2) 有几次连接数据库,打开SQLServer 2008的时候弹出这样的窗口,一开始不知道怎么做,后来才知道 可以通过 打开 配置工具的 SQLServer配置管理器 点击 SQLServer 服务 设置如图: 如果还有其他情况,可以设置配置中的客户端协议如下...

经验教程

311

收藏

70
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部