我们正在从MySQL迁移到MSSQL。我创建了一个ODBC连接并测试了连接参数,这些参数很成功(通过ODBC Data Sources Administrator
)。另外,另外,我可以连接MySQL工作台并成功查询MySQL数据库。
当我尝试在SQL Server中运行以下命令以确认ODBC连接设置正确时:
SELECT * INTO testMySQL.dbo.shoutbox
FROM openquery(MYSQL, 'SELECT * FROM phonebook.contacts')
我收到以下错误:
OLE DB provider "MSDASQL" for linked server "MYSQL" returned message "[MySQL][ODBC 5.3(a) Driver]Can't connect to MySQL server on '127.0.0.1' (10061)".
Msg 7303, Level 16, State 1, Line 1
Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "MYSQL".
有一点需要注意,MySQL在端口3307上运行,SQL服务器在端口3306上运行。
此外,这是我用于建立连接的ODBC连接查询:
EXEC master.dbo.sp_addlinkedserver
@server = N'MYSQL',
@srvproduct=N'MYSQL',
@provider= N'MSDASQL',
@provstr=N'DRIVER={MySQL ODBC 5.3 ANSI Driver}; SERVER=127.0.0.1;
DATABASE=phonebook; USER=root; PASSWORD=123456; OPTION=3'
非常感谢提前