Итак, у меня есть пример программы на C ++, которую я получил от IBM (Как подключиться и отключиться от базы данных) в разделе Embedded SQL (см .: http://www.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.apdv.samptop.doc/doc/r0011556.html)
Я использую Dev C ++ и всякий раз, когда я компилирую это, я получаю сообщение об ошибке. Это говорит:
[Ошибка] «EXEC» не называет тип
Кто-нибудь знает причину этого? это отсутствующий заголовочный файл?
EDIT1: вот прямая ссылка на код:http://www.ibm.com/support/knowledgecenter/en/SSEPGG_9.7.0/com.ibm.db2.luw.apdv.sample.doc/doc/cpp/s-dbconn-sqC.html
Проблема в том, что приведенный вами пример не является простым C ++. Это пример для Встроенный SQL от IBM в C ++, который требует некоторой предварительной обработки с помощью предоставленных IBM инструментов перед передачей его в компилятор или стандартную C ++ IDE, которая не знает о встроенном SQL (например, Dev C ++). Цитирую ссылку (выделено мое):
Создание встроенных приложений SQL включает два обязательных этапа
до составления заявки и ссылки.
Подготовка исходных файлов, содержащих встроенные операторы SQL, с использованием прекомпилятора DB2.
Команда PREP (PRECOMPILE) используется для вызова прекомпилятора DB2, который читает ваш исходный код, анализирует и преобразует
встроенные операторы SQL в вызовы API служб времени выполнения DB2 и
наконец записывает вывод в новый измененный исходный файл.
Прекомпилятор создает планы доступа для операторов SQL, которые
хранится вместе как пакет в базе данных.Привязка операторов в приложении к целевой базе данных.
Привязка выполняется по умолчанию во время предварительной компиляции (команда PREP). Если привязка должна быть отложена (например, запуск BIND
команда позже), тогда нужно указать опцию BINDFILE в PREP
время для создания файла связывания.После того как вы предварительно скомпилировали и связали встроенное приложение SQL, оно
готов к компиляции и компоновке с использованием языка, соответствующего хосту
Инструменты разработки.
Таким образом, вы должны предварительно обработать пример с помощью какого-нибудь инструмента IBM (предположительно называемого PREP
) и только после этого вы получите действительный код C ++. Я не уверен, легко или возможно заставить Dev C ++ использовать это автоматически.
Других решений пока нет …