gpt4 book ai didi

mysql - 创建从 MS SQL Server 到 Google Cloud MySQL 服务器的链接服务器实例

转载 作者:行者123 更新时间:2023-11-29 17:57:18 24 4
gpt4 key购买 nike

我一直在尝试将 MSSQL 服务器的数据库连接到 Google Cloud MySQL 服务器,以便我可以在它们之间进行联接。我已经在我的机器上设置了正确的 ODBC 并测试了连接,效果很好。但是当我在 MS Server Management Studio 中设置链接服务器时,出现错误 7303

The linked server has been created but failed a connection test. Do you want to keep the linked server?

Additional information: An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "MYSQL". OLE DB provider "MSDASQL" for linked server "MYSQL" returned message "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified". (Microsoft SQL Server, Error: 7303

我在这里可能缺少什么?我确保我拥有的 ODBC 驱动程序是 64 位(与我拥有的 MS 服务器管理相同),但也将系统 DSN 配置为 32 位。我必须在 Google Cloud Server 上配置什么才能使此链接正常工作吗?由于 DSN 连接测试通过,我认为肯定是 Server Management Studio 本身出现了某种故障。谢谢!

编辑:这是用于创建链接服务器的脚本:

USE [master]
GO
EXEC master.dbo.sp_addlinkedserver @server = N'SERVERNAME', @srvproduct=N'MSDASQL', @provider=N'MSDASQL', @datasrc=N'server-name'

GO
EXEC master.dbo.sp_serveroption @server=N'SERVERNAME', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'SERVERNAME', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'SERVERNAME', @optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'SERVERNAME', @optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'SERVERNAME', @optname=N'rpc', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'SERVERNAME', @optname=N'rpc out', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'SERVERNAME', @optname=N'sub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'SERVERNAME', @optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'SERVERNAME', @optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'SERVERNAME', @optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'SERVERNAME', @optname=N'query timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'SERVERNAME', @optname=N'use remote collation', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'SERVERNAME', @optname=N'remote proc transaction promotion', @optvalue=N'true'
GO
USE [master]
GO
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'SERVERNAME', @locallogin = NULL , @useself = N'False'
GO

最佳答案

说实话,实际上这是客户端错误。
您的客户端计算机上没有安装 MSDASQL 驱动程序,或者您可能只有一个客户端工具无法连接到的版本,例如在运行 64 位客户端时使用 32 位驱动程序。

创建链接服务器没有错误是正常的。
sp_addlinkedserver 不检查驱动程序;它只是创建相关的表条目。

要轻松查看您拥有的驱动程序,请尝试使用可视化 ODBC 数据源工具。
您可以开始创建 DNS 的过程并查看所有驱动程序名称。它可能只有长名称,但这些也有效。

关于mysql - 创建从 MS SQL Server 到 Google Cloud MySQL 服务器的链接服务器实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48685859/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com