为什么IDS不为RSAM提供C库函数?

时间:2012-04-20 05:52:13

标签: c informix isam

SE为C-ISAM提供的方式?

1 个答案:

答案 0 :(得分:3)

主要是因为它会相当复杂,对目标受众的收益甚微。如果你想要C-ISAM,你知道在哪里找到它。如果你想要Informix和SQL,你知道在哪里找到它。

实际上,有C-ISAM数据刀片。这有两种不同的方式:

  1. 数据可以存储在Informix数据库之外的C-ISAM文件中,但数据库中的代码可以将表视为数据库的一部分,读取和写入文件。 C-ISAM应用程序可以继续访问数据不变; ESQL / C程序(以及ODBC,JDBC,...)也可以通过Informix访问数据。

  2. 数据可以存储在Informix数据库内的基于RSAM的表中,因此普通的SQL程序可以访问数据。同时,已经与特殊版本的C-ISAM库重新链接的C-ISAM程序可以访问物理上在Informix数据库中的数据,就像它们是正常的C-ISAM文件一样。

  3. 这并不是一个长期解决方案,但它可以帮助在两个系统之间进行桥接。所以,谨慎对待; C-ISAM数据刀片更像是理论上的而不是实际的解决方案,尽管它可以在真正需要时很好地工作。

    Informix SE内部使用C-ISAM。它的设计不允许将C-ISAM作为一种访问方法;碰巧你也可以使用C-ISAM作为访问方法 - 只要你将数据库中的C-ISAM文件的权限设置为相当宽松的权限(公共写访问 - 危险!)或使程序适当地进行SGID (setgid)的。这意味着SGID'informix',并导致其自己的一组权限问题。因此,虽然可以做到 - 一个C-ISAM程序可以访问SE数据文件 - 但这通常不是一个好主意。