Я использую Flyway для управления версиями базы данных для базы данных SQL Server 2014. У меня есть 800 хранимых процедур.QUOTED_IDENTIFIER задерживается в некоторых хранимых процедурах при переносе 800+ хранимых процедур с использованием Flyway
В начальной миграции для около 394 хранимых процедур QUOTED_IDENTIFIER
установлено на OFF
. Но когда я переношу его отдельно, имея в качестве единственной хранимой процедуры, тогда QUOTED_IDENTIFIER
установлен в ON
.
Всегда значением по умолчанию QUOTED_IDENTIFIER
является ON
.
Я попытался установить значение QUOTED_IDENTIFIER
(QUOTED_IDENTIFIER=ON
) в JTDS
строка подключения, но не используется.
Есть ли обходной путь для этого?
Мне интересно, почему атрибут 'Quoted_Identifier' установлен в' OFF' только для некоторых хранимых процедур. Например, если я выполняю 46 хранимых процедур 6 из этих процедур, атрибут Quoted_Identifier' равен 'OFF'. Есть ли безопасный способ установить значение 'Quoted_Identifier' для' ON' для хранимой процедуры во время создания, если значение специально не установлено в 'OFF'? – zeee
Если вы не вызываете 'set quoted_identifier on' перед опцией' create procedure', процедура наследуется от текущих настроек соединения. Эти настройки часто «заражаются» разными людьми (повторно), создавая процедуры, не заботясь об этих липких атрибутах. Если кто-то запускает 'alter procedure', он также подберет настройки окружающего мира. – Clay