OceanBase logo

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Resources

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS

OceanBase Cloud

OceanBase Database

Tools

Connectors and Middleware

QUICK START

OceanBase Cloud

OceanBase Database

BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Company

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

International - English
中国站 - 简体中文
日本 - 日本語
Sign In
Start on Cloud

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS
OceanBase CloudOceanBase Database
ToolsConnectors and Middleware
QUICK START
OceanBase CloudOceanBase Database
BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

Start on Cloud
编组
All Products
    • Databases
    • iconOceanBase Database
    • iconOceanBase Cloud
    • iconOceanBase Tugraph
    • iconInteractive Tutorials
    • iconOceanBase Best Practices
    • Tools
    • iconOceanBase Cloud Platform
    • iconOceanBase Migration Service
    • iconOceanBase Developer Center
    • iconOceanBase Migration Assessment
    • iconOceanBase Admin Tool
    • iconOceanBase Loader and Dumper
    • iconOceanBase Deployer
    • iconKubernetes operator for OceanBase
    • iconOceanBase Diagnostic Tool
    • iconOceanBase Binlog Service
    • Connectors and Middleware
    • iconOceanBase Database Proxy
    • iconEmbedded SQL in C for OceanBase
    • iconOceanBase Call Interface
    • iconOceanBase Connector/C
    • iconOceanBase Connector/J
    • iconOceanBase Connector/ODBC
    • iconOceanBase Connector/NET
icon

Embedded SQL in C for OceanBase

V1.1.7Enterprise Edition

  • What's New
  • What is ECOB?
  • ECOB compatibility with Pro*C
  • Install ECOB
  • Data types and variables
    • Overview
    • Supported data types
    • Data type conversion
    • Indicator variable
    • VARCHAR variable
    • Structure
    • String pointer
  • Embedded SQL statements
    • Overview
    • Variable declaration
    • Connect to OceanBase databases
    • Basic SQL statements
    • Prepared statements
    • Stored procedures
    • Cursor
    • Simple dynamic SQL statement
    • ANSI dynamic SQL statements
    • Error handling
      • SQLCA structure
      • WHENEVER statement
    • LOB-related SQL statements
  • Use ECOB
    • Environment preparation
    • Use ECOB
    • Compile the Tuxedo service
  • Command Line Options

Download PDF

What's New What is ECOB? ECOB compatibility with Pro*C Install ECOB Overview Supported data types Data type conversion Indicator variable VARCHAR variable Structure String pointer Overview Variable declaration Connect to OceanBase databases Basic SQL statements Prepared statements Stored procedures Cursor Simple dynamic SQL statement ANSI dynamic SQL statements SQLCA structure WHENEVER statement LOB-related SQL statements Environment preparation Use ECOB Compile the Tuxedo service Command Line Options
OceanBase logo

The Unified Distributed Database for the AI Era.

Follow Us
Products
OceanBase CloudOceanBase EnterpriseOceanBase Community EditionOceanBase seekdb
Resources
DocsBlogLive DemosTraining & Certification
Company
About OceanBaseTrust CenterLegalPartnerContact Us
Follow Us

© OceanBase 2026. All rights reserved

Cloud Service AgreementPrivacy PolicySecurity
Contact Us
Document Feedback
  1. Documentation Center
  2. Embedded SQL in C for OceanBase
  3. V1.1.7
iconEmbedded SQL in C for OceanBase
V 1.1.7Enterprise Edition

Command Line Options

Last Updated:2023-06-29 11:12:55  Updated
share
What is on this page
Command-line tool options that are compatible with PROC
Special command-line tool options of the ECOB precompiler

folded

share

#docslug#/ecob/ecob/V1.1.6/ay8z9b

The ECOB precompiler provides command-line tool options the same as those provided by proc. You can use the ECOB precompiler to compile the .pc source code files of Pro*C.

After you install ECOB, run the ecob -h command to view the help information of the command-line tool.

Usage:
  ecob [INAME=]FILE [OPTION]...

