Using Chili!Soft ASP with the Easysoft InterBase ODBC driver

Although an InterBase driver is supplied with Chili!Soft distributions from release 3.6 onwards, the driver is not supported by Chili!Soft:

Read this document to find out how to replace this unsupported InterBase driver with the fully supported Easysoft InterBase ODBC driver.

As Chili!Soft stores its ODBC driver information in a local dBase database, it's necessary to download a replacement database containing the required information.

Note that version 1.0.68 or 2.0.8 of the Easysoft InterBase ODBC driver is required for use with this version of Chili!Soft and that the accompanying serial number supplied by Easysoft must be applied to the /etc/ibserial file.

These instructions assume that Chili!Soft ASP has been installed in the /opt/casp directory and the paths below will require amending if this is not the case:

  1. Untar the distribution into a temporary location:
    mkdir /tmp/cs_install
    cp chilisoft-3.6.tar.gz /tmp/cs_install
    cd /tmp/cs_install
    tar zxvf chilisoft-3.6.tar.gz
  2. Copy the database files into the distribution:
    cp ENGOS.DBF /opt/casp/admin/web/odbc/driversdb
    cp DRIVERS.DBF /opt/casp/admin/web/odbc/driversdb
    cp DRVATT.DBF /opt/casp/admin/web/odbc/driversdb
    cp DRVATT.DBT /opt/casp/admin/web/odbc/driversdb
    cp ENGINES.DBF /opt/casp/admin/web/odbc/driversdb
    cp ATTS.DBF /opt/casp/admin/web.hold/odbc/driversdb
    cp ATTS.DBT /opt/casp/admin/web.hold/odbc/driversdb
  3. Amend the Interbase_template section of the current global_odbc.ini file (/opt/casp/global_odbc.ini) from:
    [Interbase_template]
    Driver=/usr/local/chilisoft/casp/odbc/opensource/lib/ivInterbase00.so
    JdbcDriver=/usr/local/chilisoft/casp/odbc/opensource/lib/IscDbc00.so
    UseCursorLib=1

    to:

    [Interbase_template]
    Driver=/usr/local/chilisoft/casp/odbc/opensource/lib/libibodbc.so
    UseCursorLib=1

    by deleting the JdbcDriver line and amending the Driver line.

  4. Copy libibodbc.so from the Easysoft InterBase ODBC driver distribution to /usr/local/chilisoft/casp/odbc/opensource/lib:
    cp /usr/local/lib/libibodbc.so
    /opt/casp/odbc/opensource/lib
  5. Restart the Administration Web Server using the admtool utility, as detailed in the Chili!Soft documentation.

You can now use the Administration Console (http://www.server.name.com:5100) to create a new ODBC DSN using the Easysoft InterBase ODBC driver, test it, and start using it with Chili!Soft ASP.

For reference purposes, the changes made to the two dBase files are made by executing the following SQL statements:

INSERT INTO ENGOS VALUES ( 56, 16, 1 );
INSERT INTO DRIVERS
  VALUES( 94,
          'Easysoft Interbase Driver',
          'libibodbc.so',
          '_',
          56,
          NULL,
          0,
          3,
          NULL );
INSERT INTO ENGINES VALUES( 16, 'Easysoft Interbase Driver', 6.0 );
INSERT INTO DRVATT
  VALUES( 649, 94, 76, NULL, 0, 1, 4, 50, 1, 1, NULL, NULL );
INSERT INTO DRVATT
  VALUES( 650, 94, 77, NULL, 0, 1, 4, 50, 2, 1, NULL, NULL );
INSERT INTO DRVATT
  VALUES( 651, 94, 78, NULL, 0, 1, 2, 50, 3, 1, NULL, NULL );
INSERT INTO DRVATT
  VALUES( 652, 94, 79, NULL, 0, 1, 4, 50, 4, 1, NULL, NULL );
INSERT INTO DRVATT
  VALUES( 653, 94, 80, NULL, 0, 1, 4, 20, 5, 1, NULL, NULL );
INSERT INTO DRVATT
  VALUES( 654,
          94,
          81,
          '3',
          0,
          1,
          4,
          20,
          6,
          1,
          '[1-3]',
          'Dialect should be 1 to 3' );
INSERT INTO DRVATT
  VALUES( 655, 94, 82, '0', 0, 1, 1, 20, 7, 1, NULL, NULL );
INSERT INTO DRVATT
  VALUES( 656, 94, 83, '0', 0, 1, 1, 20, 8, 1, NULL, NULL );
INSERT INTO DRVATT
  VALUES( 657, 94, 84, '0', 0, 1, 1, 20, 9, 1, NULL, NULL );
INSERT INTO DRVATT
  VALUES( 658, 94, 85, '0', 0, 1, 1, 20, 10, 1, NULL, NULL );
INSERT INTO DRVATT
  VALUES( 659, 94, 86, '0', 0, 1, 1, 20, 11, 1, NULL, NULL );
UPDATE ENGINES SET NAME = 'InterBase (unsupported)' WHERE ID=11;
INSERT INTO ATTS VALUES( 76, 'Database', 'Database', NULL );
INSERT INTO ATTS VALUES( 77, 'LogonID', 'User', NULL );
INSERT INTO ATTS VALUES( 78, 'Password', 'Password', NULL );
INSERT INTO ATTS VALUES( 79, 'Role', 'Role', NULL );
INSERT INTO ATTS VALUES( 80, 'Charset', 'Charset', NULL );
INSERT INTO ATTS VALUES( 81, 'Dialect', 'Dialect', NULL );
INSERT INTO ATTS VALUES( 82, 'DQuote', 'DQuote', NULL );
INSERT INTO ATTS VALUES( 83, 'Show Schema', 'With_Schema', NULL );
INSERT INTO ATTS VALUES( 84, 'No Wait', 'NoWait', NULL );
INSERT INTO ATTS VALUES( 85, 'Old MetaData', 'OldMetaData', NULL );
INSERT INTO ATTS VALUES( 86, 'Exec Proc', 'ExecProc', NULL );