Мы только что столкнулись с проблемой, когда один из наших хранимых процессов вызвал ошибку;
SELECT failed because the following SET options have incorrect settings: 'QUOTED_IDENTIFIER'
Я исправил ее, изменив хранимую процедуру и установив приведенный идентификатор на ON. Дело в том, что я сделал это до вызова CREATE PROCEDURE. Например,
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[InsertStuff]
Я бы подумал, что это повлияло на инструкцию CREATE PROCEDURE, но не повлияло бы на выполнение этой процедуры.
Все наши сценарии развертываются как сценарии drop и create и выполняются через sqlcmd. Я только что прочитал, что здесь (поиск Пример: Выполнение SQLCMD) и здесь , что sqlcmd выполняется с приведенным идентификатором off . Я изменил наш сценарий, включив параметр -I, чтобы увидеть, устраняет ли это наши проблемы.
Мои вопросы затем;
1) Влияет ли инструкция SET QUOTED_IDENTIFIER ON только на инструкцию DDL CREATE PROCEDURE или также на выполнение хранимой процедуры? Мой быстрый тест показывает последнее.
2) Поскольку по умолчанию этот переключатель включен, я предполагаю, что установка переключателя -I
запроса sqlcmd не окажет неблагоприятного воздействия. Для всех целей и намерений я предположу, что это то же самое, что копировать содержимое сценария, а затем вставлять их в менеджер запросов и выполнять. Пожалуйста, исправьте меня, если я ошибаюсь в этом. Наш простой сценарий развертывания выглядит следующим образом:
@echo off
SET dbodir=../Schema Objects/Schemas/dbo/Programmability/Stored Procedures/
SET tpmdir=../Schema Objects/Schemas/TPM/Programmability/Stored Procedures/
echo --- Starting dbo schema
for %%f in ("%dbodir%*.sql") do (echo Running %%f.... && @sqlcmd -I -U %1 -P %2 -S %3 -d %4 -i "%dbodir%%%f")
echo --- Completed dbo schema
echo --- Starting TPM schema
for %%g in ("%tpmdir%*.sql") do (echo Running %%g.... && @sqlcmd -I -U %1 -P %2 -S %3 -d %4 -i "%tpmdir%%%g")
echo --- Completed TPM schema
pause
Спасибо заранее
Правка:
Кажется, что существует некоторая дополнительная информация , чтобы определить, где хранятся опции НАБОРА для хранимых процессов, и принятый ответ на этот вопрос предоставляет некоторые сведения об общих правилах, касающихся общего порядка приоритета, который применяется к опциям НАБОРА. В комментариях к этому также говорится, что
«... Только QUOTED_IDENTIFER и ANSI_NULLS настройки фиксируются во время создания процедуры». «... SET QUOTED IDENTIFIER не может быть установлен во время выполнения внутри хранимой процедуры» (мой акцент).
Я чувствую, что отвечает на мой первый вопрос.
Есть ли участники второй части?
-121--1187047-
Я использую xcodebuild install -alltargets -iphoneos4.2 -activeconfiguration provisioning_profile=path_of_my_provisioningprofile code_sign_identity=identity
.
Эта команда создает мое приложение, и я также получаю файл сборки (.app).
Но как установить приложение на устройство из командной строки.
Пожалуйста, помогите мне в этом вопросе.