1

我有一台运行 Informix Dynamic Server 2000 版本 9.21.UC4 的旧服务器 (Solaris 8),我想启用 ODBC,以便我可以从其他地方获取数据,但我无法在线找到有关如何操作的文档在服务器上执行此操作。我可以在服务器上使用 dbaccess 来获取数据就好了,但是当我查看服务列表时,我没有看到任何为 IDS 启用的东西......

想法?方向?

谢谢!

额外的想法:

  • 我的服务器的主机名是“r3tmmtx”
  • informix 内部服务器名称似乎是“cms_ol”

我的 sqlhosts 文件:

demo_on onipcshm        on_hostname     on_servername
demo_se seipcpip        se_hostname     sqlexec
cms_ol  onipcshm        r3tmmtx         cms_ol
oacms_ol        onipcstr        r3tmmtx oacms_ol

我的环境变量中带有“INFORMIX”:

INFORMIXTERM=terminfo
INFORMIXDIR=/opt/informix
INFORMIXSERVER=cms_ol
4

2 回答 2

0

当 IDS 也接受 DB-Access 连接时,它会自动配置为接受 ODBC 连接。也许更棘手的是告诉 ODBC 如何连接到 IDS。这是我在 Solaris 上使用的 .odbc.ini 文件 - 我相信经过适当调整,它应该适合您。

;
;  odbc.ini
;
[ODBC Data Sources]
odbc_demo = IDS 11.50.FC3 stores on black

[odbc_demo]
Driver          = /usr/informix/11.50.FC1/lib/cli/libifcli.so
Description     = IBM Informix CLI 3.50
Server          = black_19
FetchBufferSize = 99
UserName        = jleffler
Password        = PassWord
Database        = stores
ServerOptions   = 
ConnectOptions  = 
Options         = 
ReadOnly        = no
Trace           = yes
TraceFile       = /tmp/odbc.trace

不 - 这不是我的实际密码。我还有一个适当配置的 sqlhosts 文件:

black_19        ontlitcp        black   18190
black_19_tcp    ontlitcp        black   18191       s=4,pam_serv=login,pamauth=password
black_19_enc    ontlitcp        black   18192       csm=(black_19_enc)
black_19_shm    onipcshm        black   black_19
black_19_str    onipcstr        black   black_19
black_19_pwd    ontlitcp        black   18193       csm=(black_19_pwd)

OBDC 文件使用这些条目中的第一个。

如果您的目标是从 PC 连接到 IDS,那么您需要在 PC 上配置 ODBC 连接,我不是专家。其中一个相关工具是 SETNET32(仅在 Windows 上与 CSDK 一起分发) )。您可能还需要(或想要)配置无 DSN 连接——我没有这样做,因为我通常使用 ESQL/C 而不是 ODBC 来连接 IDS。

另外,请注意 IDS 9.30 和 9.40 现在都停止服务 - IDS 9.21 已经停止服务很长时间了。

于 2009-11-06T01:52:19.397 回答
0

看看你的/etc/services. 应该有类似的东西:

   turbo  1526/tcp                      #Informix server

这意味着 Informix 在端口 1526 上进行侦听。然后使用netstat -anp | grep [port]它来查看它是否正在侦听并且对其他人可见。如果可见,则在其他机器上安装 CSDK 并配置 ODBC 以访问您的服务器。

我不使用 Solaris,所以我不知道 netstat 是否有 -p 标志来显示哪个应用程序正在使用连接。

于 2009-11-06T08:33:09.073 回答