Options:
  [INAME=]filename     Name of the input file
  ONAME=filename       Name of the output (code) file
  INCLUDE=pathname     Directory path for EXEC SQL INCLUDE or #include statements
  SYS_INCLUDE=pathname Directory where system header files are found
  DEFINE=name          Define a name for use by the precompiler
  PARSE={FULL|PARTIAL|NONE}  Specifies the way that the precompiler parses the source file
  VERBOSE={YES|NO}     Generate verbose output
  PARSE_SYS_INCLUDE={YES|NO}
  PARSE_CPP_DIRECTIVE={YES|NO}
  -v, --version        Output version information, then exit
  -?, -h, --help       Show this help, then exit

If no output file is specified, the name is formed by adding .c to the
input file name, after stripping off .pc if present.

Command-line tool options that are compatible with PROC

The following table lists the command-line tool options of the ECOB precompiler that are compatible with the proc precompiler. The Compatibility column shows the compatibility of each option.

Option Default value Definition Compatibility
AUTO_CONNECT={YES | NO} NO Automatic CLUSTER$ account connection before the first executable statement. Only the value NO is supported. If the value is not NO, an error is returned.
CHAR_MAP={VARCHAR2 | CHARZ | STRING | CHARF} * CHARZ Mapping of character arrays and strings. Both CHARZ and STRING are supported.
CINCR 1 Allows the application to set the next increment for physical connections to be opened to the database, if the current number of physical connections is less than CMAX. Ignored.
CLOSE_ON_COMMIT={YES | NO} NO Close all cursors on COMMIT. Only the value NO is supported.
CODE={ANSI_C | KR_C | CPP} KR_C Kind of C code generated. Ignored.
COMP_CHARSET={MULTI_BYTE | SINGLE_BYTE} MULTI_BYTE The character set type the C/C++ compiler supports. Ignored.
CONFIG=filename none User's private configuration file. This option is not supported. If you use this option, an error is returned.
CMIN 2 Specifies the minimum number of physical connections in the connection pool. Ignored.
CMAX 100 Specifies the maximum number of physical connections that can be opened for the database. Ignored.
CNOWAIT 0 which means not set. This attribute determines if the application must repeatedly try for a physical connection when all other physical connections in the pool are busy, and the total number of physical connections has already reached its maximum. Ignored.
CPOOL NO Based on this option, the precompiler generates the appropriate code that directs SQLLIB to enable or disable the connection pool feature. Only the value NO is supported. If the value is not NO, an error is returned.
CPP_SUFFIX=extension none Specifies the default filename extension for C++ output files. This option is not supported. If you use this option, an error is returned.
CTIMEOUT 0 which means not set. Physical connections that are idle for more than the specified time (in seconds) are terminated to maintain an optimum number of open physical connections. Ignored.
DBMS={V7 | NATIVE | V8} NATIVE Compatibility (Oracle7, Oracle8, Oracle8i, Oracle9i, or the database version to which you are connected at precompile time). Ignored.
DEF_SQLCODE={YES | NO} NO Generates a macro to #define SQLCODE. Ignored.
DEFINE=name * none Defines a name for use by the Pro*C/C++ precompiler. Compatible.
DURATION={TRANSACTION | SESSION} TRANSACTION Sets pin duration for objects in the cache. Ignored.
DYNAMIC={ANSI | ORACLE} ORACLE Specifies Oracle or ANSI SQL semantics. Only the value ANSI is supported. If the value is not ANSI, an error is returned.
ERRORS={YES | NO} YES Where to direct error messages (NO means only to listing file, and not to terminal). Only the value YES is supported. If the value is not YES, the system sends a warning-level alert.
ERRTYPE=filename none Name of the listing file for intype file error messages. Ignored. It triggers a warning-level alert.
FIPS={NO | SQL89 | SQL2 | YES} * none Whether to flag ANSI/ISO non-compliance. Ignored.
HEADER=extension none Specifies file extension for precompiled header files. Ignored. It triggers a warning-level alert.
HOLD_CURSOR={YES | NO} * NO How cursor cache handles SQL statement. Ignored. If the value is YES, the system sends a warning-level alert.
INAME=]filename none Name of the input file. Compatible.
INCLUDE=pathname * none Directory path for EXEC SQL INCLUDE or #include statements. Compatible.
INTYPE=filename none Name of the input file for type information. Ignored. It triggers a warning-level alert.
LINES={YES | NO} NO Whether #line directives are generated. Ignored. If the value is NO, the system sends a warning-level alert.
LNAME=filename none Name of listing file. Ignored.
LTYPE={NONE | SHORT | LONG} none Type of listing file to be generated, if any. Ignored.
MAXLITERAL=10..1024 1024 Maximum length (bytes) of string literals in generated C code. Ignored.
MAXOPENCURSORS=5..255 * 10 Maximum number of concurrent cached open cursors. Ignored.
MODE={ANSI | ISO | ORACLE} ORACLE ANSI/ISO or Oracle behavior. Only the value ORACLE is supported.
NATIVE_TYPES NO Support for native float/double. Only the value NO is supported.
NLS_CHAR=(var1, ..., varn) none Specifies multi-byte character variables. This option is not supported.
NLS_LOCAL={YES | NO} NO Controls multi-byte character semantics. Only the value NO is supported.
OBJECTS={YES | NO} YES Support of object types. Ignored.
ONAME=]filename iname.c Name of the output (code) file. Compatible.
ORACA={YES | NO} * NO Whether to use the ORACA. Only the value NO is supported. If the value is not NO, an error is returned.
PAGELEN=30..256 80 Page length of the listing file. Ignored.
PARSE={NONE | PARTIAL | FULL} FULL Whether Pro*C/C++ parses (with a C parser) the.pc source. Ignored.
PREFETCH=0..65535 1 Speeds up queries by pre-fetching a given number of rows. Ignored.
RELEASE_CURSOR={YES | NO} * NO Controls release of cursors from cursor cache. Ignored. If the value is NO, the system sends a warning-level alert.
SELECT_ERROR={YES | NO} * YES Flagging of SELECT errors. Ignored. It triggers a warning-level alert.
SQLCHECK={SEMANTICS | SYNTAX} * SYNTAX Amount of precompile time SQL checking. Ignored. If the value is not SYNTAX, the system sends a warning-level alert.
SYS_INCLUDE=pathname none Directory where system header files, such as iostream.h, are found. This option is supported.
THREADS={YES | NO} NO Indicates a shared server application. Only the value NO is supported. If the value is not NO, an error is returned.
TYPE_CODE={ORACLE | ANSI} ORACLE Use of Oracle or ANSI type codes for dynamic SQL. Only the value ORACLE is supported. If the value is not ORACLE, an error is returned.
UNSAFE_NULL={YES | NO} NO UNSAFE_NULL=YES disables the ORA-01405 message. This option is supported.
USERID=username/password[@dbname] none Username/password[@dbname] connect string. This option is not supported.
UTF16_CHARSET={NCHAR_CHARSET | DB_CHARSET} NCHAR_CHARSET Specifies the character set form used by UNICODE (UTF16). Ignored.
VARCHAR={YES | NO} NO Allows the use of implicit VARCHAR structures. Only the value NO is supported. If the value is not NO, an error is returned.
VERSION={ANY | LATEST | RECENT} * RECENT Which version of an object is to be returned. Ignored.
COMMON_PARSER={YES | NO} NO Specifies that the SQL99 syntax for SELECT, INSERT, DELETE, and UPDATE statements and the body of the cursor in a DECLARE CURSOR statement will be supported. Ignored.

Special command-line tool options of the ECOB precompiler

The following table lists special command-line tool options of the ECOB precompiler.

Option Default value Definition Compatibility
VERBOSE={YES | NO } NO Prints the debugging information. A special option of ECOB.
PARSE_CPP_DIRECTIVE={YES | NO} YES Whether to recognize and parse the command of the C preprocessor. A special option of ECOB.
PARSE_SYS_INCLUDE={YES | NO} YES Whether to recognize and parse the header file in #include "". A special option of ECOB.

Previous topic

Compile the Tuxedo service
Last
What is on this page
Command-line tool options that are compatible with PROC
Special command-line tool options of the ECOB precompiler