The iodbctest program uses the standard ODBC API calls to connect using any DSN, but retrieves all results in ASCII mode.
The iodbctestw program uses the ODBC Unicode API calls to connect using any DSN, and retrieves all results in Unicode mode.
Connect strings should start with either a DSN=xxx or a DRIVER=xxxx attribute optionally followed by other DSN attributes separated by a semicolon e.g:
DSN=ora9;UID=scott;PWD=tiger;DATABASE=ora9u
Any attributes required for a proper connection that are not entered in the DSN connect string, must be present in the odbc.ini file.
If the connect string is passed as an argument to the iodbctest program, the string should be quoted as most shells use the semicolon as their command separator. If the connect string is entered on the interactive prompt, no quotes should be used.
After a successful connection has been established, the user is prompted for a SQL command to be send to the database. A SQL command cannot span multiple lines.
If the SQL command returns one or more result sets, each result set is fetched using character buffers and displayed in a table.
Additionally, the iodbctest program understands a few special commands:
$ iodbctest OpenLink ODBC Demonstration program This program shows an interactive SQL processor Enter ODBC connect string (? shows list): ? DSN | Driver ----------------------------------------------------------------- ora9 | OpenLink Generic ODBC Driver mysql | OpenLink Generic ODBC Driver mysqllite | OpenLink Lite for MySQL myodbc | MyODBC Driver pgsql | OpenLink Generic ODBC Driver tds | OpenLink Generic ODBC Driver Enter ODBC connect string (? shows list): DSN=ora9;PWD=tiger Driver: 05.20.0316 OpenLink Generic ODBC Driver (oplodbc.so) SQL>
Connect to an Oracle 9 instance which has been previously setup in the odbc.ini file:
$ iodbctest "DSN=ora9;UID=scott;PWD=tiger" iODBC Demonstration program This program shows an interactive SQL processor Driver: 05.20.0316 OpenLink Generic ODBC Driver (oplodbc.so) SQL>select * from emp ID |NAME -----------------+------------------------------------------- 1 |Record 1 2 |Record 2 2 |Record 3 result set 1 returned 3 rows. SQL> quit