为何在程序中打开两个数据联接(rs.open)就会出错?有源码。

cwq888 2002-02-27 06:42:46
我的一段程序,运行环境是Win2000+SQL2000+iis5.0,
在我的机器上能正常工作,但到了另一台机器上就出错
这两台机器的Win2000+SQL2000+iis5.0版本号是一样的,
而且SQL2000还是同一张安装盘安装的,是评估版。
Dim cn As new ADODB.Connection
Dim rs As new ADODB.Recordset,rs1 As new ADODB.Recordset
dim ssql as string,ssql1 as string
cn.Open "dsn=xs;UID=exam;PWD=exam;Trusted_Connection=No"
rs.Source = ssql'是查询语句
rs.ActiveConnection = cn
rs.Open
if not rs.eof then
rs1.Source = ssql1'是查询语句
rs1.ActiveConnection = cn
rs1.Open'程序在另一台电脑在这里出错,在我的电脑上就没有任何问题。
'ssql1语句绝对是没有任何错误的。两台机器的SQL并发用户的最大联接都是0(无限制)
'后来,我把rs1全部去掉,用一个综合查询语句代替,才算解决问题,但我不知道
'这是为什么?在我的整个的程序中有多处这样的代码,但有的地方,在两台电脑上就正常
'有的地方就不行,非得去掉一个数据记录集。
....
....
rs1.close
end if
rs.close
cn.slose
set rs=nothing
set cn=nothing
...全文
75 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangzehuan 2002-08-19
  • 打赏
  • 举报
回复
按下面代码的方法试试:
<%
'=============================
'SQL Server 2000使用的数据库定义档
'=============================
On Error Resume Next '遇有错误仍继续执行
'宣告Connection(资料库链接)物件
set conn=server.createobject("adodb.connection")
'打开链接数据库的信道
conn.open "Provider=SQLOLEDB.1;Server=server;DSN=mydata;UID=myname;PWD=123456"
'声明Recordset对象
Set RS=Server.CreateObject("ADODB.Recordset")
Set RS1=Server.CreateObject("ADODB.Recordset")
call DBError
%>
<%
function DBError
if Err.Number<>0 then
Response.Write "<p>无法连接数据库、顺利取得数据或执行SQL叙述"
Response.Write "<p>原因:" & Err.description
Response.Write "<p>错误来源:" & Err.Source
end if
DBError=Err.Number
end function

%>
下面就可以打开多个表了。

<%
rs.open "a",conn,1,1 ''a 是表名
rs1.open "b",conn,1,1 ''b是表名
rs.close
rs1.close
%>
数码异族 2002-02-28
  • 打赏
  • 举报
回复
你将RS,RS1的定义分成两行试试!或者两机器中DSN=xs对库的权限不同!

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