【小白专用】Sql Server 连接Mysql 更新23.12.09

目标

已知mysql连接参数(地址和用户),期望通过Microsoft Sql Server Management Studio (以下简称MSSSMS)连接Mysql,在MSSSMS中直接查询或修改Mysql中的数据。


一般是选最新的版本下载。
选64位还是32位,要保证和你的sqlserver版本一致,利用下面sql查看:

一、下载mysql的odbc驱动

1、官方下载包

二、安装mysql odbc

双击msi文件即可安装,安装步骤如下:

(三)配置ODBC

打开ODBC,添加数据源驱动程序,配置MySQL链接

2.1、搜索odbc,用管理员身份运行:

2.1 控制面板→管理工具→ODBC数据源(64位)→双击打开

2.2 添加msql odbc数据源

点击系统DSN→添加→MySQL ODBC x.1 Unicode Driver

点击完成后,跳出mysql链接页面

Data Source Name:数据源名称
Decription:描述,随便写
Server:MYSQL服务器的IP
Port:MYSQL的端口,默认的是3306.可以改的.
User:连接账号(在mysql上授权的账号,同时给予相应权限)
Password:密码

Database:选择链接的数据库
 

2.3测试添加是否成功

填上mysql的基本信息,点击Test提示成功即可点击ok

五 、打开!SQL Server Management Studio

右键添加链接服务器

5.1 常规

链接服务器:可自定义取名,用于后面调用访问
数据源为odbc的名称,如这里,如这里我应该填写MYSQL

5.2 密码

填写mysql的用户和密码,点击确定,无任何报错即可。

经过上面两步,就可以连接成功了,连接成功是没有成功窗口的。

服务器下面能看到连接名且下面有数据库就算成功连接。

--创建链接服务器  更新2023.12.09 11:30


--创建链接服务器
EXEC sp_addlinkedserver @server = 'MYSQLTEST', @srvproduct='MySqlTest',@provider = 'MSDASQL',@datasrc ='MYSQL'
 
--删除链接服务器
execute sys.sp_dropserver @server='MYSQLTEST'


--其中的 @server = 'MYSQLTEST'指自定义的服务名,@srvproduct='MySqlTest'自己随便 ,@provider='MSDASQL'固定这个, @datasrc ='MYSQL'  是指 ODBC中的数据源名称。

执行语句

刷新对象资源管理器中的链接服务器,能看到的Connector ODBC里面填的data source name内容,目录下对应的是mysql里的数据库

六、linkedserver查询语句

6.1 利用OPENQUERY访问

--linkedserver查询语句 利用OPENQUERY访问 更新2023.12.09 11:30


-- MYSQLTEST为链接服务器名称
-- 里面的select需要使用''引起来,并且如果寻找where条件的字符还需要再添加一次引号
select * from openquery(MYSQLTEST,'select * from user ')

select * from openquery(MYSQLTEST,'select * from user where User = ''root''')

(此处OPENQUERY函数相当于是一个表名,你在SQL SERVER中可以对其进行增删改查的操作。此处好像只能增删改查,别的就不行了,请高手指教一下)

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

----------------------

附件 

- linkedserver可能报错问题

如果上面连接linkedserver时可能报如下错误:

解决办法:

  1. 新增用户名并分配权限
  2. 需要对root账户做些操作,这个方法不建议,就不做解释了。

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2023-12-09 12:10:05       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-09 12:10:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-09 12:10:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-09 12:10:05       20 阅读

热门阅读

  1. postgresql12配置主从

    2023-12-09 12:10:05       30 阅读
  2. 【flutter压缩Uint8List图片大小】

    2023-12-09 12:10:05       36 阅读
  3. AIGC: 关于ChatGPT中实现一个聊天机器人

    2023-12-09 12:10:05       39 阅读
  4. .ros空间的清理

    2023-12-09 12:10:05       36 阅读
  5. centos7.9安装k8s v1.28.4

    2023-12-09 12:10:05       29 阅读
  6. ubuntu20.04设置开机自启动jar(依赖其他服务)

    2023-12-09 12:10:05       40 阅读
  7. SQL Server事务(Transaction)

    2023-12-09 12:10:05       35 阅读
  8. 【Docker】进阶之路:(十)Docker日志管理

    2023-12-09 12:10:05       30 阅读
  9. ffmpeg与opencv-python处理视频

    2023-12-09 12:10:05       37 阅读
  10. 鸿蒙(HarmonyOS)应用开发——http的使用

    2023-12-09 12:10:05       48 阅读
  11. LeetCode刷题笔记之链表

    2023-12-09 12:10:05       25 阅读
  12. 人大金仓(kingbase)数据库常用sql命令

    2023-12-09 12:10:05       33 阅读