gpt4 book ai didi

sql-server - 有没有办法阻止 SQL Server 在 CREATE/ALTER 期间验证存储过程中的 SQL

转载 作者:行者123 更新时间:2023-12-02 19:30:14 25 4
gpt4 key购买 nike

我们系统的一个方面要求我们的 SQL Server 实例通过链接的服务器连接与 MySQL 服务器通信。

MSSQL -> LinkedServer(MSDASQL ODBC 提供程序) -> MySQL ODBC 连接器 -> MySQL DB

链接服务器上的表在 SPROC 中按照以下方式调用

CREATE PROCEDURE DoStuff
AS

SELECT a.ID, a.Name, b.OtherProperty
FROM MyDatabase..MyTable a
JOIN LINKSRVR...OtherTable b
ON a.ID = b.ID

GO

问题是 MySQL 数据库位于另一个网络上,只能通过 VPN 访问,并且除非 VPN 处于事件状态,否则 CREATE 或 ALTER 语句会中断并出现以下错误。

The OLE DB provider "MSDASQL" for linked server "LINKSRVR" reported an error. 
The provider did not give any information about the error.

Cannot initialize the data source object of OLE DB provider
"MSDASQL" for linked server "LINKSRVR".

是否有办法强制 SQL Server 继续使用我告诉它的 SQL 创建 SPROC,而不是尝试验证 LinkedServer 是否启动/关闭。

最佳答案

您必须将有问题的 SQL 放入字符串中并将其作为动态 SQL 执行,从而使编译器“隐藏”有问题的 SQL。

关于sql-server - 有没有办法阻止 SQL Server 在 CREATE/ALTER 期间验证存储过程中的 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7558184/

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