【问题标题】:Informix for beginner适合初学者的 Informix
【发布时间】:2010-09-17 18:43:30
【问题描述】:

什么是 Informix?我知道它是一个 DBMS,它在学习难度和语法方面与 SQL Server 相比如何?

如何开始学习 Informix?我可以知道“hello world”教程吗?

【问题讨论】:

    标签: informix


    【解决方案1】:

    IBM Informix Dynamic Server(IDS,俗称 Informix,尽管有许多其他产品属于 Informix 产品系列)是用于多种用途的出色 DBMS。它具有出色的数据管理能力,出色的数据复制能力,并且可靠。第一个基于 Informix SQL 的 DBMS 发布于 1985 年,因此它也具有类似于 Oracle、DB2、Ingres、Sybase 的长寿和血统。与所有主要的 DBMS(包括 MS SQL Server)一样,它早于 SQL 标准,因此它的某些部分不符合 SQL 标准,但它通常可以完成合理的工作。它可以在 Unix 和衍生产品(Solaris、AIX、HP-UX、Linux 和 MacOS X)以及 Windows(XP、Vista 等)上运行。

    IDS 的最新版本是 11.50(完整版,11.50.FC2 或 11.50.UC2)。您可能遇到的其他版本包括 7.31、9.40、10.00 或 11.10。 Informix 还提供当前版本 7.25 的 Informix 标准引擎 (Informix SE) 和当前版本 5.20 的 Informix OnLine(IDS 的前身)。客户端工具的主要来源是客户端 SDK,当前版本 3.50。这包括 ESQL/C、ODBC、JDBC、.NET 和各种其他驱动程序。 Informix SQL(一种产品,不同于 IDS 中嵌入的 Informix SQL 方言)和 Informix 4GL。

    您可以将 DBI 和 DBD::Informix 与 Perl 一起使用。 PHP 有一个 PDO_INFORMIX 和一个 PDO_IBM 驱动程序。有一个 Python 驱动程序。 Ruby 有一个驱动程序。 (古老的)Tcl/Tk 有一个古老的驱动程序。您可以在下面提到的 IIUG 网站上找到 SQLCMD(比同名的 MS SQL Server 程序早了十年多一点)。有一个 I4GL 的开源重新实现,可用作 Aubit4GL。您还可以在 4JsQuerix 找到 I4GL 衍生产品。您可以在 www.serverstudio.com 找到 Server Studio Java 版 (SSJE)。

    规范的网站是 www.ibm.com/software/data/informixwww.informix.com 也可以带您到那里(您通常在 URL 中以 www-01.ibm.com 结尾)。您还可以在国际 Informix 用户组网站www.iiug.org 上找到很多信息。会员资格是免费的。 IIUG 提供了许多邮件列表,并包括 informix-list@iiug.com 列表和 comp.databases.informix 新闻组之间的网关。

    您可以从 IBM 和 IIUG 获得该软件的试用版。

    全面披露:我从 1986 年开始使用 Informix 产品,目前在 IBM 从事 IDS 方面的工作。

    【讨论】:

    • 我需要将数据从informix实时推送到我的.net服务器,就像我们可以在使用signalR和ms sql server的数据库发生变化时自动完成一样。这个可以吗?
    • @Arbaaz:如果您有新问题,请提出新问题。简洁的答案是“更改数据捕获”或 CDC — 有一个系统可用于在数据发生更改时捕获它。
    • 你说得对,我应该首先将它作为一个问题发布。你能详细回答一下吗? MS Sql Server 不是 CDC 吗? stackoverflow.com/questions/42254421/…
    【解决方案2】:

    从 .NET 开发人员的角度来看,使用 IDS 是一件很痛苦的事情。

    主要原因(IDS 11.5):

    1. 缺乏 IDE 集成或可视化工具
    2. 需要其他工具才能解码的错误消息
    3. 无法从 .NET 端链接 SQL
    4. 无法在服务器端执行字符串操作功能(或者我的 DBA 告诉我 - DBA 与 IDS 合作超过 10 年
    5. IDS 驱动程序中似乎存在大量与 .NET 和 64 位操作系统有关的已知(未修复)错误
    6. 返回的 DataReader 对象上没有列名(这意味着手动映射 - 无法执行 reader['columnname'])

    这些只是一个处理 IDS 的项目中的几个项目。我可以看到它很快,我确信它是可靠的,但是如果你不能轻松地针对对象模型进行编码,那么它就毫无意义了。

    【讨论】:

      【解决方案3】:

      很抱歉,您的陈述一定有点过时了。 Informix 11.50(一个非常旧的版本,很快就会停止支持 - 我们现在是 12.10 版本)已经通过 IBM Data Server 驱动程序与 .NET 实体框架兼容。您需要做的就是在安装驱动程序后安装 VSAI 插件。我已经帮助几个 .NET 开发人员对其进行了配置,他们对此感到非常惊讶。

      作为前端,您可以使用 Squirrel(开源),它使用 JDBC 连接与多个数据库一起工作。

      有关字符串操作的实际版本 (12.10) 手册页,请参见 here

      Informix 现在能够混合 NoSQL 应用程序,并提供事务支持!

      【讨论】:

        【解决方案4】:

        如果您了解 SQL,则可以非常轻松地在基础级别上使用 Informix(如果您是 DBA,那就完全是另一回事了)。

        对我来说,最大的问题是缺乏一个像样的开发 IDE——你可以从 QuantumDB Eclipse 插件运行基本查询,但你不能使用存储过程(我认为这是 IBM JDBC 驱动程序的问题)。 Unix 命令行界面似乎是在那里正确执行任何操作的最简单方法。

        有一些技巧(比如知道连接的顺序确实很重要),但我相信你会在途中学会这些技巧。

        SELECT
          table1_alias.column1 column1_alias, 
          table2_alias.column2 column2_alias 
        FROM
          table1 table1_alias,
          table2 table2_alias
        WHERE
          table1_alias.column1 = table2_alias.column2
        AND
          table1_alias.column3 != 'value' 
        AND
         (char_length(table1_alias.column3) > 3
        AND
         table1_alias.column3 IS LIKE 'another_value%'
        

        【讨论】:

        • 嗨,伊利亚。您是否测试了最近推出的新 JDBC 4.0 驱动程序?
        猜你喜欢
        • 2015-02-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-17
        • 2021-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多