通过sql server 连接mysql

图文:通过sql server 连接mysql

1、在SQL SERVER服务器上安装MYSQL ODBC驱动;

驱动下载地址:http://dev.mysql.com/downloads/connector/odbc/

2、安装好后,在管理工具-ODBC数据源-系统DSN-添加-选择 MYSQL ODBC 5.3 Unicode DRIVER-完成

会跳出来MYSQL连接参数

Data Source Name:数据源名称

Decription:描述,随便写

Server:MYSQL服务器的IP

Port:MYSQL的端口,默认的是3306.可以改的.

User:连接账号(在mysql上授权的账号,同时给予相应权限)

Password:密码

Database:选择链接的数据库

填好之后,点下test.成功了则会如图跳出提示框.

3,打开SQL数据库,找到链接服务器.创建链接服务器,大家都会的,所以我就把参数发一下.如图,常规选项的其他的就不用填了.确定就行了.

这里,需要注意:访问接口要选择“Microsoft OLE DB Provider for ODBC Drivers”。

数据源:选择之前已创建好的ODBC接口。

然后在安全性中 选择使用此安全上下文创建连接 填写MYSQL 数据库的登陆名和密码

4、sql 语句使用

 --查询
SELECT * FROM OPENQUERY(MYSQL_DBLINK, ‘select * from tableName where id=‘‘1‘‘‘)

--修改
UPDATE OPENQUERY(MYSQL_DBLINK, ‘select * from tableName where id=‘‘1‘‘‘) set cname=‘测试‘
--or
UPDATE OPENQUERY(MYSQL_DBLINK, ‘select * from tableName ‘) set cname=‘测试‘ where id=1

--添加
INSERT INTO OPENQUERY(MYSQL_DBLINK, ‘select * from tableName where 1=0‘)values (‘xx‘,‘xx‘,‘xx‘);  

--删除
DELETE  FROM OPENQUERY(MYSQL_DBLINK, ‘select * from tableName where id=‘‘1‘‘‘)

**【注意】在查询的时候如果出现: 链接服务器 ‘MYSQL_DBLINK‘ 的 OLE DB 访问接口 ‘MSDASQL‘ 返回了对列 ‘[MSDASQL].cname‘ 无效的数据。 

需要在MYSQL ODBC数据源上设置符合你的编码格式,如图:

5、OPENQUERY用法

对给定的链接服务器执行指定的传递查询。该服务器是 OLE DB 数据源。OPENQUERY 可以在查询的 FROM 子句中引用,就好象它是一个表名。OPENQUERY 也可以作为 INSERT、UPDATE 或 DELETE 语句的目标表进行引用。但这要取决于 OLE DB 访问接口的功能。尽管查询可能返回多个结果集,但是 OPENQUERY 只返回第一个。

Transact-SQL 语法约定

语法

OPENQUERY ( linked_server ,‘query )

参数

linked_server

表示链接服务器名称的标识符。

 query 

在链接服务器中执行的查询字符串。该字符串的最大长度为 8 KB。

备注

OPENQUERY 不接受其参数的变量。

在 SQL Server 2000 和更高版本中,OPENQUERY 不能用于对链接服务器执行扩展存储过程。但是,通过使用四部分名称,可以在链接服务器上执行扩展存储过程。例如:

EXEC SeattleSales.master.dbo.xp_msver

权限

任何用户都可以执行 OPENQUERY。用于连接到远程服务器的权限是从为链接服务器定义的设置中获取的。

时间: 2024-10-20 02:28:11

通过sql server 连接mysql的相关文章

数据库 SQL Server 到 MySQL 迁移方法总结

最近接手一起老项目数据库 SQL Server 到 MySQL 的迁移.因此迁移前进行了一些调查和总结.下面是一些 SQL Server 到 MySQL 的迁移方法. 1. 使用 SQLyog 迁移 具体方法可以参加:http://www.cnblogs.com/gaizai/p/3237907.html 优点:该迁移方法很简单,灵活,迁移时,可以进行字段的修改,比如在sql server中原来是datetime,然后迁移到mysql时你可以配置成timestamp: 成功率很高: 缺点:迁移很

