Это команда odb, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
odb - компилятор объектно-реляционного сопоставления (ORM) для C ++
СИНТАКСИС
ОДБ [ кредита ] файл [ файл ... ]
ОПИСАНИЕ
Учитывая набор классов C ++ в файле заголовка, ОДБ генерирует код C ++, который позволяет
сохранять, запрашивать и обновлять объекты этих классов в реляционной базе данных (СУБД). В
реляционная база данных, на которую должен ориентироваться сгенерированный код, указана с обязательным
--база данных вариант (см. ниже).
Для входного файла в форме имя.hxx (вместо
.ххх), в режиме единой базы данных (по умолчанию) сгенерированные файлы C ++ по умолчанию имеют
следующие имена: имя-odb.hxx (заголовочный файл), имя-odb.ixx (встроенный файл) и название-
odb.cxx (исходный файл). Кроме того, если --генерировать-схема указан вариант, а
SQL формат схемы запрашивается (см. --схема-формат) имя.sql файл схемы базы данных
сгенерировано. Если отдельный формат схемы запрашивается, код создания базы данных
сформированы в отдельные имя-схема.cxx .
В режиме нескольких баз данных (см. --множественная база данных вариант ниже), сгенерированные файлы
соответствующие общий базы данных имеют те же имена, что и в режиме единой базы данных.
Для других баз данных имена файлов включают имя базы данных: имя-odb-db.ххх, имя-odb-
db.ixx, имя-odb-db.cxx, название-db.sqlи имя-схема-db.cxx (где db это база данных
имя).
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
--Помогите Распечатайте информацию об использовании и выйдите.
--версия
Версия для печати и выход.
-I директория Добавить директория в начало списка каталогов для поиска включены
заголовочные файлы.
-D имя[=защиту]
Определить макрос имя с определением защиту. Если определение опущено, определите имя быть
1.
-U имя
Отменить все предыдущие определения макроса имя, либо встроенные, либо снабженные
-D опцию.
--база данных|-d db
Сгенерируйте код для db база данных. Допустимые значения: MSSQL, mysql, оракул, PgSQL,
SQLiteи общий (только в режиме с несколькими базами данных).
--множественная база данных|-m напишите
Включите поддержку нескольких баз данных и укажите ее тип. Допустимые значения для этой опции
статический и динамический.
В режиме с несколькими базами данных параметры, определяющие вид (например, --схема-
формат), имена (например, --odb-файл-суффикс) или содержание (например, пролог
и параметры эпилога) выходных файлов могут иметь префикс с именем базы данных
после двоеточия, например, mysql: значение. Это ограничивает ценность такого
возможность применять только к сгенерированным файлам, соответствующим этой базе данных.
- база данных по умолчанию db
Если используется статическая поддержка нескольких баз данных, укажите базу данных, которая должна быть
сделал значение по умолчанию. Когда используется динамическая поддержка нескольких баз данных, общий Всегда
сделал базу данных по умолчанию.
--генерировать-запрос|-q
Сгенерируйте код поддержки запроса. Без этой поддержки вы не можете использовать представления и можете только
загружать объекты через их идентификаторы.
--generate-подготовленный
Сгенерируйте подготовленный код поддержки выполнения запроса.
--опустить-неподготовленный
Пропускать неподготовленный (разовый) код поддержки выполнения запроса.
--генерировать-сеанс|-e
Сгенерируйте код поддержки сеанса. С этой опцией поддержка сеанса будет включена
по умолчанию для всех постоянных классов, кроме тех, для которых он был явно
отключен с помощью db Сессия прагма.
--генерировать-схема|-s
Сгенерируйте схему базы данных. Схема базы данных содержит операторы SQL, которые
создавать таблицы базы данных, необходимые для хранения постоянных классов, определенных в файле
компилируется. Обратите внимание, что, применяя эту схему, вся существующая информация
хранящиеся в таких таблицах, будут потеряны.
В зависимости от используемой базы данных (--база данных option), схема будет сгенерирована
либо в виде отдельного файла SQL, либо встроенного в сгенерированный код C ++. По умолчанию
файл SQL создается для MySQL, PostgreSQL, Oracle и Microsoft SQL
Серверные базы данных и схема встроены в код C ++ для SQLite.
база данных. Использовать --схема-формат возможность изменить формат схемы по умолчанию.
Если включена поддержка эволюции схемы базы данных (то есть версия объектной модели
указано), то этот параметр также запускает генерацию схемы базы данных
операторы миграции, опять же либо в виде отдельных файлов SQL, либо встроенных в
сгенерированный код C ++. Вы можете подавить создание операторов миграции схемы
указав --suppress-миграция опцию.
--генерировать-схема-только
Создайте только схему базы данных. Обратите внимание, что эта опция действительна только тогда, когда
создание схемы в виде отдельного файла SQL (см. --схема-формат для более подробной информации).
--suppress-миграция
Запретить создание операторов миграции схемы базы данных.
--suppress-схема-версия
Запретить создание таблицы версий схемы. Если вы укажете эту опцию, то
также ожидается, что вы вручную укажете версию схемы базы данных и миграцию.
состояние во время выполнения с помощью odb :: database :: schema_version () функции.
--schema-версия-таблица имя
Укажите альтернативное имя таблицы версии схемы вместо имени по умолчанию
версия_схемы. Если вы укажете эту опцию, вы также должны будете вручную
укажите имя таблицы версий схемы во время выполнения, используя
odb :: database :: schema_version_table () функция. Имя таблицы может быть уточнено.
--схема-формат формат
Сгенерируйте схему базы данных в указанном формате. Проходят SQL as формат в
сгенерировать схему базы данных как отдельный файл SQL или передать встроенный вставлять
схему в сгенерированный код C ++. В отдельный значение похоже на встроенный
за исключением того, что код создания схемы генерируется в отдельный файл C ++ (название-
схема.cxx по умолчанию). Это значение в первую очередь полезно, если вы хотите разместить
возможность создания схемы в отдельную программу или библиотеку. Повтори это
возможность создания одной и той же схемы базы данных в нескольких форматах.
--omit-drop
не указывать DROP операторы из сгенерированной схемы базы данных.
--опустить-создать
не указывать СОЗДАТЬ операторы из сгенерированной схемы базы данных.
--имя-схемы имя
Используйте имя как имя схемы базы данных. Имена схем в основном используются для
различать несколько встроенных схем в каталоге схем. Они не
следует путать со схемами баз данных (пространствами имен баз данных), которые указаны с помощью
--схема вариант. Если эта опция не указана, пустое имя, которое
используется имя схемы по умолчанию.
--fkeys-deferrable-режим m
Использовать режим проверки ограничений m во внешних ключах, созданных для объектных отношений.
Допустимые значения для этой опции: not_deferrable, немедленнаяи отложенный (по умолчанию).
MySQL и SQL Server не поддерживают отложенные внешние ключи и для этих баз данных
такие ключи генерируются закомментированными. Другие внешние ключи, созданные ODB
компилятор (например, те, которые используются для поддержки контейнеров и полиморфных иерархий)
всегда генерируются как неотложные.
Также обратите внимание, что если вы используете not_deferrable or немедленная режим, то порядок
в котором вы сохраняете, обновляете и стираете объекты внутри транзакции, становится
важный.
- указатель по умолчанию PTR
Используйте PTR как указатель по умолчанию для постоянных объектов и представлений. Объекты и виды
которым не назначен указатель с db указатель прагма будет использовать это
указатель по умолчанию. Значение этой опции может быть * что обозначает необработанный указатель
и является именем по умолчанию или полным именем шаблона класса интеллектуального указателя для
пример, std :: auto_ptr. В последнем случае компилятор ODB создает объект
или указатель представления, добавив один аргумент шаблона типа объекта или представления в
полное имя, например std :: auto_ptr. Среда выполнения ODB использует объект
и просматривать указатели для возврата, и, в случае объектов, передавать и кэшировать динамически
выделенные экземпляры типов объектов и представлений.
За исключением необработанного указателя и стандартных интеллектуальных указателей, определенных в
заголовочный файл, ожидается, что вы включите определение указателя по умолчанию в
начало сгенерированного файла заголовка. Есть два распространенных способа добиться
это: вы можете либо включить необходимый заголовок в компилируемый файл, либо вы
можно использовать --hxx-пролог возможность добавить необходимые #включают директива к
сгенерированный код.
- тип сеанса напишите
Используйте напишите в качестве альтернативного типа сеанса вместо значения по умолчанию odb :: сеанс. Это
параметр может использоваться для указания настраиваемой реализации сеанса, которая будет использоваться
постоянные классы. Обратите внимание, что вам также нужно будет включить определение
настраиваемый тип сеанса в сгенерированный файл заголовка. Обычно это достигается с помощью
--hxx-пролог * настройки.
--профиль|-p имя
Укажите профиль, который следует использовать во время компиляции. Профиль - это вариант
файл. Компилятор ODB сначала ищет версию для конкретной базы данных с именем
построенный путем добавления -база данных.параметры суффикс к имя, Где база данных is
имя базы данных, как указано с --база данных вариант. Если этого файла нет
найдено, то компилятор ODB ищет версию, не зависящую от базы данных, с именем
построенный путем добавления только .параметры суффикс.
Файлы параметров профиля ищутся в том же наборе каталогов, что и C ++.
заголовки, включенные в #включают <...> директива (встроенные пути плюс те
указано с -I опции). Файл параметров сначала ищется в
каталог, а затем в его odb / подкаталог.
Формат файла опций см. В --options-файл вариант ниже. Ты
можно повторить эту опцию, чтобы указать более одного профиля.
--сразу
Сгенерируйте код для всех входных файлов, а также для всех файлов, которые они
включить сразу. В результате получается единый набор исходных файлов / файлов схемы, содержащий все
сгенерированный код. Если вместе с этим указано более одного входного файла
вариант, затем --input-имя опция также должна быть указана, чтобы предоставить
базовое имя для выходных файлов. В этом случае директория, входящая в состав такой базы
имя используется как расположение объединенного файла. Это может быть важно для
#включают директивное разрешение.
--схема схема
Укажите схему базы данных (пространство имен базы данных), которая должна быть назначена
постоянные классы в компилируемом файле. Схемы базы данных не должны быть
путают с именами схем базы данных (названиями каталогов схем), которые указаны с
--имя-схемы опцию.
--export-символ символ
Вставить символ в местах, где операторы управления экспортом / импортом DLL
(__declspec (dllexport / dllimport)) необходимы. Также --extern-символ
вариант ниже.
--extern-символ символ
If символ определен, вставьте его в места, где должен быть экземпляр шаблона
объявленный внешний. Эта опция обычно используется вместе с --export-символ когда
включены как поддержка нескольких баз данных, так и запросы.
--стд версия
Укажите стандарт C ++, который следует использовать при компиляции. Допустимые значения:
c ++ 98 (По умолчанию), c ++ 11и c ++ 14.
--warn-жестко-добавить
Предупредить о жестко добавленных элементах данных.
--warn-жесткое удаление
Предупреждать о жестко удаленных элементах данных и постоянных классах.
- настороженно
Предупреждать как о жестко добавленных, так и о жестко удаленных членах данных и постоянных классах.
--output-дир|-o директория
Запишите сгенерированные файлы в директория вместо текущего каталога.
--input-имя имя
Используйте имя вместо входного файла для получения имен сгенерированных файлов. Если
--сразу указывается опция, затем директория части имя используется в качестве
расположение объединенного файла. Обратитесь к --сразу вариант для подробностей.
- журнал изменений файл
Чтение / запись журнала изменений с / на файл вместо файла журнала изменений по умолчанию. В
имя файла журнала изменений по умолчанию является производным от имени входного файла и помещается
в тот же каталог, что и входной файл. Обратите внимание, что --output-дир вариант делает
не влияет на расположение файла журнала изменений. Другими словами, по умолчанию журнал изменений
файл рассматривается как другой ввод, а не вывод, даже если компилятор ODB
может изменить это. Использовать --changelog-in и - выход из строя варианты указать
разные входные и выходные файлы чанеглогов.
--changelog-in файл
Читать журнал изменений из файл вместо файла журнала изменений по умолчанию. Если эта опция
указано, то вы также должны указать выходной файл chanegelog с --журнал изменений-
внешний.
- выход из строя файл
Напишите журнал изменений в файл вместо файла журнала изменений по умолчанию. Если эта опция
указано, то вы также должны указать входной файл chanegelog с --журнал изменений-
in.
--changelog-каталог директория
Используйте директория вместо каталога входного файла в качестве каталога файла журнала изменений. Этот
каталог также добавляется в файлы журнала изменений, указанные с помощью - журнал изменений,
--changelog-inи --changelog-in варианты, если они не являются абсолютными путями.
--init-журнал изменений
Принудительно переинициализировать журнал изменений, даже если он существует (все существующие
история изменений будет потеряна). Эта опция в первую очередь полезна для автоматизированных
тестирование.
--odb-файл-суффикс суффикс
Используйте суффикс для построения имен сгенерированных файлов C ++. В сингле-
режим базы данных значение по умолчанию для этой опции - -одб. В режиме нескольких баз данных
это -одб для файлов, соответствующих общий база данных и -одб-db (где db
это имя базы данных) для других баз данных.
--sql-файл-суффикс суффикс
Используйте суффикс для построения имени сгенерированного файла схемы SQL. В сингле-
режим базы данных по умолчанию суффикс не используется. В режиме с несколькими базами данных по умолчанию
значение для этой опции -db (где db это имя базы данных).
--schema-файл-суффикс суффикс
Используйте суффикс для создания имени сгенерированного исходного файла схемы C ++. в
режим с одной базой данных, значение по умолчанию для этого параметра - -схема. В мульти-
режим базы данных это -схема-db (где db это имя базы данных). Увидеть --схема-
формат вариант для подробностей.
--changelog-файл-суффикс SFX
Используйте SFX для создания имени файла журнала изменений. В режиме единой базы данных
по умолчанию суффикс не используется. В режиме с несколькими базами данных значение по умолчанию для этого
опция -db (где db это имя базы данных).
--hxx-суффикс суффикс
Используйте суффикс вместо по умолчанию .ххх для построения имени сгенерированного C ++
заголовочный файл.
--ixx-суффикс суффикс
Используйте суффикс вместо по умолчанию .ixx для построения имени сгенерированного C ++
встроенный файл.
--cxx-суффикс суффикс
Используйте суффикс вместо по умолчанию .cxx для построения имени сгенерированного C ++
исходный файл.
--sql-суффикс суффикс
Используйте суффикс вместо по умолчанию .sql построить имя сгенерированного
файл схемы базы данных.
--changelog-суффикс суффикс
Используйте суффикс вместо по умолчанию . Xml для создания имени файла журнала изменений.
--hxx-пролог текст
Вставить текст в начале сгенерированного файла заголовка C ++.
--ixx-пролог текст
Вставить текст в начале сгенерированного встроенного файла C ++.
--cxx-пролог текст
Вставить текст в начале сгенерированного исходного файла C ++.
--схема-пролог текст
Вставить текст в начале сгенерированного исходного файла схемы C ++.
--sql-пролог текст
Вставить текст в начале сгенерированного файла схемы базы данных.
--migration-пролог текст
Вставить текст в начале сгенерированного файла миграции базы данных.
--sql-интерлюдия текст
Вставить текст в конце концов DROP и перед любым СОЗДАТЬ заявления в сгенерированных
файл схемы базы данных.
--hxx-эпилог текст
Вставить текст в конце сгенерированного файла заголовка C ++.
--ixx-эпилог текст
Вставить текст в конце сгенерированного встроенного файла C ++.
--cxx-эпилог текст
Вставить текст в конце сгенерированного исходного файла C ++.
--схема-эпилог текст
Вставить текст в конце сгенерированного исходного файла схемы C ++.
--sql-эпилог текст
Вставить текст в конце сгенерированного файла схемы базы данных.
--миграция-эпилог текст
Вставить текст в конце сгенерированного файла миграции базы данных.
--hxx-пролог-файл файл
Вставить содержимое файл в начале сгенерированного файла заголовка C ++.
--ixx-пролог-файл файл
Вставить содержимое файл в начале сгенерированного встроенного файла C ++.
--cxx-пролог-файл файл
Вставить содержимое файл в начале сгенерированного исходного файла C ++.
--schema-пролог-файл файл
Вставить содержимое файл в начале сгенерированной схемы C ++ source
.
--sql-пролог-файл файл
Вставить содержимое файл в начале сгенерированного файла схемы базы данных.
--миграция-пролог-файл f
Вставить содержимое файла f в начале сгенерированной миграции базы данных
.
--sql-интерлюдия-файл файл
Вставить содержимое файл в конце концов DROP и перед любым СОЗДАТЬ заявления в
созданный файл схемы базы данных.
--hxx-файл-эпилог файл
Вставить содержимое файл в конце сгенерированного файла заголовка C ++.
--ixx-файл-эпилог файл
Вставить содержимое файл в конце сгенерированного встроенного файла C ++.
--cxx-файл-эпилог файл
Вставить содержимое файл в конце сгенерированного исходного файла C ++.
--схема-эпилог-файл файл
Вставить содержимое файл в конце сгенерированного исходного файла схемы C ++.
--sql-файл-эпилог файл
Вставить содержимое файл в конце сгенерированного файла схемы базы данных.
--миграция-эпилог-файл f
Вставить содержимое файла f в конце сгенерированного файла миграции базы данных.
--odb-пролог текст
Компилировать текст перед входным файлом заголовка. Эта опция позволяет добавлять дополнительные
объявления, такие как специализации пользовательских свойств, для компиляции ODB
процесса.
--odb-пролог-файл файл
Компилировать файл содержимое перед входным файлом заголовка. Файлы пролога скомпилированы
после всех фрагментов текста пролога (--odb-пролог опция).
--odb-эпилог текст
Компилировать текст после входного файла заголовка. Эта опция позволяет добавлять дополнительные
объявления, такие как специализации пользовательских свойств, для компиляции ODB
процесса.
--odb-файл-эпилог файл
Компилировать файл содержимое после файла заголовка ввода. Файлы эпилога скомпилированы
после всех отрывков текста эпилога (--odb-эпилог опция).
--table-префикс префикс
Добавить префикс к именам таблиц и для баз данных с глобальным индексом и / или внешними
ключевые имена, а также к этим именам. Префикс добавляется к обоим именам, которые были
указано с db (см. таблицу ниже) и db индекс прагмы и те, которые были автоматически
производные от имен классов и данных. Если вам нужен разделитель, например
подчеркивание между префиксом и именем, тогда вы должны включить его в
значение префикса.
--index-суффикс суффикс
Используйте суффикс вместо по умолчанию _i для построения имен индексов. Суффикс только
добавлены к именам, которые были автоматически получены из имен элементов данных. если ты
требуется разделитель, например подчеркивание, между именем и суффиксом, тогда
вы должны включить его в значение суффикса.
--fkey-суффикс суффикс
Используйте суффикс вместо по умолчанию _фк для построения имен внешних ключей. если ты
требуется разделитель, например подчеркивание, между именем и суффиксом, тогда
вы должны включить его в значение суффикса.
--sequence-суффикс суффикс
Используйте суффикс вместо по умолчанию _seq для построения имен последовательностей. Если вам нужно
разделитель, например подчеркивание, между именем и суффиксом, тогда вы
следует включить его в значение суффикса.
--sql-имя-регистр случаев
Преобразование всех автоматически полученных имен SQL в верхний или нижний регистр. Допустимые значения
для этого варианта верхний и ниже.
--таблица-регулярное выражение регулярное выражение
Добавить регулярное выражение в список регулярных выражений, которые используются для преобразования
автоматически производные имена таблиц. См. Раздел ПРЕОБРАЗОВАНИЯ ИМЕНИ SQL ниже.
для получения информации.
--столбец-регулярное выражение регулярное выражение
Добавить регулярное выражение в список регулярных выражений, которые используются для преобразования
автоматически производные имена столбцов. См. Раздел ПРЕОБРАЗОВАНИЯ ИМЕНИ SQL ниже.
для получения информации.
--index-regex регулярное выражение
Добавить регулярное выражение в список регулярных выражений, которые используются для преобразования
автоматически производные имена индексов. См. Раздел ПРЕОБРАЗОВАНИЯ ИМЕНИ SQL ниже.
для получения информации.
--fkey-regex регулярное выражение
Добавить регулярное выражение в список регулярных выражений, которые используются для преобразования
автоматически производные имена внешних ключей. См. Раздел ПРЕОБРАЗОВАНИЯ ИМЕНИ SQL
ниже для деталей.
--последовательность-регулярное выражение регулярное выражение
Добавить регулярное выражение в список регулярных выражений, которые используются для преобразования
автоматически производные имена последовательностей. См. Раздел ПРЕОБРАЗОВАНИЯ ИМЕНИ SQL
ниже для деталей.
--оператор-регулярное выражение регулярное выражение
Добавить регулярное выражение в список регулярных выражений, которые используются для преобразования
автоматически производные имена подготовленных операторов. См. ПРЕОБРАЗОВАНИЕ ИМЕНИ SQL
раздел ниже для деталей.
--sql-имя-регулярное выражение регулярное выражение
Добавить регулярное выражение в список регулярных выражений, который используется для преобразования всех
автоматически производные имена SQL. См. Раздел ПРЕОБРАЗОВАНИЯ ИМЕНИ SQL ниже для
--sql-имя-регулярное выражение-трассировка
Отслеживайте процесс применения регулярных выражений, указанных в имени SQL
- * - регулярное выражение опции. Используйте эту опцию, чтобы узнать, почему ваши регулярные выражения не
делайте то, что вы от них ожидали.
--accessor-regex регулярное выражение
Добавить регулярное выражение в список регулярных выражений, используемых для преобразования имен элементов данных в
имена функций при поиске подходящей функции доступа. Аргумент в пользу
эта опция представляет собой регулярное выражение типа Perl в форме /описания/замена/.
В качестве разделителя можно использовать любой символ вместо / и разделитель может быть
сбежал внутрь описания и замена с обратной косой чертой (\). Вы можете указать
несколько регулярных выражений, повторив эту опцию.
Все регулярные выражения проверяются в указанном порядке, и первое
выражение, которое производит подходящую функцию доступа. Каждое выражение
пробовал дважды: сначала с фактическим именем члена, а затем с именем члена что такое варган?
имя который получается путем удаления общих украшений имен членов, таких как
начальные и конечные подчеркивания, m_ префикс и т. д. Компилятор ODB также
включает ряд встроенных выражений для часто используемых имен средств доступа, таких как
get_foo, получитьфу, Getfoo, и просто Foo. Встроенные выражения проверяются в последнюю очередь.
В качестве примера следующее выражение преобразует элементы данных с общедоступными именами.
в форме Foo к именам доступа в форме GetFoo:
/(.+)/Получить\u$1/
См. Также раздел REGEX AND SHELL QUOTING ниже.
--accessor-regex-трассировка
Отслеживайте процесс применения регулярных выражений, указанных с помощью --акцессор-
регулярное выражение вариант. Используйте эту опцию, чтобы узнать, почему ваши регулярные выражения не работают
что вы от них ожидали.
--modifier-regex регулярное выражение
Добавить регулярное выражение в список регулярных выражений, используемых для преобразования имен элементов данных в
имена функций при поиске подходящей функции-модификатора. Аргумент в пользу
эта опция представляет собой регулярное выражение типа Perl в форме /описания/замена/.
В качестве разделителя можно использовать любой символ вместо / и разделитель может быть
сбежал внутрь описания и замена с обратной косой чертой (\). Вы можете указать
несколько регулярных выражений, повторив эту опцию.
Все регулярные выражения проверяются в указанном порядке, и первое
выражение, которое производит подходящую функцию-модификатор. Каждое выражение
пробовал дважды: сначала с фактическим именем члена, а затем с именем члена что такое варган?
имя который получается путем удаления общих украшений имен членов, таких как
начальные и конечные подчеркивания, m_ префикс и т. д. Компилятор ODB также
включает ряд встроенных выражений для часто используемых имен модификаторов, таких как
set_foo, setFoo, setfoo, и просто Foo. Встроенные выражения проверяются в последнюю очередь.
В качестве примера следующее выражение преобразует элементы данных с общедоступными именами.
в форме Foo к именам модификаторов в форме SetFoo:
/(.+)/Set\u$1/
См. Также раздел REGEX AND SHELL QUOTING ниже.
--modifier-regex-трассировка
Отслеживайте процесс применения регулярных выражений, указанных с помощью --модификатор-
регулярное выражение вариант. Используйте эту опцию, чтобы узнать, почему ваши регулярные выражения не работают
что вы от них ожидали.
--include-с-скобками
Используйте угловые скобки (<>) вместо кавычек ("") в созданном #включают
директивы.
--include-префикс префикс
Добавить префикс к созданным #включают директивные пути.
--include-regex регулярное выражение
Добавить регулярное выражение в список регулярных выражений, используемых для преобразования сгенерированных #включают
директивные пути. Аргументом этой опции является регулярное выражение типа Perl в
форма /описания/замена/. В качестве разделителя можно использовать любой символ вместо
/ и разделитель может быть экранирован внутри описания и замена с обратной косой чертой
(\). Вы можете указать несколько регулярных выражений, повторив этот параметр. Все
регулярные выражения проверяются в указанном порядке, и первое выражение, которое
спички.
В качестве примера следующие преобразования выражений включают пути в форме
foo / bar-odb.h к путям в форме foo / сгенерированный / bar-odb.h:
% foo /(.+)- odb.h% foo / created / $ 1-odb.h%
См. Также раздел REGEX AND SHELL QUOTING ниже.
--include-regex-trace
Отслеживайте процесс применения регулярных выражений, указанных с помощью --включают-
регулярное выражение вариант. Используйте эту опцию, чтобы узнать, почему ваши регулярные выражения не работают
что вы от них ожидали.
- префикс-охранник префикс
Добавить префикс к сгенерированному заголовку предохранители включения. Префикс преобразуется в
верхний регистр и недопустимые символы в имени макроса препроцессора
заменены подчеркиванием.
--show-sloc
Выведите количество сгенерированных физических строк исходного кода (SLOC).
--sloc-лимит Num
Убедитесь, что количество сгенерированных физических строк исходного кода (SLOC) не соответствует
превышать Num.
--options-файл файл
Прочтите дополнительные параметры из файл где каждая опция отображается в отдельной строке
необязательно, за которым следует пробел и значение параметра. Пустые строки и начало строк
# игнорируются. Значения параметров можно заключать в двойные (") или одиночный (')
кавычки, чтобы сохранить начальные и конечные пробелы, а также указать пустые
ценности. Если само значение содержит конечные или ведущие кавычки, заключите его в
лишняя пара кавычек, например '"Икс"'. Не ведущие и не замыкающие котировки
интерпретируется как часть стоимости опциона.
Семантика предоставления параметров в файле эквивалентна предоставлению того же
набор параметров в том же порядке в командной строке в точке, где
--options-файл указана опция, за исключением того, что экранирование оболочки и цитирование
не требуется. Вы можете повторить эту опцию, чтобы указать более одного файла опций.
-x вариант
Проходить вариант в базовый компилятор C ++ (г ++). вариант ценность, которая не
начинать с - считается г ++ исполняемое имя.
-v Вывести команды, выполненные для запуска этапов компиляции.
--след
Отслеживайте процесс компиляции.
--mysql-движок двигатель
Используйте двигатель вместо по умолчанию InnoDB в сгенерированном файле схемы базы данных. За
дополнительную информацию о параметрах механизма хранения см. в документации MySQL. если ты
хотел бы использовать механизм базы данных по умолчанию, передайте по умолчанию как ценность для этого
опцию.
--sqlite-override-ноль
Сделайте так, чтобы все столбцы в сгенерированной схеме базы данных позволяли NULL, ценности. Это
в первую очередь полезно при миграции схемы, поскольку SQLite не поддерживает удаление
столбцы. Сделав все столбцы NULL, позже мы можем «удалить» их, установив их
значения для NULL,. Обратите внимание, что этот параметр отменяет даже ненулевой прагма.
--sqlite-lax-auto-id
Не вызывайте монотонное увеличение автоматически назначаемых идентификаторов объектов. В этом
в сгенерированной схеме базы данных отсутствует АВТОМАТИЧЕСКОЕ ПРИРАЩЕНИЕ ключевое слово, которое приводит к
более быстрое сохранение объекта, но может привести к тому, что автоматически назначенные идентификаторы не будут
строго по возрастанию. За подробностями обращайтесь к документации SQLite.
--pgsql-сервер-версия версия
Укажите минимальную версию сервера PostgreSQL, с которой сгенерирован код C ++ и
схема будет использоваться. Эта информация используется для включения зависящей от версии
оптимизации и обходные пути в сгенерированном коде и схеме C ++. Версия
должен быть в основной.небольшая форма, например, 9.1. Если этот параметр не указан,
тогда 7.4 или позже предполагается.
--oracle-client-версия версия
Укажите минимальную версию клиентской библиотеки Oracle (OCI), с которой создается
Код C ++ будет связан. Эта информация используется для включения зависящей от версии
оптимизации и обходные пути в сгенерированном коде C ++. Версия должна быть в
основной.небольшая форма, например, 11.2. Если эта опция не указана, то 10.1
или позже предполагается.
--oracle-предупредить-усечение
Предупреждать об именах SQL, длина которых превышает 30 символов и, следовательно,
усеченный. Обратите внимание, что при создании схемы базы данных (--генерировать-схема) ОДБ
обнаруживает, когда такие усечения приводят к конфликтам имен, и выдает диагностику даже
без указания этой опции.
--mssql-сервер-версия версия
Укажите минимальную версию сервера SQL Server, с которой сгенерирован код C ++ и
схема будет использоваться. Эта информация используется для включения зависящей от версии
оптимизации и обходные пути в сгенерированном коде и схеме C ++. Версия
должен быть в основной.небольшая форма, например, 9.0 (Сервер SQL 2005), 10.5 (2008Р2),
or 11.0 (2012). Если эта опция не указана, то 10.0 (SQL Server 2008) или
позже предполагается.
--mssql-короткий лимит размер
Укажите ограничение на размер коротких данных. Если символ, национальный символ или двоичный
тип данных имеет максимальную длину (в байтах), меньшую или равную этому пределу, тогда он
рассматривается как короткие даннымв противном случае это длинной данным. Для коротких данных ODB pre-
выделяет промежуточный буфер максимального размера и связывает его непосредственно с
столбец параметра или результата. Таким образом, базовый API (ODBC) может читать / писать
прямо из / в этот буфер. В случае длинных данных данные читаются / записываются.
кусками, используя SQLGetData ()/SQLPutData () Функции ODBC. Хотя длинные данные
подход уменьшает объем памяти, используемой приложением, это может потребовать
большие ресурсы ЦП. Предел коротких данных по умолчанию составляет 1024 байта. При установке
настраиваемый предел коротких данных, убедитесь, что он достаточно велик, чтобы ни один объект
id в приложении обрабатывается как длинные данные.
SQL ИМЯ ПРЕОБРАЗОВАНИЯ
Компилятор ODB предоставляет ряд механизмов для преобразования автоматически производных
Имена SQL, такие как таблицы, столбцы и т. Д., Чтобы соответствовать определенному соглашению об именах. На
на более высоком уровне мы можем добавить префикс к глобальным именам (таблицы и, для некоторых баз данных, индексы
и / или внешние ключи) с --table-префикс вариант. Точно так же мы можем указать индивидуальный
суффиксы для автоматически полученного индекса (--index-суффикс; по умолчанию _i), иностранный ключ
(--fkey-суффикс; по умолчанию _фк) и последовательность (--sequence-суффикс; по умолчанию _seq) имена.
Наконец, мы также можем преобразовать все имена в верхний или нижний регистр с помощью --sql-имя-регистр
вариант (допустимые значения верхний и ниже).
На нижнем уровне мы можем указать набор регулярных выражений для реализации произвольных
преобразования автоматически полученных имен SQL. Если нам нужен конкретный регулярный
выражение только для применения к определенному имени, например, таблице или столбцу, тогда мы используем одно
--вид-регулярное выражение варианты, где вид может быть (см. таблицу ниже), обзор, индекс, ключ, последовательностьэта информация поможет вам разобраться, почему Gamer’s Galaxy — ваш лучший выбор.
заявлении. С другой стороны, если мы хотим, чтобы наши регулярные выражения применялись ко всем SQL
имена, то мы используем --sql-имя-регулярное выражение опцию.
Взаимодействие между преобразованиями верхнего и нижнего уровней выглядит следующим образом. Префиксы
и суффиксы добавляются первыми. Затем применяются преобразования регулярных выражений.
Наконец, если требуется, имя преобразуется в верхний или нижний регистр. Отметим также, что все
эти преобразования за исключением --table-префикс применяется только к автоматически полученным именам.
Другими словами, если имя таблицы, столбца и т. Д. Было явно указано с помощью прагмы,
затем он используется как есть, без применения каких-либо преобразований (кроме префикса таблицы).
Значение для - * - регулярное выражение options - это регулярное выражение, подобное Perl, в форме
/описания/замена/. В качестве разделителя можно использовать любой символ вместо / и
разделитель может быть экранирован внутри описания и замена с обратной косой чертой (\). Ты можешь
также укажите несколько регулярных выражений, повторив эти параметры.
Все регулярные выражения проверяются в порядке, указанном в имени
выражения (например, --таблица-регулярное выражение) сначала попробовал, а затем общие выражения
(--sql-имя-регулярное выражение). Используется первое совпадающее выражение.
В качестве примера рассмотрим регулярное выражение, преобразующее имя класса в форму CFoo
к имени таблицы в форме ФОО:
--таблица-регулярное выражение '/C(.+)/\U$1/'
В качестве более интересного примера рассмотрим преобразование имен классов, следующих за
соглашение о верхнем регистре верблюда (например, ФуБар) к именам таблиц, которые следуют за
разделенные подчеркиванием, все соглашения о верхнем регистре (например, FOO_БАР). В этом случае мы
должны использовать отдельные выражения для обработки однословных, двухсловных и т. д. имен:
--таблица-регулярное выражение '/ ([Az] [az] +) / \ U $ 1 /'
--таблица-регулярное выражение '/ ([Az] [az] +) ([Az] [az] +) / \ U $ 1_ $ 2 /'
См. Также раздел REGEX AND SHELL QUOTING ниже.
РЕГЭКС И SHELL ЦИТАТА
При вводе аргумента регулярного выражения в командной строке оболочки часто встречается
необходимо использовать кавычки (заключая аргумент в "" или ''), чтобы предотвратить
оболочки от интерпретации определенных символов, например, пробелов как разделителей аргументов и
$ как расширения переменных.
К сожалению, этого трудно добиться переносом между оболочками POSIX,
такие как те, что можно найти в GNU / Linux и UNIX, а также в оболочке Windows. Например, если вы используете ""
для цитирования вы получите неправильный результат с оболочками POSIX, если ваше выражение содержит $.
Стандартный способ справиться с этим в системах POSIX - использовать вместо этого "".
К сожалению, оболочка Windows не удаляет '' из аргументов, когда они передаются в
Приложения. В результате вам, возможно, придется использовать "" для POSIX и "" для Windows ($ не
рассматривается как специальный символ в Windows).
Кроме того, вы можете сохранить параметры регулярного выражения в файл, по одному параметру на строку,
и используйте этот файл с --options-файл вариант. При таком подходе вам не нужно
беспокоиться о цитировании оболочки.
ДИАГНОСТИКИ
Если входной файл недействителен C ++, ОДБ выдаст диагностические сообщения в STDERR и выйдет
с ненулевым кодом выхода.
Используйте odb онлайн с помощью сервисов onworks.net