Выпущена новая версия nhdbt v1.4.1

Исправлена ошибка при выполнении команд и запросов («внутренняя ошибка»). Добавлены примеры использования.

Загрузка новой версии

nhdbt.exe — выполнение SQL запросов

Выполнение SQL запросов в ODBC базе данных из командной строки на примере подключения к dBase в текущем каталоге:

nhdbt.exe "Microsoft dBase driver (*.dbf)" "DBQ=." books-create.sql

На примере подключения к Microsoft Access файлу access-database.mdb:

nhdbt.exe "Microsoft Access driver (*.mdb)" "DBQ=access-database.mdb" books-create.sql

Третий параметр указывает на текстовый файл с SQL запросами. Каждый запрос заканчивается точкой с запятой:

create table Books(BookId int,BookTitle char(250),Author char(128),Publisher char(64),Price real,Year int,PageCount int,Description char(128),ISBN char(64),Subject char(64),RecordDate date);
create unique index BookIndex on Books(BookId,ISBN);

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

select Publisher,count(BookId) as BookCount from Books group by Publisher
Publisher                                                          BookCount
---------------------------------------------------------------- -----------
Окей-книга                                                               278
Омега-Л                                                                  367
SmartBook                                                                 57
No rows affected. Rows selected: 3. Execution time 0.016s.

Значения BLOB полей (SQL_LONGBINARY, SQL_LONGVARCHAR) не отображаются в этом выводе.

nhdbf.exe — выполнение SQL запросов c BLOB полями

Программа выгружает файлы в BLOB поля или загружает значения BLOB полей в файлы.

INSERT/UPDATE

Запрос INSERT выгружает один файл в BLOB поле:

nhdbf.exe "driver={Microsoft dBase driver (*.dbf)};DBQ=." "insert into BinaryT(id,path,comment,file) values (1,'binary.dat','test',?)" binary.dat

Запрос UPDATE выгружает один файл в BLOB поле:

nhdbf.exe "driver={Microsoft dBase driver (*.dbf)};DBQ=%TEMP%" "update MemoTbl set file=? where id=2" memofile2.txt
  • Первым параметром команды задаётся строка подключения.
  • Вопросительный знак во втором параметре указывает, какое значение должно быть взято из файла.
  • Третий параметр содержит имя файла для выгрузки.

SELECT

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

nhdbf.exe "driver={Microsoft dBase driver (*.dbf)};DBQ=%TEMP%" "select 'memofile1_test.txt',file from MemoTbl where id=1"

Содержимое поля будет сохранено в файл memofile1_test.txt.

Запрос SELECT загружает одно значение из BLOB поля в файл с изменяемым именем:

nhdbf.exe "driver={Microsoft dBase driver (*.dbf)};DBQ=%TEMP%" "select path,file from MemoTbl where id=1"

Содержимое полей будет сохранено в файл, имя файла будет взято из поля path для id=1.

Запрос SELECT загружает несколько значений из BLOB поля в файлы:

nhdbf.exe "driver={Microsoft dBase driver (*.dbf)};DBQ=%TEMP%" "select path,file from MemoTbl"

Содержимое полей будет сохранено в файлы, имя файла будет взято из поля path для каждой записи.

nhdbt v1.4.1
Метки:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *