У меня есть SP, созданный в базе данных A, которая имеет несколько SQL текстов (Delete/Insert/Update)
и часть его, вызывающая другую процедуру базы данных B в блоке try. Если я запускаю локально, он работает нормально, но когда я выполняю SP через ETL tool
параллельно с параллелизмом, из 6 вызовов 2 или 3 случайно терпят неудачу, говоря, что объект базы данных B не существует databaseA.object, Не уверен, почему это происходит.
есть идеи, как решить? Может ли это быть связано с потоком sql операторов? Как мы можем гарантировать, что операторы sql выполняются после других? SQL не работает только при привязке к базе данных B. ETL устанавливает соединение с базой данных A, и, поскольку он не дает сбоев для всех операторов, я не занимаюсь его авторизацией.
Create procedure DB_A_PROC(id varchar)
--
---
as
Try {
sql1 execution on database B (Calling another procedure of database B)
sql2 exeecution on database A (delete)
sql3 execution on database B (Calling another procedure of database B)
sql4 execution on database B (Calling another procedure of database B)
sql5 execution on database A (insert)
sql6 execution on database B (Calling another procedure of database B)
}
catch {
}