IT分销/经销数据库Informix

请教:调用informix的api函数后,api函数不返回问题

在调用informix的api后,调用堆栈如下,但就是不返回。导致调用阻塞。函数堆栈如下:WS2_32!WSARecv+0x65   WSOCK32!recv+0x31   isqlt09a!service1+0xd932   isqlt09a!service1+0xcaae   isqlt09a!ifx_int8cmp+0xe441   i...显示全部
在调用informix的api后,调用堆栈如下,但就是不返回。导致调用阻塞。

函数堆栈如下:
WS2_32!WSARecv+0x65   
WSOCK32!recv+0x31   
isqlt09a!service1+0xd932   
isqlt09a!service1+0xcaae   
isqlt09a!ifx_int8cmp+0xe441   
isqlt09a!ifx_int8cmp+0x1aab9   
isqlt09a!ifx_int8cmp+0x14002   
isqlt09a!ifx_int8cmp+0x770e   
isqlt09a!ifx_int8cmp+0x193b   
isqlt09a!CheckOsInit+0x1819   
isqlt09a!CheckOsInit+0x18f7   
isqlt09a!CheckOsInit+0x1db   
isqlt09a!sqli_defprep_set+0x483a
isqlt09a!sqli_prep+0x454   
isqlt09a!sqli_prep+0x1a8   
isqlt09a!sqli_prep+0x3f   
………………
(注:省略部分为我调用informix的api的代码,该代码平时使用是没问题的,只在某些时候出现,怀疑是其他的地方问题导致)

请专家指点一下,不胜感激。谢谢!!

10月27日补充提问
非常感谢大家的回复,我都试过,但都没有得到想要的效果。
  
这个问题在用户那里偶尔重现,重现条件未知。
我希望:1.有办法能重现(能重现才能证明问题的根源再哪里);2.问题原因是什么;3.采取怎样的规避措施
收起
参与40

查看其它 39 个回答little_stone的回答

little_stonelittle_stoneCIO武汉高科技公司
to:jillme
谢谢你的指点。

1. 我们经历的还有些不一样,我经历的是调用一个语句没有返回,也经历了一次在关闭数据库时不返回;
2. 我不知道你后来有没有再重现一下问题。即使连接没有关闭,再次连接应该只会报错或者超时,不会出现阻塞,我经历的至少过了(通过日志,分析代码逻辑)半个小时都没有返回;
3. 但我猜想的话,原因应该是类似的。
4. 我现在有一个猜测:会不会消息缓冲区不够导致?怎么看消息缓冲区?
IT分销/经销 · 2010-11-03
浏览1162

回答者

little_stone
CIO武汉高科技公司

回答状态

  • 发布时间:2010-11-03
  • 关注会员:0 人
  • 回答浏览:1162
  • X社区推广