说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Win2003 Server上,调用ODBC函数出异常,1000分请高手帮忙。

编辑:说三道四文库 发布时间:2018-05-25 01:07
HTML文档下载 WORD文档下载 PDF文档下载
程序是NT service,在启动时,读取数据库,windows2000下正常,
但是Windows2003 server上,经常出现服务起不来的情况。trace了一下,
发现由于ODBC函数30秒未返回,造成service启动失败。

请问,ODBC和Windows2003 server不兼容吗?有什么解决方法吗?
在程序里设置ConnetionTimeOut为 0 就是吧!
关注
发程序上来,给大家看看吧.
将超时时间全部设置为0
up
try
不懂,关注,帮你up
对,试一下设置超时
谢谢诸位,因为我是低手中的低手,所以还要问一句,如何设置超时值?
还有,为什么2000上没有问题,2003就有问题呢?
hoho 

如何设置超时值?
_ConnectionPtr m_pConnection;
m_pConnection.CreateInstance("ADODB.Connection");
m_pConnection.ConnectionTimeOut=0;
ConnectionTimeout缺省就是0吧?
to  farawayzheng_necas(遥远)

ConnectionTimeout缺省就是30
你用odbc链接什么数据库?如果链接oracle,一定要使用安装oracle客户端后由oracle提供的odbc驱动,windows的不稳定。
我连接的是MSDE,用的是SQL Server的driver,这样不行吗?

ConnectionTimeout缺省就是30??

SQL_ATTR_CONNECTION_TIMEOUT
(ODBC 3.0) 

An SQLUINTEGER value corresponding to the number of seconds to wait for any request on the connection to complete before returning to the application. The driver should return SQLSTATE HYT00 (Timeout expired) anytime that it is possible to time out in a situation not associated with query execution or login. 
If ValuePtr is equal to 0 (the default), there is no timeout.
                        ……………………
                        为什么这里说缺省是0呢?

顶一下
i don't known the reason,but i do see on my book the connectiontimeout is 30,
but i suggest you to have a try
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