gifts2017

Простейшая консоль ADO-запросов

Опубликовал Сергей Лесовой (Synoecium) в раздел Программирование - Инструментарий

Данная обработка пригодится, если вам надо быстро проверить работоспособность и результат запроса или хранимой процедуры во внешней базе данных.

Зачем нужна эта обработка

«Пф, очередная консоль запросов, еще и без всяких наворотов» – скажете вы. Действительно, ничего нового, ставка сделана на максимальную простоту, определенное удобство работы и скорость.

Перечислю особенности данной консольки:

- возможность выполнять как запросы, так и хранимые процедуры(stored procedure), возвращающие таблицу.

- форма сборки строки подключения с «человеческим лицом»

- сохранение и загрузка файлов запросов с использованием читабельного формата .txt

- возможность выгрузить только первые 100 или больше строк для ускорения выгрузки результата запроса (идея взята из Инструментов разработчика)

 

Приведу пример использования данной обработки на практике:

Звонит вам программист системы, с которой у вас налажена интеграция: «- Привет, я там хранимку в скуль базе накидал, называется WorkInProgressSP, можешь юзать». Перед тем, как использовать данную хранимую процедуру, неплохо было бы ее проверить. Заходим в обработку и настраиваем строку подключения:

Форма сборки строки подключения

Данная форма вызывается нажатием на кнопку «…» в строке подключения или клавишей F4. Здесь же можно проверить подключение. Затем вписываем вызов запроса или хранимой процедуры в поле ввода:

 основная форма

Если это хранимая процедура, то формат вызова:

      exec ИмяХранимойПроцедуры Параметр1,…,ПараметрN

или если это запрос к таблице или представлению (view):

      select * from ИмяТаблицы

Далее жмем кнопку Выполнить, результат будет помещен в таблицу в нижней части формы. Таблицу результата можно сохранить при желании в Excel формате, нажав на «Вывести список…», затем с помощью «Сохранить как…» выбрать нужный формат.

Инструменты разработчика

Если вам нужно что-то более мощное для выполнения запросов к другим SQL базам, посмотрите консоль запросов в инструментах разработчика, один из лучших инструментов в своей нише:

http://infostart.ru/public/15126/

На мой взгляд консоль запросов в ИР обладает некоторыми недостатками:

- требует интеграции в существующую БД (а значит снятия с поддержки). Хотя если использовать консоль в режиме ADO-запросов, можно держать отдельную базу только с ИР. Существует портативный вариант Инструментов разработчика, состоящий из набора внешних обработок и в таком варианте консоль запросов не требует интеграции, при этом её функционал не меньше, чем в полном варианте.

- текст запроса и строка подключения находятся на разных вкладках, при выполнении запроса если надо вспомнить к какой базе он выполняется, приходится переключаться между этими вкладками. К тому же, на мой вкус, консоль запросов ИР сильно загромождена редко используемыми функциями.

- иногда не работает подключение к базе, хотя строка подключения корректна, выдавая сообщение «Login failed for user 'user_login'». Есть некоторые баги в конструкторе запросов ИР.

UPD 25.04.2015

- В обработку добавлена управляемая форма с аналогичным функционалом

- Оптимизировано получение  первых N строк, до этого из запроса выгружалась вся таблица, а ограничение работало во время копирования в табличную часть,  также убраны промежуточные таблицы.

Управляемая форма 

UPD 05.10.2015

- Исправлено некорректное определение типа данных, содержащихся в столбце результата запроса. Раньше тип определялся по типу первого элемента выборки, теперь тип данных столбца анализируется по свойствам com-объекта описания полей результата запроса.

https://msdn.microsoft.com/en-us/library/windows/desktop/ms675318(v=vs.85).aspx 

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ADO запросы
.epf 25,42Kb
05.10.15
9
.epf 2.1 25,42Kb 9 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Константин Юрин (kostyaomsk) 09.04.15 11:43
Дельная вещь. Как раз подобная работа висит. Чтоб SQL-запрос из 1С 8 на реальной базе проверить.
3. Сергей Старых (tormozit) 13.04.15 09:20
Прокомментирую некоторые утверждения касательно консоли запросов из подсистемы "Инструменты разработчика".

1.
требует интеграции в существующую БД (а значит снятия с поддержки)
Это неверное утверждение, т.к. уже 3-й год как выпускается портативная версия инструментов, не требующая встраивания в конфигурацию.

2.
иногда не работает подключение к базе, хотя строка подключения корректна, выдавая сообщение «Login failed for user 'user_login'»
Подсистема большая и сложная. Конечно же там всегда будут содержаться какие то ошибки. Те, кто потрудился их описать, получают в качестве награды их исправление. Посмотрите форум на основном сайте и обсуждение публикации здесь. Там ни одна проблема не остается без внимания.

3.
Есть некоторые баги в конструкторе запросов ИР
Кроме уже написанного в п.2 именно по конструктору запросов замечу, что насколько мне известно ни у кого больше нет конструктора запросов для ADODB. Если я ошибаюсь, поправьте меня пожалуйста.
4. Сергей Лесовой (Synoecium) 13.04.15 14:05
(3) Спасибо за комментарий от "зубра" :)
постараюсь ответить на ваши замечания.
Это неверное утверждение, т.к. уже 3-й год как выпускается портативная версия инструментов, не требующая встраивания в конфигурацию.

Действительно, существует портативный вариант Инструментов разработчика, состоящий из набора внешних обработок. Я не использовал портативный вариант, так как в нашу базу интегрирована полная версия ИР. В заблуждение меня ввела статья http://infostart.ru/public/145611/ , где указано, что мобильные ИР устарели. Извиняюсь за некорректное утверждение, исправлю в статье.
Те, кто потрудился их описать, получают в качестве награды их исправление.

не у всех есть время отлавливать баги и ждать их исправления. К слову, я отписывал насчет одного из багов, и он был оперативно исправлен, что является большим плюсом.
Кроме уже написанного в п.2 именно по конструктору запросов замечу, что насколько мне известно ни у кого больше нет конструктора запросов для ADODB.

Действительно, разработка по своему уникальна, и сомневаюсь, что кто-то проделал такой огромный объем работы и сделал свой конструктор. Ни в коем случае не хочу преуменьшать полезность конструктора ИР для ADO запросов, но.. в работе он как то не прижился, проще накидать запрос текстом самой MS SQL.

Подсистема Инструменты разработчика вещь замечательная, спасибо Вам за нее, мне лично нравится Консоль кода с мощной автоподстановкой кода и другими фичами :)
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа