Есть ли способ остановить сообщение Changed database context to ...
, когда кусок SQL содержит USE database
?Как остановить сообщение «Измененный контекст базы данных ...»
ответ
Вы должны установить errorlevel из sqlcmd
, который по умолчанию 0. Примечание: не путать ErrorLevel здесь с выходным кодом sqlcmd
, который возвращается, скажем, cmd.exe
как ERRORLEVEL
.
Чтобы отключить это сообщение для всех сеанса sqlcmd
используйте опцию -m
командной строки:
sqlcmd -m 1 <other options>
Чтобы отключить это сообщение для блока кода, используйте команду :setvar
пакетное:
USE [mydb]
GO
-- Disable message for next USE command
:setvar SQLCMDERRORLEVEL 1
USE [mydb]
GO
-- Reenable
:setvar SQLCMDERRORLEVEL 0
...
Чтобы использовать :setvar
(или другие командные команды SQLCMD) в Management Studio, вам необходимо включить режим SQLCMD для окна запроса, в котором вы находитесь (меню «Режим Query/SQLCMD»). Вы увидите, что он включен, когда строки, начинающиеся с ':', имеют серый фон.
Отлично, обработал. Спасибо за помощь – SteveC
Привет, я получил это сообщение при запуске приложения, созданного с использованием delphi. Мне нужно изменить базы данных между ними. Ваш способ работает в студии управления SQL, но когда я попытался передать cmd из кода, я получил ошибку как «Неверный синтаксис рядом с« @P1 ». У кого-нибудь есть решение для этого? – kvsbhavani
@ kvsbhavani Предполагается, что синтаксис ': setvar' является частью так называемого« пакетного режима », который поддерживается только SQLCMD.EXE и SSMS (см. последний абзац моего ответа). Если вы обрабатываете это в своем собственном Код Я предлагаю вам опубликовать новый вопрос на SO. –
Другая идея - использовать имена трех частей в вашем SQL, например. вместо того, чтобы ...
USE Pubs; SELECT name FROM dbo.Authors;
... написать ...
SELECT name FROM Pubs.dbo.Authors;
Спасибо за указатель ... не уверен, что я хочу устранить все мои коды :-) – SteveC
Я пробовал - здесь это не сработало. – Algoman
возможно это не сработало потому что у меня все еще был вызов mssql_select_db после подключения (который afaik также выдает команду USE) ...Я не знаю - я решил проблему, добавив SELECT 1 после каждого USE (например, user2335044) – Algoman
В моем случае, легкое и простое решение было запустить небольшой запрос первым, такие как SELECT 1;
, Поэтому сообщение Changed database context...
было связано с этим первым запросом, и следующие запросы были получены без этого сообщения об ошибке.
Я выпускаю обновления, запустив SQLCMD все мои сценарии .sql в каталоге. Но когда вы запускаете все с помощью USE myDB, вы получаете повторяющееся измененное контекстное сообщение в файле журнала, что является скучным. Поэтому я использую этот один вкладыш. Если контекст действительно изменен, вы все равно получаете сообщение, что хорошо.
IF EXISTS (SELECT DB_NAME() ГДЕ DB_NAME() не IN ('MyDB')) USE MyDB
Это отличная идея, так как это означает, что я могу запустить скрипт в окне запроса (без необходимости включения режима SQLCMD) и использовать его в SQLCMD без его затенения сообщений об ошибках из-за повторного вывода изменений контекста. – LawrenceF
- 1. Как пометить контекст данных как измененный?
- 2. Php Apache2 Вставить большую двоичную ошибку MSSQL: измененный контекст базы данных в «базу данных»
- 3. PHP сообщение об ошибке SQL изменил контекст базы данных
- 4. Контекст базы данных - Обновить (RefreshMode.KeepChanges);
- 5. Элементы базы данных ядра Sitecore Измененный язык?
- 6. Как исправить случайно измененный пароль для пользователя базы данных phpmyadmin
- 7. Как исправить измененный пароль базы данных Sql Server
- 8. Как остановить нежелательное сообщение?
- 9. Как остановить сообщение $ _session?
- 10. Как остановить бесконечную петлю базы данных Azure
- 11. Контекст приложения базы данных с фляжкой
- 12. LightInject контекст базы данных в MVC
- 13. Статический контекст базы данных Uniq с iis
- 14. контекст выполнения триггера базы данных в PostgreSQL
- 15. Spring.NET IOC/MVC - контекст базы данных
- 16. Entity контекст не обновляет базы данных
- 17. Удалить сообщение из базы данных
- 18. Сообщение об ошибке базы данных
- 19. Получить измененный выбор данных
- 20. Поместить измененный xml обратно в сообщение?
- 21. Как получить контекст на основе типа базы данных?
- 22. AWS Lambda контекст появляется сообщение
- 23. Остановить инициализацию базы данных EF для DefaultMembershipProvider
- 24. Остановить форму от обновления, но сделать сообщение
- 25. Модель, поддерживающая контекст DataContext, изменилась с момента создания базы данных
- 26. Автоматически вызывать новое сообщение из базы данных
- 27. Последнее сообщение базы данных в Rails
- 28. Базы данных не выбрано сообщение об ошибке
- 29. Всплывающее сообщение JavaScript о изменениях базы данных
- 30. PHP Почтовое сообщение из базы данных
Где вы получите эти сообщения? Я никогда не видел его раньше. –
@ ta.speot.is вы видите их, например, при использовании 'SQLCMD.exe'? –