SQL Server 连接字符串和身份验证 学习

SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.          PropertyName1=Value1;PropertyName2=Value2;PropertyName3=Value3;.....同样,连接字符串必须包含SQL Server实例名称:          Data Source=ServerName;          使用本地的SQL Server(localhost),如果想要使用

oracle 、sql server 、mysql 复制表数据

我们知道在oracle 中复制表数据的方式是使用 create table table_name as select * from table_name 而在sql server  中是不能这么使用的 语句如下: select * into table_name from table_name; 而在 mysql 中有两种方式 1. create table a like b 2. 类似oracle的方式 create table table_name as select * from tabl

atitit。mssql sql server 转换mysql 及 分页sql ast的搭建

atitit.mssql sql server 转换mysql  及 分页sql ast的搭建 1. 主要的的转换::函数的转换,分页的转换 1 2. 思路::mssql sql >>ast>>mysql 1 3. sql主要的如下::: 1 4. Mssql2MysqlConvertor (proj:wechatAdm4propt 2 1. 主要的的转换::函数的转换,分页的转换 2. 思路::mssql sql >>ast>>mysql 3. sql主要

解决 SQL Server 连接到服务器 错误223

我的SQL Server2005 一直正常使用但昨天出现了错误,如图. 经过上网查,网上说的办法试了好多都没有解决这个问题.在经过多次的摸索后终于搞定了,答案很简单,是sql身份验证 “sa”账号 登录密码的问题. 但是前提是你必须得保证你的sql server 的sql 身份验证可以用,所以在这里我们就先给大家讲述下怎样使sql身份验证可以启用(sql server身份验证可以用的直接跳过这一步). 首先用windows身份验证登录,windows身份验证不可以登录的请看我前面博客“解决SQL

从SQL Server到MySQL的过渡

由于微软修改了SQL Server的收费策略(之前是按CPU数收钱,现在是按CPU核数收钱),导致公司每年要多多一百万美元的支出,老板阿牛觉得这样很不值,决定转向开源免费的MySQL,虽然用的也是收费版本,但是所需要的费用就要少很多了.于是乎,公司一群.net程序员开始了苦逼的迁移工作. 下面是我在迁移工作中记录的一些问题和解决方案(不定期的更新). 由于好多的T-SQL语法在MySQL中并不能使用,所以SQL的修改就成了一大工作: CONVERT(VARCHAR(10), Date, 112)

SQL Server连接Oracle详细步骤

http://blog.csdn.net/weiwenhp/article/details/8093105 我们知道SQL Server和Oracle其实很多原理都类似.特别是一些常用的SQL语句都是按照标准来.所以它们也可以有一定的互操作性的.这里讲一下,怎么配置让SQL Server连接一个Oracle.然后你在SQL Server中也能查看Oracle中表的内容. 我先说下我使用的环境: 操作系统: win7 64  ,SQL Server 2008 ,Oracle  Server 11g

SQL Server和MySQL主外键写法对比

SQL Server主键的写法: --列级 create table dept ( dept_no int primary key, dept_name nvarchar(20) not null ) --表级 create table dept ( dept_no int not null, dept_name nvarchar(20) not null, primary key (dept_no) ) --修改 create table dept ( dept_no int not null

Sql Server 连接池及其用法

其实我们一直在使用SqlServer的连接池.在连接字符串中,Pooling为是否启用连接池,默认值为true,表示启用. 与连接池相关的两个重要参数是 Min Pool Size和 Max Pool Size ,分别是池中的最小连接数和池中的最大连接数,默认值分别是0和100. 在我们创建一个连接的实例,并调用Open()方法时,连接池管理程序会在连接池中找到一个可用的连接:当调用Close()方法时,连接池管理程序又将连接返回到连接池中,以供下一次调用Open()方法时使用. 另外,连接字符