- 论坛徽章:
- 0
|
客户端(HP A )通过esqlc 访问网络数据库(HP B +informix7),客户端没有安装数据库客户端,仅安装了esql包,通过配置/etc/hosts、
/etc/services 以及$INFORMIXDIR/etc/sqlhosts,与数据库服务器(配置etc/hosts、etc/hosts.equiv文件)建立信任关系,同时在数据库服务器建立
客户端相同的用户,并赋数据库访问权限。通过esqlc实现函数ConnectDB()、DisconnectDB(),里边就是EXEC SQL CONNECT TO :dbname,EXEC SQL
DISCONNECT current。
客户端 程序 在 A 上执行:
方法一:
void main()
{
ConnectDB();
DisconnectDB();
}
ok,没有问题。
方法二:
void * thread_fun()
{
ConnectDB();
}
void main()
{
pthread_create(...thread_fun,...); //启动线程来调用数据库连接函数
DisconnectDB();
}
失败 客户端sqlca.sqlcode = -908
数据库服务器日志 : online.log : listener thread err=-25573,oserr=233 Network driver cannot accept a connection on the port.
若把客户端程序放在数据库服务器B上,上面两种方式都没有问题,那位大虾帮帮忙,搞死我了! |
|