我使用
$db = new PDO("odbc:Driver={SQL Server};Server=localhost;Database=123;",'sa',''); 
连接sql2000,连接成功,执行普通的查询和删除语句没问题,
$db = new PDO("odbc:Driver={SQL Server};Server=localhost;Database=123;",'sa',''); 
$sql = "delete from a ";
$sth = $db->query($sql);
以上代码可以成功运行,但是现在想运行个存储过程,已经在数据库123中建好了个chaxun的存储过程
直接在查询分析器中exec chaxun是可以成功的,但是用以下代码就不行了
$db = new PDO("odbc:Driver={SQL Server};Server=localhost;Database=123;",'sa',''); 
$sql = "exex chaxun ";
$sth = $db->query($sql);
结果总是这个存储过程执行了一部分,比如说这个存储过程的用处是插入某个表一万行数据,在查询分析器中可以插入一万行,但是用以上代码,只能插入1000多行,
有高人知道是怎么回事吗?谢谢

解决方案 »

  1.   

    虽然不知道问题在哪,但是建议你升级mssql版本在试试
      

  2.   

    额,这个肯能是PHP的php.ini里超时设置太低了
    因为你用SQL SERVER的管理工具可以运行
    而PHP在执行这个存储过程的时候
    PHP页面是暂时挂起的
    所以当你循环插入1000条之后
    PHP的超时到了 就导致退出  
    应该是这个问题 你修改下配置 看看是不是能多增加一些
    祝你好运