×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

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

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

6.2.7. ecpg

ecpg — препроцессор встроенного SQL для языка C

Синтаксис

ecpg [параметр...] файл...

Описание

ecpg — это препроцессор встроенного SQL для программ на языке C. Он преобразует программы на языке C со встроенными SQL-инструкциями в обычный код на языке C, заменяя вызовы SQL специальными вызовами функций. Полученные выходные файлы могут быть обработаны любым набором инструментов компилятора C.

ecpg преобразует каждый входной файл, указанный в командной строке, в соответствующий выходной файл на языке C. Если имя входного файла не имеет расширения, .pgc подразумевается по умолчанию. Расширение файла будет заменено на .c для формирования имени выходного файла. Но имя выходного файла можно переопределить, используя -o параметр.

Если имя входного файла указано просто как -, ecpg считывает программу со стандартного ввода (и записывает в стандартный вывод, если это не переопределено с помощью -o).

На данной справочной странице не приводится описание встроенного SQL. См. Глава 4.3 для получения дополнительной информации по этой теме.

Параметры

ecpg принимает следующие аргументы командной строки:

-c

Автоматически генерировать определенный код на языке C из SQL-кода. В настоящее время это поддерживается для EXEC SQL TYPE.

-C режим

Установить режим совместимости. режим может быть INFORMIX, INFORMIX_SE, или ORACLE.

-D symbol[=value]

Определяет символ препроцессора аналогично директиве EXEC SQL DEFINE . Если value не указано , символ определяется со значением 1.

-h

Обработка заголовочных файлов. При указании этого параметра выходной файл получает расширение .h , а не .c, , при этом расширением входного файла по умолчанию является .pgh , а не .pgc. Кроме того, -c опция принудительно включена.

-i

Также обрабатывать системные заголовочные файлы.

-I directory

Указать дополнительный путь, используемый для поиска файлов, включенных с помощью команды EXEC SQL INCLUDE. По умолчанию это . (текущий каталог), /usr/local/include, а также Digital Q.DataBase каталог заголовочных файлов, путь к которому задается при компиляции (по умолчанию: /usr/local/pgsql/include), и /usr/include, именно в таком порядке.

-o имя_файла

Указывает, что ecpg должен записывать весь свой вывод в указанный имя_файла. Укажите -o - для направления всего вывода в стандартный поток вывода.

-r параметр

Выбор поведения во время выполнения. Параметр может принимать одно из следующих значений:

no_indicator

Не использовать индикаторы, а применять специальные значения для представления значений NULL. Исторически существовали базы данных, использующие этот подход.

prepare

Подготавливайте все операторы перед их использованием. Библиотека libecpg хранит кэш подготовленных операторов и повторно использует оператор при его повторном выполнении. Если кэш заполняется, libecpg освобождает наименее используемый оператор.

questionmarks

Разрешить использование знака вопроса в качестве заполнителя для обеспечения совместимости. Когда-то этот режим использовался по умолчанию.

-t

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

-v

Вывести дополнительную информацию, включая версию и путь поиска («include»).

--version

Вывести ecpg версию и выйти.

-?
--help

Показать справку по ecpg аргументам командной строки и выйти.

Примечания

При компиляции файлов кода на языке C, прошедших предварительную обработку, компилятору необходимо найти ECPG заголовочные файлы в Digital Q.DataBase каталоге include. Поэтому может потребоваться использовать параметр -I при вызове компилятора (например, -I/usr/local/pgsql/include).

Программы, использующие код на языке C со встроенным SQL, должны быть скомпонованы с libecpg библиотекой, например, с использованием параметров компоновщика -L/usr/local/pgsql/lib -lecpg.

Значения этих каталогов, соответствующие текущей установке, можно узнать с помощью pg_config.

Примеры

Если у вас есть исходный файл встроенного SQL на языке C с именем prog1.pgc, вы можете создать исполняемую программу, используя следующую последовательность команд:

ecpg prog1.pgc
cc -I/usr/local/pgsql/include -c prog1.c
cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg
Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению