Справка по nhdbt

Описание

Программа nhdbt представляет собой клиента к ODBC-совместимым базам данных: позволяет выполнять SQL запросы и отображает результаты.

Программа предназначена, в основном, для использования в командных файлах, так как все параметры, в том числе и SQL запрос, можно задать в параметрах командной строки.
Тем не менее, для ввода запросов вручную в программе имеется терминальный режим, в котором можно вводить команды и SQL запросы вручную.

Программа подключается к любой базе данных, имеющей драйвер ODBC, в том числе dBase, файлам Microsoft Office - Excel и Access, СУБД MS SQL Server, Oracle.

Параметры запуска

Параметры запуска позволяют указать ODBC базу данных и файл запросов.

    nhdbt [dataonly] [cs:<разделитель_столбцов>] [<драйвер_ODBC>] [<параметры_подключения>] [<файл_запросов_SQL>]

    dataonly      Выводить только данные, выбранные из таблиц, и пропускать 
                  служебные данные (текст запроса, названия столбцов, время
                  выполнения, число строк, результат выполнения).
                  Режим предназначен для автоматического разбора данных
                  средствами командных файлов.                    

    cs:<разделитель_столбцов>  
                  Использовать указанный символ в качестве разделителя
                  столбцов. 
                  Если не задан, столбцы выравниваются по ширине и
                  разделяются пробелами.

    [<драйвер_ODBC>]
                  Полное название драйвера ODBC. Если содержит пробелы,
                  должно быть заключено в кавычки.

    [<параметры_подключения>]
                  Список параметров подключения, разделенных точкой с запятой.
                  Должен быть заключен в кавычки, если содержит пробелы.
                  Часто используемые параметры (точное значение зависит от 
                  базы данных):
                  DBQ       путь к папке или файлу базы данных
                  ReadOnly  доступ только на чтение
                  Exclusive запрос исключительного доступа к базе данных
                  SERVER    сетевое имя сервера БД или (LOCAL) - [SQL Server]
                  UID       имя пользователя
                  PWD       пароль пользователя
       
    [<файл_запросов_SQL>]
                  Путь и имя файла запроса. Файл может содержать один или 
                  несколько запросов. Каждый запрос должен заканчиватся
                  точкой с запятой.                   

Если при запуске указаны все параметры, то программа подключается к базе данных, выполняет запрос(ы), отключается от базы данных и завершает свою работу.

Если при запуске указаны все параметры, кроме файла с запросами SQL, то программа переходит в терминальный режим, подключается к базе данных и ожидает ввода запроса SQL или команды терминального режима (см. ниже).

Если при запуске не указана база данных, то программа переходит в терминальный режим и ожидает ввода команды терминального режима (см. ниже).

Примеры запуска:

    nhdbt dataonly cs:, "Microsoft dBase driver (*.dbf)" "DBQ=C:\Database" q1.sql
    nhdbt "Microsoft Access driver (*.mdb)" "DBQ=C:\Database\db1.mdb;UID=admin;PWD=1234"

Терминальный режим

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

Команды терминального режима:

    CONNECT       Соединение с базой данных. Ранее установленное соединение с 
                  базой данных будет разорвано.                  
    CONNECT DRIVER <драйвер ODBC> <параметры>
                  Подключение к базе данных по названию драйвера и списку 
                  параметров (DBQ, UID и т.п.). 
                  Соединение не требует наличия настроенного источника данных.
    CONNECT DS <источник данных>
                  Подключение к базе данных по настроенному источнику данных.

    DISCONNECT    Отключение от базы данных. Параметров нет.

    EXIT          Завершение работы. Параметров нет.

    HELP          Вывод справки по поддерживаемым командам терминала. 
    HELP <команда>
                  Вывод справки по определенной команде.
                   
    LIST          Перечисление объектов 
    LIST DRIVERS  Перечисление установленных драйверов ODBC
    LIST DATASOURCES       
                  Перечисление настроенных источников данных ODBC

Чтение и запись файлов с nhdbf

Возможность чтения/записи файлов в поля SQL_LONGVARBINARY вынесена в отдельную программу nhdbf.exe.

Запись файла

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

nhdbf.exe <строка подключения> <запрос insert/update> <путь и имя файла>
    <строка подключения> 
                  Включает ODBC драйвер и его параметры, например:
                  "driver={Microsoft dBase driver (*.dbf)};dbq=C:\Temp"
    <запрос insert/update>
                  SQL запрос на добавление или обновление данных, вместо 
                  значения поля SQL_LONGVARBINARY следует поставить знак
                  вопроса (?), например:
                  "insert into Files(id,file) values (1,?)"
    <путь и имя файла>
                  Путь и имя файла для записи в базу данных. 
Пример добавления файла C:\Temp\file.dat:
nhdbf.exe "driver={Microsoft dBase driver (*.dbf)};dbq=C:\Database" "insert into Files(id,file) values (1,?)" C:\Temp\file.dat
Пример обновления существующей записи другим файлом C:\Temp\file12.dat:
nhdbf.exe "driver={Microsoft dBase driver (*.dbf)};dbq=C:\Database" "update Files set file=? where id=1" C:\Temp\file12.dat
В одном сеансе может быть добавлен или обновлён один файл.

Чтение файла

Параметры запуска программы для чтения поля в файл:

nhdbf.exe <строка подключения> <запрос select>
    <строка подключения> 
                  Включает ODBC драйвер и его параметры, например:
                  "driver={Microsoft dBase driver (*.dbf)};dbq=C:\Temp"
    <запрос select>
                  SQL запрос на считывание данных. Первый столбец должен 
                  содержать поле SQL_LONGVARBINARY, второй - выражение,
                  задающее путь и имя файла. Выражение может быть 
                  фиксированным, например:
                  "select file,'file.dat' from Files where id=152"
                  или вычисляемым из полей записи, например, для считывания
                  фотографий сотрудников в файлы с названиями по именам 
                  сотрудников:
                  "select Image,LastName+'.'+FirstName+'.jpg' from Employees"
Пример считывания одного поля одной записи в файл C:\Temp\file.dat:
nhdbf.exe "driver={Microsoft dBase driver (*.dbf)};dbq=C:\Database" "select file,'C:\Temp\file.dat' from Files where id=1"
Пример считывания нескольких записей - фотографий сотрудников отдела с индексом 4:
nhdbf.exe "driver={Microsoft dBase driver (*.dbf)};dbq=C:\Database" "select Image,LastName+'.'+FirstName+'.jpg' from Employees where Dept=4"

История версий

Версия 1.3.0

Версия 1.2.2


Это описание относится к программе nhdbt версии 1.3.0. Примеры использования и обновления находятся на странице программы.
Программа работает под Windows XP SP2. Разрешается свободное некоммерческое распространение программы. Обратная связь на форуме программы.