忘了说是 NT4.0Server + sp6 + IIS4

解决方案 »

  1.   

    打开recordset时,,指定游标类型和记录类型,即
    rsa.open sqltxta,conn,[0..4],[1..4],
      

  2.   

    都试过个种排列组合了,没有用。
    第一次的数据链接都能正常打开,就是在第二次的时候会出错。将第一个recordset先关闭再打开第二个就行了。但这样局限性很大,不打算采用这种方式。而且全部代码在原来的服务器上运行都没有问题的
      

  3.   

    不是MTS的问题,请查看服务器的区域设置是否和原来一样。
      

  4.   

    可能是由于第一个recordset占用着有效的数据库连接,导致第二个recordset不能再次使用该数据库连接来打开recordset。
    我认为如果换成两个不同的数据库连接就不会出现这样的问题。但最好的方法还是将第一个recordset关闭。recordset里的数据可以用读出来,或者将光标类型设为客户端光标,然后将recordset的activeconnection设为nothing
      

  5.   

    laynx(laynx):
    按照我对MTS方式事务处理方法的理解,应该不会要求立即关闭同一个conn里的rs。
    将光标类型设为客户端光标?该怎么设?
    将recordset的activeconnection设为nothing?有什么用呢?
    我以前这些语句应该都是正确的呀,能够在一服务器上运行正常的。restart2001(呵呵,天气冷了不洗澡了。。),wxt(D.K):
    我现在就是怀疑有哪个设置和原来的不一样,我几乎是按照原来的配置设置的,也考虑到了软件版本的向下兼容性问题。是不是有一个微小的地方正是需要设置的地方,而我没有注意到呢?请各位大侠指点迷津呀~~~~
      

  6.   

    先看看是否rs1的错误,
    Response.write rs1("申请人")排除法查错
      

  7.   

    sqren=rs1("申请人")
    if not sqren="" then sqltxta = "select 中文姓名 from tbemployer where 姓名='"&sqren&"'"
    Set rsa = Server.CreateObject("ADODB.RecordSet")
    rsa.Open sqltxta,Conn 》》》》》即报错的第57行。if sqren="" then
    rsa.open "",conn???
      

  8.   

    太正常了 我们现在做的一套系统也是 在新建一个 recordset 对象之前必须先关闭之前建立的对象,否则绝对出错。其实仔细修改一下程序就成,没有十分的必要同时打开两个记录集的,至少我没有遇到。还有哦,这样的错误估计和 mts 是没有什么关系的,赫赫
      

  9.   

    有些问题就这样,没法解释,估计是你的有些dll或ocx版本太,有一次我的comdlg.ocx版本太低,结果打开一个纪录集都报错,你试试升级一些ocx版本!!