--- description: Connect an Informix database to Actian AI Analyst with a read-only user, network access, optional TLS with a truststore, and the Informix connector in Studio. --- # Informix Connect an Informix database so that Actian AI Analyst can query its tables for Models, Metrics, and SemQL. In Studio, this connector is the **Informix** tile. !!! info "Availability" - **Who can do this:** members with the **Edit** capability in the active Workspace. If your organization turns on **Restrict connection management**, adding or changing organization connections also needs the **Manage organization** capability. See [Who can add connections](README.md#who-can-add-connections). - **Plan:** your organization's plan can leave this connector out. Studio then doesn't show the **Informix** tile. - **Deployment:** offered only on deployments that are set up to reach Actian, Ingres, Informix, and ZenDB databases. If the **Informix** tile isn't listed under **Warehouses**, ask your administrator. !!! warning "Use a read-only user" AI Analyst only needs read access. This connector can't enforce read-only access by itself, so Studio shows "This Connector cannot enforce read-only access itself. Supply a warehouse user that is limited to read-only privileges." AI Analyst asks the driver for a read-only session where the driver supports it, and limits how long queries run and how many rows they return. See [Read-only access and query limits](../read-only-access.md). ## 1. Set up a read-only user Use a dedicated account for AI Analyst that has no privileges beyond reading the tables you choose. Ask your database administrator how accounts are created on your Informix server. ## 2. Grant read access to your tables In the database you want to connect, grant the user permission to connect and to read each table you want to use. Run the following SQL as a user with DBA privileges, and check the statements with your database administrator for your Informix version: ```sql -- Allow the user to connect to this database GRANT CONNECT TO actian_analyst_user; -- Grant read-only access to a specific table GRANT SELECT ON your_table_name TO actian_analyst_user; ``` Repeat the `GRANT SELECT` statement for each table. !!! info "Schemas in Informix" AI Analyst treats each table owner as a schema. After a successful test, the **Schemas** list shows the owners of the tables and views in the database, and you browse tables under each owner. ## 3. Allow network access If your Informix server is protected by a firewall, allow AI Analyst's egress IP addresses on your Informix port (default `9088`). - If your deployment publishes its egress IP addresses, Studio lists them under **Which IPs to allow** in the **Setup help** panel next to the connection form. - Otherwise, for example on a self-managed deployment, allow your installation's outbound addresses, or ask your administrator which addresses to allow. For details, see [Network access and IP allowlisting](../network-access.md). ## 4. Add the connection in Studio 1. In Studio, open **Connections** and click **+** (**Add connection**). 2. Under **Warehouses**, select **Informix**. 3. Under **Connection details**, enter a **Name** (for example `Informix sales`) and, if you like, a **Description (optional)**. 4. Leave **Private to this Workspace** unticked to create an organization connection, or tick it to keep the connection in this Workspace only. See [Data connections and Workspaces](../connections-and-workspaces.md). 5. Under **Credentials**, fill in the fields described in [Connection fields](#connection-fields), or [paste a connection string](#paste-a-connection-string). 6. Optional: to encrypt the connection, upload a truststore. See [Encrypt the connection with TLS](#encrypt-the-connection-with-tls). 7. Click **Test connection** and wait for **Connection successful**. 8. In **Schemas**, select the schemas (table owners) you want to expose. The first one is preselected. If you change the selection, the test result is cleared: click **Test connection** again (your selection is kept) and wait for **Connection successful**. 9. Click **Save connection**. **Save connection** stays disabled until the connection has a name and a successful test. If you change a credential field after testing, test again. For the general flow and the **Setup help** panel, see [Connect a data source](README.md#add-a-warehouse-connection). ### Connection fields | Field | What to enter | | --- | --- | | **Host** | The hostname without a protocol (no `https://`), for example `informix-host.example.com`. | | **Port** | The port for your Informix server instance, as listed in your services file (`/etc/services` on Linux). The default is `9088`. | | **Database** | The database name, for example `sales`. Required. | | **Informix server** | The `INFORMIXSERVER` name from your `sqlhosts` file, for example `ol_informix1410`. Required. | | **Username** | `actian_analyst_user`, or the read-only user you set up. | | **Password** | The user's password. | | **SSL truststore (optional)** | A Java KeyStore (`.jks`) file that holds the certificate your server presents. Uploading it turns on TLS. | | **SSL truststore password (optional)** | The password of the truststore file. Leave it blank if the truststore has no password. | | **Schemas** | Appears after a successful test. Select the schemas (table owners) to expose for browsing and Model authoring. | **Host**, **Database**, and **Informix server** can't contain `;`, `=`, or spaces. ### Encrypt the connection with TLS There's no separate SSL switch for Informix. The connection is encrypted only when you upload an **SSL truststore (optional)** file: - **With a truststore**, AI Analyst connects over TLS and trusts the certificates in the file. - **Without a truststore**, the connection isn't encrypted. To use TLS: 1. Make sure **Port** and **Informix server** point to a server listener that accepts TLS connections. Ask your database administrator which listener accepts TLS connections. 2. In **SSL truststore (optional)**, choose your `.jks` file. Studio reads it in your browser and sends it with the other credentials when you test or save. 3. If the truststore has a password, enter it in **SSL truststore password (optional)**. The truststore and its password are stored encrypted, like the user's password, and aren't shown again after you save. !!! note "Changing credentials later" When you change a saved connection's credentials with **Edit credentials**, the stored password and truststore aren't filled in. Enter the password again and upload the truststore again. If you save without a truststore, the connection is no longer encrypted. See [Manage a data connection](../manage-connections.md). ### Paste a connection string Instead of typing each field, you can fill the form from a connection string: 1. Under **Credentials**, click **Paste a connection string**. 2. Paste a JDBC URL or an ODBC-style string into **Connection string**, for example: ```text jdbc:informix-sqli://informix-host.example.com:9088/sales:INFORMIXSERVER=ol_informix1410;user=actian_analyst_user;password= ``` ```text Host=informix-host.example.com;Service=9088;Server=ol_informix1410;Database=sales;UID=actian_analyst_user;PWD= ``` 3. Click **Fill the form**, then check the filled-in fields. In the JDBC form, a colon (`:`), not a semicolon, separates the database name from its attributes. In the ODBC form, `Server` is the `INFORMIXSERVER` name and `Service` is the port. Studio fills the fields in your browser. It doesn't store the string, and nothing is sent until you test the connection. A connection string can't set the truststore: upload it in **SSL truststore (optional)**. ## Troubleshooting | Problem | What to try | | --- | --- | | The **Informix** tile isn't listed | The connector isn't enabled for your deployment or isn't included in your organization's plan. Ask your administrator. | | **This warehouse type isn't available right now** | Your deployment can't currently reach Informix databases. Contact your administrator. | | **Could not reach the warehouse** | Check **Host** and **Port**, and allow AI Analyst through your firewall (step 3). | | **Could not establish a secure connection** | Check that the truststore holds your server's certificate, that the truststore password is right, and that **Port** and **Informix server** point to a TLS listener. | | **Authentication failed** | Check **Username** and **Password**. | | **This warehouse user cannot see those objects** | Grant the user `CONNECT` on the database and `SELECT` on the tables (step 2). | | The test fails with another message | Check **Informix server** against your `sqlhosts` file, and check that **Database** exists on that server. | For the other messages, see [If the test fails](README.md#if-the-test-fails). ## Next steps - [Manage a data connection](../manage-connections.md): browse the schema, re-test, change credentials, or delete the connection. - [Creating models from a table](../../semantic-layer/models/creating-models/creating-models-from-table.md): build Models on the tables you exposed. - [Data Source Health Monitoring](../data-source-health-monitoring.md): daily checks and alerts for your connections.