Provided by: unixodbc_2.3.12-1ubuntu0.23.10.1_amd64 bug

NAME

       isql, iusql - unixODBC interactive SQL command-line tools

SYNOPSIS

       isql DSN [USER [PASSWORD]] [options]

       iusql DSN [USER [PASSWORD]] [options]

       iusql "ConnectionString" [options]

DESCRIPTION

       isql  and  iusql  are command-line tools allowing users to execute SQL interactively or in
       batches.

       The tools provide several useful features, including an option to generate output  wrapped
       in an HTML table.

       iusql  is  the same as isql but includes built-in Unicode support.  Some data sources only
       work with iusql. An important difference between the two tools is that isql connects using
       SQLConnect and iusql connects using SQLDriverConnect.

ARGUMENTS

       DSN    The  Data Source Name (DSN) used to connect to the SQL database. unixODBC looks for
              the specified DSN in /etc/odbc.ini and  $HOME/.odbc.ini,  with  the  latter  taking
              precedence.

              When  searching the configuration files, unixODBC looks for a bare name. If the DSN
              begins with a semicolon, it is treated  as  a  connection  string.  The  connection
              string can contain a DSN and/or other semicolon-separated parameters.

       USER   Specifies the database user or role under which the connection should be made.

              This parameter overrides any UID specified in the data source configuration files.

       PASSWORD
              Password required to access the database for the specified USER.

              This  parameter  overrides  any PASSWORD specified in the data source configuration
              files.

              When using iusql, passwords containing semicolons should  be  escaped  with  braces
              (curly  brackets)  and  terminated  with a semicolon. Refer to the Examples section
              below for syntax.

       "ConnectionString"
              A connection string  starting  with  DSN=,  DRIVER=  or  FILEDSN=  will  be  passed
              unchanged  to  SQLDriverConnect.  This  option  allows  for the use of more complex
              syntax in a connection string than would otherwise be possible by just  using  DSN,
              UID and PWD.

              It  also  (and  this  was  the  main  reason for its inclusion) allows passwords to
              contain semicolons without having to add complex  escape  syntax  to  the  existing
              code.

OPTIONS

       -b     Run  'isql'  in  non-interactive  batch  mode.  In this mode, 'isql' processes from
              standard input, expecting one SQL command per line.

       -dDELIMITER
              Delimit columns with the specified delimiter.

       -xHEX  Delimit  columns  with  the  character  represented  in  hexadecimal  by  HEX.  The
              hexadecimal code must be in the format 0xNN (e.g. 0x09 for the TAB character).

       -w     Format the result as an HTML table.

       -c     Output the names of the columns on the first row. This option can only be used with
              the -d or -x options.

       -mNUM  Limit the column display width to NUM characters.

       -lLOCALE
              Set the character locale to LOCALE.

       -q     Wrap the character fields in double quotes.

       -3     Use calls from ODBC version 3.

       -n     Process multiple lines of SQL, terminated with the GO command.

       -e     Use SQLExecDirect instead of Prepare.

       -k     Use SQLDriverConnect.

       -v     Enable verbose mode, fully  describing  all  errors.  This  option  is  useful  for
              debugging.

       --version
              Display the program version.

       -LNUM  Set  the maximum number of characters displayed from a character field to NUM.  The
              default value is 300 characters.

COMMANDS

       This section briefly describes some isql and iusql run-time commands.

       help
              List all tables in the database.

       help table
              List all columns in the table.

       help help
              List all help options.

EXAMPLES

       A bare DSN:

              $ iusql WebDB MyID MyPWD -w -b < My.sql

              Connects to the WebDB DSN as user MyID  with  password  MyPWD,  then  executes  the
              commands in the My.sql file and returns the results wrapped in an HTML table.

              Each  line  in  My.sql must only contain one SQL command, except for the last line,
              which must be blank (unless the -n option is specified).

       A DSN in a connection string:

              Note the leading semicolon on the connection string.

              $ iusql ";DSN=WebDB" MyID MyPWD -w -b < My.sql

              Options in the DSN may be overridden in the connection string:

              $ iusql ";DSN=WebDB;Driver=PostgreSQL ODBC;UID=MyID;PASSWORD=secret;Debug=1;CommLog=1" -v

       A string DSN:

              A string DSN may be provided in its entirety, with no file DSN reference at all:

              $ iusql ";Driver=PostgreSQL Unicode;UID=MyID;PASSWORD=secret" -v

       A password containing a semicolon (iusql):

              $ iusql WebDB MyID '{My;PWD};'

              $ iusql 'DSN=WebDB;UID=MyID;PWD={My;PWD};'

TROUBLESHOOTING

       Cryptic error messages

              Re-run isql or iusql with the -v flag to get more information from  errors,  and/or
              enable Trace mode in odbcinst.ini.

       Missing driver definition

              Check  that  the  driver  name  specified by the Driver entry in the odbc.ini data-
              source definition is present in odbcinst.ini and exactly matches  the  odbcinst.ini
              [section name].

       Unloadable or incompatible driver

              If  the  ODBC driver is properly specified for the data source, it is possible that
              the driver is not loadable. Check for mix-ups between Unicode and ANSI drivers, and
              verify the driver paths in the odbcinst.ini [section name].

       Unicode data sources with ANSI clients

              Some data sources are Unicode-only and require the use of iusql.  If isql reports
                [IM002][unixODBC][Driver Manager]Data source name not found and no default driver specified
                [ISQL]ERROR: Could not SQLConnect
              but the data source and driver required are listed by
                odbcinst -q -d
              and
                odbcinst -q -s
              then try iusql.

FILES

       /etc/odbc.ini
              Configuration  file  containing system-wide Data Source Name (DSN) definitions. See
              odbc.ini(5) for more information.

       $HOME/.odbc.ini
              Configuration file containing user-specific Data Source Name (DSN) definitions. See
              odbc.ini(5) for more information.

SEE ALSO

       unixODBC(7), odbcinst(1), odbc.ini(5)

       "The unixODBC Administrator Manual (HTML)"

AUTHORS

       The  authors  of  unixODBC  are  Peter  Harvey  <pharvey@codebydesign.com> and Nick Gorham
       <nick@lurcher.org>.

       For a full list of contributors, refer to the AUTHORS file.

COPYRIGHT

       unixODBC is licensed under the GNU Lesser General Public License. For  details  about  the
       license, see the COPYING file.