Зачем нужна эта обработка
«Пф, очередная консоль запросов, еще и без всяких наворотов» – скажете вы. Действительно, ничего нового, ставка сделана на максимальную простоту, определенное удобство работы и скорость.
Перечислю особенности данной консольки:
— возможность выполнять как запросы, так и хранимые процедуры(stored procedure), возвращающие таблицу.
— форма сборки строки подключения с «человеческим лицом»
— сохранение и загрузка файлов запросов с использованием читабельного формата .txt
— возможность выгрузить только первые 100 или больше строк для ускорения выгрузки результата запроса (идея взята из Инструментов разработчика)
Приведу пример использования данной обработки на практике:
Звонит вам программист системы, с которой у вас налажена интеграция: «- Привет, я там хранимку в скуль базе накидал, называется WorkInProgressSP, можешь юзать». Перед тем, как использовать данную хранимую процедуру, неплохо было бы ее проверить. Заходим в обработку и настраиваем строку подключения:
Данная форма вызывается нажатием на кнопку «…» в строке подключения или клавишей F4. Здесь же можно проверить подключение. Затем вписываем вызов запроса или хранимой процедуры в поле ввода:
Если это хранимая процедура, то формат вызова:
exec ИмяХранимойПроцедуры Параметр1,…,ПараметрN
или если это запрос к таблице или представлению (view):
select * from ИмяТаблицы
Далее жмем кнопку Выполнить, результат будет помещен в таблицу в нижней части формы. Таблицу результата можно сохранить при желании в Excel формате, нажав на «Вывести список…», затем с помощью «Сохранить как…» выбрать нужный формат.
Инструменты разработчика
Если вам нужно что-то более мощное для выполнения запросов к другим SQL базам, посмотрите консоль запросов в инструментах разработчика, один из лучших инструментов в своей нише:
На мой взгляд консоль запросов в ИР обладает некоторыми недостатками:
— требует интеграции в существующую БД (а значит снятия с поддержки). Хотя если использовать консоль в режиме ADO-запросов, можно держать отдельную базу только с ИР. Существует портативный вариант Инструментов разработчика, состоящий из набора внешних обработок и в таком варианте консоль запросов не требует интеграции, при этом её функционал не меньше, чем в полном варианте.
— текст запроса и строка подключения находятся на разных вкладках, при выполнении запроса если надо вспомнить к какой базе он выполняется, приходится переключаться между этими вкладками. К тому же, на мой вкус, консоль запросов ИР сильно загромождена редко используемыми функциями.
— иногда не работает подключение к базе, хотя строка подключения корректна, выдавая сообщение «Login failed for user ‘user_login’». Есть некоторые баги в конструкторе запросов ИР.
UPD 25.04.2025
— В обработку добавлена управляемая форма с аналогичным функционалом
— Оптимизировано получение первых N строк, до этого из запроса выгружалась вся таблица, а ограничение работало во время копирования в табличную часть, также убраны промежуточные таблицы.
UPD 05.10.2025
— Исправлено некорректное определение типа данных, содержащихся в столбце результата запроса. Раньше тип определялся по типу первого элемента выборки, теперь тип данных столбца анализируется по свойствам com-объекта описания полей результата запроса.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms675318(v=vs.85).aspx
UPD 18.01.2025
Исправлена работа с типами значения adBinary и adLongVarBinary. Тип adBinary возникает например при получении ссылки из базы 1с и для него выводится шестнадцатеричное представление значения. Тип adLongVarBinary возникает например при получении значения типа ХранилищеЗначения из базы 1с и для него выводится строка «<Long binary>» без отображения значения, что сделано в целях оптимизации.
Дельная вещь. Как раз подобная работа висит. Чтоб SQL-запрос из 1С 8 на реальной базе проверить.
Прокомментирую некоторые утверждения касательно консоли запросов из подсистемы «Инструменты разработчика».
1.
Это неверное утверждение, т.к. уже 3-й год как выпускается портативная версия инструментов, не требующая встраивания в конфигурацию.
2.
Подсистема большая и сложная. Конечно же там всегда будут содержаться какие то ошибки. Те, кто потрудился их описать, получают в качестве награды их исправление. Посмотрите форум на основном сайте и обсуждение публикации здесь. Там ни одна проблема не остается без внимания.
3.
Кроме уже написанного в п.2 именно по конструктору запросов замечу, что насколько мне известно ни у кого больше нет конструктора запросов для ADODB. Если я ошибаюсь, поправьте меня пожалуйста.
(3) Спасибо за комментарий от «зубра» 🙂
постараюсь ответить на ваши замечания.
Действительно, существует портативный вариант Инструментов разработчика, состоящий из набора внешних обработок. Я не использовал портативный вариант, так как в нашу базу интегрирована полная версия ИР. В заблуждение меня ввела статьяhttp://infostart.ru/public/145611/ , где указано, что мобильные ИР устарели. Извиняюсь за некорректное утверждение, исправлю в статье.
не у всех есть время отлавливать баги и ждать их исправления. К слову, я отписывал насчет одного из багов, и он был оперативно исправлен, что является большим плюсом.
Действительно, разработка по своему уникальна, и сомневаюсь, что кто-то проделал такой огромный объем работы и сделал свой конструктор. Ни в коем случае не хочу преуменьшать полезность конструктора ИР для ADO запросов, но.. в работе он как то не прижился, проще накидать запрос текстом самой MS SQL.
Подсистема Инструменты разработчика вещь замечательная, спасибо Вам за нее, мне лично нравится Консоль кода с мощной автоподстановкой кода и другими фичами 🙂
Для пользователей данной консоли: в процессе активного использования, нашел дополнительное применение консоли. В файле сохранения запроса (обычный текстовый файл .txt) хранится и строка подключения, поэтому при создании однотипных внешних источников данных в нем удобно хранить и проверять строку подключения. Под однотипными подразумеваются внешние источники данных к одной и той же базе данных.
(0) я наверно прям щаз глупость скажу, но вдруг пригодится — есть менеджмент студия.
(6) а если у меня не установлен SQL Server Management Studio (вы же про него говорите), то как мне жить?