sql server 连接 mysql

本文详细介绍了如何在SQL Server中配置与MySQL的ODBC连接,实现数据的查询与操作,包括建立ODBC数据源、配置远程登录信息、执行SQL查询等步骤。
SP_CONFIGURE 'show advanced options',1 
GO 
RECONFIGURE 
GO 
-- 为开启为关闭 
SP_CONFIGURE 'Ad Hoc Distributed Queries',1 
GO 
RECONFIGURE 
GO 
SP_CONFIGURE 'show advanced options',0 
GO 
RECONFIGURE


SELECT * FROM OPENROWSET('localhost','luanping';'root';'123456',
   'SELECT * FROM luanping.a_user') 



select * from OPENDATASOURCE('SQLOLEDB','server=127.0.0.1;User ID=root;Password=123456')





EXEC sp_addlinkedserver @server = 'MySqlTest3', @srvproduct='MySQL', @provider = 'MySQL ODBC 5.1 Driver', @datasrc = 'luanping'
GO
EXEC sp_addlinkedsrvlogin @rmtsrvname='MySqlTest3',@useself='false',@locallogin='sa',@rmtuser='root',@rmtpassword='123456'
SELECT * FROM OPENQUERY(MySqlTest, 'select * from book ' )


--连接mysql


安装MySQL的ODBC驱动MyODBC


1、为MySQL建立一个ODBC系统数据源,例如:选择数据库为test ,数据源名称为 myDSN


2、建立链接数据库
EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproduct='MySQL', @provider = 'MSDASQL', @datasrc = 'myDSN'
GO
EXEC sp_addlinkedsrvlogin @rmtsrvname='MySqlTest',@useself='false',@locallogin='sa',@rmtuser='mysql的用户名',@rmtpassword='mysql的密码'


3、查询数据


SELECT * FROM OPENQUERY (MySQLTest ,'select * from 表' )


Insert openquery(MySqlTest, 'select * from a_user') (id,user_name,pwd) values(16,'齐达内','99999')
SQL Server 连接 MySQL 可以通过 **链接服务器(Linked Server)** 的方式实现,利用 **ODBC 或 OLE DB 驱动程序** 来访问 MySQL 数据库。以下是具体操作步骤: --- ### ✅ 使用 SQL Server 创建链接服务器连接 MySQL #### **步骤 1:安装 MySQL ODBC 驱动** - 下载并安装 [MySQL Connector/ODBC](https://dev.mysql.com/downloads/connector/odbc/) - 安装完成后,配置系统 DSN 或使用 DSN-less 连接。 #### **步骤 2:配置链接服务器** 使用 SQL Server Management Studio (SSMS) 或直接执行 T-SQL 命令创建链接服务器: ```sql EXEC sp_addlinkedserver @server = 'MySQL_Server', @srvproduct = 'MySQL', @provider = 'MSDASQL', @datasrc = 'Your_ODBC_DSN_Name'; EXEC sp_addlinkedsrvlogin @rmtsrvname = 'MySQL_Server', @useself = 'false', @rmtuser = 'mysql_user', @rmtpassword = 'mysql_password'; ``` > `@datasrc` 是你在 ODBC 中配置的数据源名称(DSN) #### **步骤 3:测试连接** 执行如下查询测试是否能成功访问 MySQL 表: ```sql SELECT * FROM OPENQUERY(MySQL_Server, 'SELECT * FROM your_database.your_table'); ``` 或者: ```sql SELECT * FROM MySQL_Server.your_database.your_table; ``` --- ### ✅ 其他方式连接 MySQL 1. **使用 SSIS(SQL Server Integration Services)** - 在 SSIS 包中添加 MySQL 数据源,实现数据迁移或同步。 2. **使用 SQL Server Agent + 脚本(如 PowerShell、Python)** - 编写脚本连接 MySQL 并将数据导入 SQL Server。 3. **使用第三方工具** - 如:dbForge Studio、HeidiSQLSQLyog 等支持跨数据库连接的工具。 --- ### ⚠️ 注意事项 - 确保防火墙允许 SQL ServerMySQL 的通信。 - 链接服务器查询性能可能较低,适合小数据量或非实时操作。 - 建议使用 `OPENQUERY` 方式,性能优于直接四段式查询。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值