使用下面的连接字符串,我可以连接到SQL2000 DB而不是SQL2005。我在ASP文件中有代码。
Dim connStr, cn, rs, sql
connStr = "Provider=SQLOLEDB;Persist Security Info=True" _
& ";Initial Catalog=mydatabase" _
& ";User ID=dbuser" _
& ";Password=dbpwd" _
& ";Data Source=servername"
sql = "SELECT TOP 1 [Column1] FROM [dbo].[MyTable] order by NEWID()"
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open cn
set rs= server.CreateObject("ADODB.Recordset")
rs.CursorLocation=3
rs.Open sql,cn,3,4
if not rs.EOF then
Response.Write("<b>Column1: " & rs("Column1") & "</b><br />")
end if
set rs.ActiveConnection= nothing
rs.Close
set rs= nothing
if ucase(TypeName(cn)) = "CONNECTION" then
cn.Close
Set cn = Nothing
end if
我甚至厌倦了SQLOLEDB.1 在sql server上启用了Sql登录。
错误:连接无法用于执行此操作。在此上下文中它是关闭的或无效的。 发生在rs.Open sql,cn,3,4
上答案 0 :(得分:3)
有时会发生在每个人身上:
Dim connStr, cn, rs, sql
connStr = "Provider=SQLOLEDB;Persist Security Info=True" _
& ";Initial Catalog=mydatabase" _
& ";User ID=dbuser" _
& ";Password=dbpwd" _
& ";Data Source=servername"
sql = "SELECT TOP 1 [Column1] FROM [dbo].[MyTable] order by NEWID()"
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open connStr
您将变量 conn 称为连接字符串,但您已声明并填充 connStr
用“cn.Open connStr”改变“cn.Open conn”
答案 1 :(得分:0)
错误是什么?禁用远程连接的SQL Server 2005/8安装 - check this support article。
我明白了,尝试在Connection对象上设置connString(使用conn而不是connStr)。 Uee option explicit可以避免这些错误。