使用的是sql2000数据库,安装过sp4补丁。
还有一个古老的用c++写的程序,会调用该数据库的一个存储过程,数据库访问使用的是db-library。
该过程其实是通过链接服务器查询另一个sql2000数据库中一张表的数据。比如:
create procedure p_query_inf
as
select num from webserver.zhdb.dbo.numberinfo;
go
奇怪的是:这个过程写好,在查询分析器中执行没有任何问题,但该c++程序调用时就执行存储过程失败(错误原因不详,因为该程序很老了,基本没有熟悉的人)。
但是如果把c++程序访问的数据库和链接服务器指向的数据放在一台机子上,存储过程中不使用链接服务器程序变为这样
create procedure p_query_inf
as
select num from zhdb.dbo.numberinfo;
go
那个古老的c++程序就调用该过程成功。所以我就怀疑是链接服务器的问题,可是我在查询分析器里使用跟c++程序访问数据库一样的用户,执行该过程就没问题啊。(查询出来结果集不大,就几百条)
真奇怪,请各位高手指点!