如何在MSSQL管理器中查询MYSQL数据库表、视图数据
一、在windows上安装 mysql 的 ODBC驱动程序
官网下载地址:http://dev.mysql.com/downloads/connector/odbc/
二、配置ODBC数据源
控制面版–管理工具–数据源(ODBC)–系统DSN
具体的操作可以再问问度娘。
三、增加链接服务器
在SQLServer管理中,服务器对象/链接服务器,新增一个,名字取 mysql
其他数据源,选提供程序:Microsoft OLE DB Provider For ODBC Drivers
数据源输入刚才建立的,mysqlDSN,然后在 安全性 中输入mysql的用户密码
增加成功,即可使用mysql了
mysql数据库中有表t1,如果建立了一个链接服务器:mysql1,指向这个数据库
SQLServer数据库中有t2表,那么可以直接在SQLServer中执行下面SQL
读本地表
select * from t2
读mysql表,远程过滤
SELECT * FROM OPENQUERY([mysql1], ‘select * from t1 where id=1’)
读mysql表,本地过滤
SELECT * FROM OPENQUERY([mysql1], ‘select * from t1’)
where id=1
本地与远程表关联
SELECT * FROM OPENQUERY([mysql1], 'select * from t1 ') t1 , t2 where t1.id=t2.id
简单说,可以将OPENQUERY看作一个表
更新表
UPDATE OPENQUERY ([mysql1], ‘SELECT * FROM t1’) set i0=888 where id=1
更佳写法,尽量使用远程过滤
UPDATE OPENQUERY ([mysql1], ‘SELECT * FROM t1 where id=1’) set i0=888
插入表,注意:使用where 0=1,不返回记录,只获取表结构
insert OPENQUERY ([mysql1], ‘SELECT id,s FROM t1 where 0=1’) values(2,‘444’)
删除
delete OPENQUERY ([mysql1], ‘SELECT * FROM t1 where id=5’)
复杂一些
update t2 set i0=t1.i0 from OPENQUERY ([mysql1], ‘SELECT * FROM t1’)t1 WHERE t1.id=t2.id
—————————————