刚开始接触sybase iq 12.7数据库,很不熟悉,尤其是关键的登录数据库方式,比oracle要复杂,常见的问题是:找不到请求的服务器名。
[sybiq@localhost iq]$ isql -udba -psql -sasiqdemo
ct-library error:
ct_connect(): directory service layer: internal directory control layer error: requested server name not found.
这需要修改一个配置文件 interfaces,设置如下信息:
asiqdemo
master tcp ether 127.0.0.1 2638
query tcp ether 127.0.0.1 2638
再登录时就简单了
[sybiq@localhost iq]$ isql -udba -psql
1> select @@version
2> go
@@version
----------------------------------------------------------------------------------------------------------------------
sybase iq/12.7.0/120201/p/esd 12/enterprise linux64 - amd64,opteron64,x86_64/2.
4.21-27.0.1.elsmp/64bit/2012-02-01 00:28:07
(1 row affected)
1>
isql 的参数说明:
-s 指定要连接的 adaptive server 的名称。isql 在 interfaces 文件中查找此名称。如果指定 -s 而不指定参数,isql 会查找名为 sybase 的服务器。如果不指定 -s,isql 会查找由 dsquery 环境变量指定的服务器。
接口文件的说明:
接口文件是一个“地址簿”,它列出每一个已知服务器的名字和地址。当客户端应用连接一个给定名的服务器时,该客户端:
1在接口文件中查找服务器名。
2使用给定的地址/端口号连接服务器。
接口文件的名字与位置因操作系统的不同而不同。
unix缺省值: $sybase\interfaces
windows缺省值: %sybase%\ini\sql.ini
novell netware缺省值就不说了
感觉有点儿像oracle中的tnsnames.ora文件。
阅读(3550) | 评论(0) | 转发(0) |