ODBC code samples
To run these examples, build them against your ODBC Driver Manager. Ensure that the helper function file, util.c
, is present in the directory you build the examples in. For example:
$ ls ListDSNs.c util.c $ cc -I/usr/local/easysoft/unixODBC/include ListDSNs.c \ -o ListDSNs -L/usr/local/easysoft/unixODBC/lib/ -lodbc $ chmod +x ./ListDSNs $ ./ListDSNs Data Source - FB_SAMPLE Data Source - ORACLE_SAMPLE Data Source - ORACLE_XE Data Source - SQLSERVER_SAMPLE Data Source - SQLSERVER_SAMPLE_SSL Data Source - DERBY_SAMPLE Data Source - IB_SAMPLE Data Source - SF_SAMPLE Complete.
Examples that demonstrate SQL Server functionality (such as Table Valued Parameters) use definitions stored in the Native Client header file, sqlncli.h
. You need to tell your compiler where to find this file to build these examples. For example:
$ cc -I/usr/local/easysoft/unixODBC/include TVPInsertRecs.c \ -I/usr/local/easysoft/sqlserver/include -o TVPInsertRecs -L/usr/local/easysoft/unixODBC/lib/ -lodbc
sqlncli.h
is included in Easysoft's SQL Server ODBC driver distribution, as shown in the preceding cc
command.
Example | Description |
---|---|
Asynchronous execution | Execute a parameterised SELECT statement asynchronously. |
SQLBindCol |
Bind result set columns. |
SQLBindParameter |
Parameterised INSERT . |
SQLBrowseConnect |
Prompt for connection string values if any are missing from the supplied ODBC data source. |
SQLBulkOperations |
Read, update, delete, insert data in bulk. |
SQLColAttribute |
For each column in a result set, use SQLColAttribute to get column name or label. |
SQLCopyDesc |
Copy table through copy descriptor. |
Create table (I) | Use SQLExecDirect to create a table with an identity field. |
Create table (II) | Use SQLExecDirect to create a table. |
Create table (III) | Create tables used throughout the examples. |
SQLDescribeCol and SQLBindCol |
Describe and bind columns. |
SQLDescribeCol and SQLColAttribute |
Read records based on column attributes |
SQLDescribeParam and SQLDescribeCol |
Identify parameters and columns in SQL statement. |
Drop table | Drop database table. |
SQLPrepare and SQLExecute |
Insert records into a table. |
SQLColumnPrivileges |
List the privileges associated with the columns of a specified table. |
SQLGetConnectAttr |
Retrieve connection attribute values. |
SQLGetTypeInfo |
List SQL data type information. |
SQLTables |
List table, catalog, and schema names. |
SQLDrivers |
List the available ODBC drivers. |
SQLDataSources |
List the available ODBC data sources. |
SQLGetEnvAttr |
List environment attribute settings. |
SQLGetFunctions |
Determine ODBC function support. |
SQLProcedureColumns |
List input and output parameters, as well as the column details for the procedures visible to a data source. |
SQLProcedures |
List procedure names stored in a specific data source. |
SQLSpecialColumns |
List optimal set of columns that uniquely identifies a row in the table. |
SQLStatistics |
List table and index statistics. |
SQLColumns |
List table column information. |
SQLPrimaryKeys and SQLForeignKeys |
Display primary and foreign key structures within tables. |
SQLTablePrivileges |
List tables and table privileges. |
SQLTables and SQLNumResultCols |
List table information. |
SQLNativeSql |
Return a SQL string as modified by the ODBC driver. |
SQLExtendedFetch |
Retrieve data using both row and column wise binding (ODBC version 2 method). |
SQLExecDirect and SQLFetch and SQLGetData (I) |
Read multiple long text fields. |
SQLExecDirect and SQLFetch and SQLGetData (II) |
Read a single long text field. |
SQLExecDirect and SQLBindCol and SQLFetch |
Retrieve records using a SELECT statement within a WHERE clause. |
SQLGetDescRec |
Display descriptor values. |
SQLEndTran |
Commit and roll back transaction. |
SQLSetPos and SQLFetchScroll |
Use keyset driven cursor type. |
SQLBindParameter and SQLBindCol (I) |
Select data by using multiple parameter arrays. |
SQLBindParameter and SQLBindCol (II) |
Select data by using a single parameter array. |
SQLSetStmtAttr and SQLFetchScroll and SQLMoreResults |
Use a parameter array with a keyset driven cursor to retrieve rowsets. |
SQLPutData (I) |
Insert a record containing multiple long text fields. |
SQLPutData (II) |
Insert a record containing a long text field. |
SQLSetStmtAttr and SQLBindParameter |
Use an INSERT statement with parameter arrays. |
SQLSetStmtAttr and SQLBindParameter |
Use a SELECT statement with parameter arrays. |
Helper functions | Helper functions used by examples (util.c ). |
Stored Procedure (I) | Call a stored procedure, which returns a result set. |
Stored Procedure (II) | Call a stored procedure using input and output parameters, which returns a value. |
Stored Procedure (III) | Call a stored procedure using input and output parameters, which returns a value. |
Stored Procedure (IV) | Call a stored procedure using input and output parameters, which inserts records. |
Stored Procedure (V) | Call a stored procedure, which returns multiple results sets. |
Stored Procedure (VI) | Call a stored procedure using input/output parameters, which returns a value. |
Stored Procedure (VII) | Call a stored procedure using input/output parameters, which selects data. |
Stored Procedure (VIII) | Call a stored procedure, which takes an array of parameters. |
Stored Procedure (IX) | Call a stored procedure, which reads, inserts, updates, or deletes records. |
Stored Procedure (X) | Call a stored procedure, which demonstrates output procedure streaming, a feature introduced in ODBC 3.8. |
SQL Server Table-Valued Parameter (I) | Insert into SQL Server in bulk by using a Table-Valued Parameter. |
SQL Server Table-Valued Parameter (II) | Copy one table to another by using a Table-Valued Parameter, which passes several records to a stored procedure to do the insert. |
SQL Server Table-Valued Parameter (III) | Use stored procedure and Table-Valued Parameters to insert records into an Authors table and a Books table. |
Helper functions | Helper functions used by stored procedure examples (CallSPUtil.c ) |