菜鸟科技网

informix 登录命令

dbaccess

dbaccess 是 Informix 自带的、最标准的字符模式数据库客户端工具,也是进行日常管理和数据操作的基础。

informix 登录命令-图1
(图片来源网络,侵删)

交互式登录(最常用)

直接在命令行输入 dbaccess,不带任何参数,系统会进入交互式菜单。

dbaccess

执行后,您会看到一个菜单界面:

INFORMIX-DBACCESS
-----------------
Choose the type of activity:
   1)  databases (list and connect to a database)
   2)  query-language (create, retrieve, update, and delete data)
   3)  reports (create and print reports)
   4)  menus (create and run application menus)
   5)  exit dbaccess
Enter your choice (1-5):
  • 输入 1:选择 "databases",系统会列出您在 INFORMIXDIR/etc/sqlhosts 文件中定义的所有数据库服务器别名,或者您可以直接输入数据库名称。
  • 系统会提示您输入用户名和密码:
    Enter database name (or @ for list): mydatabase
    Enter user name: informix
    Enter password: 
  • 输入正确的信息后,您就成功连接到数据库了,并会返回到主菜单,此时可以选择 2 进入 SQL 查询界面。

命令行直接登录

如果您想在登录后立即执行一个 SQL 脚本文件,可以使用以下格式:

dbaccess [数据库名] [SQL脚本文件名]
  • 示例
    # 连接到 mydatabase 数据库,并执行 script.sql 文件
    dbaccess mydatabase script.sql
    • SQL 脚本中有错误,dbaccess 会返回非零的退出码。
    • 如果数据库名称中包含特殊字符(如 ),建议用引号括起来,dbaccess "my-database" script.sql

命令行直接登录(不使用脚本文件)

如果您只想连接数据库并进入 SQL 模式,而不想先经过交互式菜单,可以提供一个不存在的脚本文件名( 或 /dev/null)。

informix 登录命令-图2
(图片来源网络,侵删)
dbaccess [数据库名] -
  • 示例
    # 连接到 mydatabase 数据库,并直接进入 SQL 模式
    dbaccess mydatabase -

    连接成功后,您会看到 > 提示符,可以直接输入 SQL 语句。

指定服务器登录

如果您的数据库不是在本机,或者需要通过 sqlhosts 文件中定义的特定服务器别名连接,可以在数据库名前加上 @服务器别名

dbaccess @服务器别名 [数据库名] [SQL脚本文件名]
  • 示例
    # 假设 sqlhosts 中定义了一个别名为 "ol_svr" 的服务器
    # 连接到 ol_svr 服务器上的 mydatabase 数据库
    dbaccess @ol_svr mydatabase -

其他常用客户端工具

除了 dbaccess,还有其他图形化或命令行工具可以用来登录 Informix。

onmode (主要用于管理,非登录)

onmode 命令主要用于数据库服务器的管理(如关闭、启动、切换模式等),但它有一个选项可以用来测试与数据库管理员的连接。

informix 登录命令-图3
(图片来源网络,侵删)
onmode -v
  • 说明:此命令会尝试连接到 sysmaster 数据库,并显示服务器版本、状态等信息,如果连接失败,通常说明 INFORMIXSERVER 环境变量或 sqlhosts 配置有问题。这不是一个标准的用户登录命令,但它是检查数据库服务是否可达的常用方法。

JDBC (Java 连接)

对于 Java 应用程序,通过 JDBC 连接 Informix 是标准做法。

JDBC URL 格式

jdbc:informix-sqli://[主机名]:[端口号]/[数据库名]:INFORMIXSERVER=[服务器别名];

示例代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class InformixJDBCExample {
    public static void main(String[] args) {
        // JDBC URL, 请根据实际情况修改
        String url = "jdbc:informix-sqli://192.168.1.100:1526/mydb:INFORMIXSERVER=ol_svr";
        String user = "informix";
        String password = "your_password";
        // Informix JDBC 驱动类名
        String driver = "com.informix.jdbc.IfxDriver";
        try {
            // 1. 加载驱动
            Class.forName(driver);
            // 2. 建立连接
            System.out.println("正在连接到 Informix 数据库...");
            Connection conn = DriverManager.getConnection(url, user, password);
            if (conn != null) {
                System.out.println("连接成功!");
                // 在这里执行你的数据库操作...
                conn.close();
            }
        } catch (ClassNotFoundException e) {
            System.err.println("找不到 Informix JDBC 驱动类: " + e.getMessage());
        } catch (SQLException e) {
            System.err.println("数据库连接失败: " + e.getMessage());
        }
    }
}

ODBC (开放数据库连接)

ODBC 是一种通用的数据库连接标准,许多应用程序(如 Excel、Power BI、各种编程语言的 ODBC 驱动)都支持它。

  • 前提:您需要在客户端机器上安装 Informix-Client SDK,并配置一个 DSN (Data Source Name)。
  • 连接方式:在支持 ODBC 的应用程序中选择配置好的 DSN,然后输入用户名和密码即可。

登录前的环境变量配置

在使用 dbaccess 或 JDBC 连接 Informix 前,通常需要设置几个关键的环境变量,否则连接会失败。

  • INFORMIXDIR: Informix 产品安装的根目录。
  • INFORMIXSERVER: 当前实例的服务器名称,必须与 sqlhosts 文件中的条目名一致。
  • PATH: 需要将 $INFORMIXDIR/bin 添加到系统 PATH 中。
  • DBLANG (可选): 设置数据库的语言和地区,DBLANG=en_US.819

示例 (Linux / Unix Shell):

export INFORMIXDIR=/opt/informix
export INFORMIXSERVER=ol_svr
export PATH=$PATH:$INFORMIXDIR/bin
export DBLANG=en_US.819

总结表格

工具/方法 命令/格式 主要用途 备注
dbaccess dbaccess 交互式登录和管理 最核心、最标准的客户端工具。
dbaccess mydb script.sql 批量执行 SQL 脚本 自动化任务常用。
dbaccess mydb - 直接进入 SQL 模式 快速执行 SQL 语句。
onmode onmode -v 测试与管理员连接 用于检查数据库服务状态,非用户登录。
JDBC jdbc:informix-sqli://... Java 应用程序连接 标准、灵活,适合开发。
ODBC 通过 DSN 连接 通用应用程序连接 Excel, BI 工具等常用。

对于初学者和日常管理,熟练掌握 dbaccess 的各种用法是关键

分享:
扫描分享到社交APP
上一篇
下一篇