Один аспект нашей системы требует, чтобы наш экземпляр SQL Server взаимодействовал с MySQL Server через соединение с сервером.
MSSQL -> LinkedServer (поставщик ODBC MSDASQL) -> MySQL ODBC Connector -> 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, и что CREATE илиОператор ALTER не работает со следующей ошибкой, если VPN не активен.
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 просто пойти дальше и создать SPROC с SQL-кодом, который я говорю, и не пытаться проверять, еслиLinkedServer работает вверх / вниз.