欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

多线程访问informix有关问题

更新时间: 2014-01-05 02:20:01 责任编辑: Author_N1

 

多线程访问informix问题
大家好,小弟最近在写多线程访问informix的一个程序,如果在每个线程里用不同的连接名连接数据库时,可以实现正常访问;现在我想让主线程创建一个连接,然后所有的线程共享这个连接去访问数据库,不清楚应该怎么实现请大家指点一下,谢谢,如果能够解决问题,小弟一定不会在乎给分这个问题的,谢谢……;
我参照网上的解释写了如下代码,但是执行时会报-1811错误:一但使用   CONNECT   TO   语句建立与数据库服务器的显式连接,就不能使用DATABASE语句之一隐含建立与其它数据库服务器的连接。显式连接之后,必须使用CONNECT   TO语句连接其它数据库服务器。
void   pthread_fun_share(char   *id)
{
printf( "------set   db   busy\n ");
EXEC   SQL   set   connection   'proxy_test ';
static   int   i=0;
long   temp_id=atol(id);
                                printf( "第【%d】次创建线程成功\n ",i-1);
Interact_Message   inter_message   =   {1,0, "abcdefghijklmnopqrstuvwxyz "};
inter_message.instruction_log_id=temp_id;
inter_message.content_index=i;
write_interaction_log(&inter_message);//写数据库过程
printf( "------set   db   dormant\n ");
EXEC   SQL   set   connection   'proxy_test '   dormant;
}

--参考方法--
不建议在ESQLC中多线程共享连接。既然你提到了,我也说两句,
把EXEC SQL set connection 'proxy_test '; 放到线程执行函数以外。
--参考方法--
进来围观的,o(∩_∩)o...
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:20:01
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/8587/
本文WWW.DOC100.NET DOC100.NET版权所有。