У меня есть Linked Server
(для Oracle Server) на SQL Server 2016. Затем я создаю Stored Procedure
, чтобы выбрать связанный сервер следующим образом.
CREATE PROCEDURE dbo.TestSelectData
AS
SELECT *
FROM LinkedServer..TestUser.TestTable
При нормальном соединении он успешно работает. И Stored Procedure
возвращает ожидаемый результат. Но когда соединение со связанным сервером оборвано (неправильный пароль, неправильный IP и т. Д.), Stored Procedure
не вызывает ошибку и работает вечно.
Я попытался изменить параметр связанного сервера для connect timeout
и query timeout
на 900 (15 минут). Но это все равно не вызывает ошибку через 15 минут.
Я пытался запустить только SELECT
без Stored Procedure
, это выдает ошибку вот так.
Cannot initialize the data source object of OLE DB provider "OraOLEDB.Oracle" for linked server "LinkedServer".
Итак, почему это вызывает ошибку при использовании только SELECT
, но работает вечно в Stored Procedure
?