Прежде всего, важно помнить, что BypassPrepare
является свойством задачи «Выполнение SQL», а не подключением к базе данных.
Свойство позволяет переключать проверку синтаксиса SQL во время разработки, которая можетбудет сделано для вас VS автоматически, когда вы создаете пакет.Если вы включите проверку и попытаетесь установить синтаксически неверный оператор SQL, редактор компонентов расскажет вам все, что он думает о вас в целом, и ваши навыки кодирования SQL в частности.
С отключенной проверкой синтаксиса,Вы можете добавить в задание абсолютно любую фигню, и ничего не произойдет, пока вы не попытаетесь ее выполнить.В этом случае у вас будет исключение времени выполнения.
Если вы, как и я, и многие другие разработчики, сначала придумываете свои операторы SQL в полноценном редакторе SQL, таком как SSMS или аналогичный, вы, вероятно, неНе нужно вообще трогать этот параметр и оставить эту проверку синтаксиса отключенной по умолчанию.
Другая проблема, связанная с этим свойством, заключается в том, что оно вызывает ложные тревоги каждый раз, когда вы пытаетесь сохранить параметризованный SQL.Я не уверен, правильно ли он работает с ADO.Net, но в случае, если параметры соединения OLEDB обозначены вопросительными знаками, а встроенная программа проверки синтаксиса, похоже, блаженно не знает об этой части функциональности компонента.
Если вы думаете, переключается ли SSIS на подготовленные операторы с этим свойством, установленным в False, AFAIK этого не делает.В ETL типичный запрос обычно выполняется один раз и захватывает либо большинство, либо все строки таблицы.Нет никакой выгоды, которую можно получить, подготовив такое заявление перед выполнением.Сказав это, я на самом деле могу ошибаться;для этого нужно только настроить трассировку Profiler / XEvents.
Мой совет: оставьте значение по умолчанию.