解决ASP+SQL Server7的MTS事务处理问题,心情不错 ^^ 散分,来者有份! 忘了说是 NT4.0Server + sp6 + IIS4 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 打开recordset时,,指定游标类型和记录类型,即rsa.open sqltxta,conn,[0..4],[1..4], 都试过个种排列组合了,没有用。第一次的数据链接都能正常打开,就是在第二次的时候会出错。将第一个recordset先关闭再打开第二个就行了。但这样局限性很大,不打算采用这种方式。而且全部代码在原来的服务器上运行都没有问题的 不是MTS的问题,请查看服务器的区域设置是否和原来一样。 可能是由于第一个recordset占用着有效的数据库连接,导致第二个recordset不能再次使用该数据库连接来打开recordset。我认为如果换成两个不同的数据库连接就不会出现这样的问题。但最好的方法还是将第一个recordset关闭。recordset里的数据可以用读出来,或者将光标类型设为客户端光标,然后将recordset的activeconnection设为nothing laynx(laynx):按照我对MTS方式事务处理方法的理解,应该不会要求立即关闭同一个conn里的rs。将光标类型设为客户端光标?该怎么设?将recordset的activeconnection设为nothing?有什么用呢?我以前这些语句应该都是正确的呀,能够在一服务器上运行正常的。restart2001(呵呵,天气冷了不洗澡了。。),wxt(D.K):我现在就是怀疑有哪个设置和原来的不一样,我几乎是按照原来的配置设置的,也考虑到了软件版本的向下兼容性问题。是不是有一个微小的地方正是需要设置的地方,而我没有注意到呢?请各位大侠指点迷津呀~~~~ 先看看是否rs1的错误,Response.write rs1("申请人")排除法查错 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="" thenrsa.open "",conn??? 太正常了 我们现在做的一套系统也是 在新建一个 recordset 对象之前必须先关闭之前建立的对象,否则绝对出错。其实仔细修改一下程序就成,没有十分的必要同时打开两个记录集的,至少我没有遇到。还有哦,这样的错误估计和 mts 是没有什么关系的,赫赫 有些问题就这样,没法解释,估计是你的有些dll或ocx版本太,有一次我的comdlg.ocx版本太低,结果打开一个纪录集都报错,你试试升级一些ocx版本!! sql的日志不是记录所有的操作呢,对表内容的直接修改没有记录咋。 2003 SP2系统安装SQL2008企业版出现人品级问题。 蛋碎一地,大牛救救我 sql 语句判断表是否有主键 【求助】一条看似简单的更新语句出问题了,请问该如何解决? 纪录变横向的写法 请问关于tinyint类型字段的为空查询问题 100分求100万级存储过程调优求解? 关于SQL2K游标的问题 只有msde的数据导入 求一个两表联合查询的语句写法 请问在新建作业中分类为未分类本地是指?? 存储过程可不可以传入一个象数组那样的参数??如果可以,如何传?
rsa.open sqltxta,conn,[0..4],[1..4],
第一次的数据链接都能正常打开,就是在第二次的时候会出错。将第一个recordset先关闭再打开第二个就行了。但这样局限性很大,不打算采用这种方式。而且全部代码在原来的服务器上运行都没有问题的
我认为如果换成两个不同的数据库连接就不会出现这样的问题。但最好的方法还是将第一个recordset关闭。recordset里的数据可以用读出来,或者将光标类型设为客户端光标,然后将recordset的activeconnection设为nothing
按照我对MTS方式事务处理方法的理解,应该不会要求立即关闭同一个conn里的rs。
将光标类型设为客户端光标?该怎么设?
将recordset的activeconnection设为nothing?有什么用呢?
我以前这些语句应该都是正确的呀,能够在一服务器上运行正常的。restart2001(呵呵,天气冷了不洗澡了。。),wxt(D.K):
我现在就是怀疑有哪个设置和原来的不一样,我几乎是按照原来的配置设置的,也考虑到了软件版本的向下兼容性问题。是不是有一个微小的地方正是需要设置的地方,而我没有注意到呢?请各位大侠指点迷津呀~~~~
Response.write 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???