9

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

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

4

4 回答 4

15

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 中嵌入的 SQL 的 Informix 方言)和 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) 。

规范的 Web 站点是www.ibm.com/software/data/informix,并且www.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 方面的工作。

于 2008-10-17T16:19:22.810 回答
6

从 .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 的项目中的几个项目。我可以看到它很快,我确信它是可靠的,但是如果你不能轻松地针对对象模型进行编码,那么它就毫无意义了。

于 2011-10-29T22:12:32.760 回答
3

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

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

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

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

于 2014-09-25T17:35:10.483 回答
2

如果您了解 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%'
于 2008-10-17T16:10:55.493 回答