如何在MS SQL Server 2008的ASP中连接和运行SQL代码?

时间:2013-11-21 09:03:11

标签: sql sql-server asp-classic

我正在尝试使用经典ASP文件连接到MS SQL Server并运行SQL查询,该查询在ASP文件中提供输出。我正在使用MS SQL Server 2008和Windows身份验证。我阅读了很多文章并经历了问题和答案,但似乎没有任何帮助。

我使用以下连接连接到MS SQL服务器,但它不想连接。

Dim con

Set con = Server.CreateObject("ADODB.Connection")

con.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DemoDB;Data Source=.\SQLEXPRESS"


con.Close
Set con = Nothing

如果我使用

Dim con

    Set con = Server.CreateObject("ADODB.Connection")

    con.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source=.\SQLEXPRESS"

    con.Close
    Set con = Nothing

它连接到服务器但我似乎无法运行SQL代码。我尝试使用包含的SQL代码运行的代码如下所示:

<%

Dim con
Dim rs

Set con = Server.CreateObject("ADODB.Connection")
Set rs = Sever.CreateObject("ADODB.Recordset")

con.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source=.\SQLEXPRESS"
rs.Open "USE DemoDB SELECT * FROM data", con

rs.MoveFirst
Response.Write(rs.Fields(0).Value)

con.Close
Set con = Nothing

rs.Close
Set rs = Nothing

%>

请somoene请指出我在我的代码中做错了什么。我不断收到以下错误消息:

  

处理URL时服务器上发生错误。请   联系系统管理员。如果您是系统管理员   请点击此处了解有关此错误的更多信息。

1 个答案:

答案 0 :(得分:0)

如果已在连接字符串中指定了演示数据库,则不需要USE。

' see end of this line ---->
con.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source=.\SQLEXPRESS;Initial Catalog=demoDB"

rs.Open "SELECT * FROM data", con

应该适用于那种情况。

但是,如果不使用此

rs.Open "USE demoDB; SELECT * FROM data", con

但第一种方法是首选。