尝试使用vbscript显示SQL数据库中的数据

时间:2012-06-19 16:40:01

标签: asp.net sql vbscript webpage

我正在尝试在VBScript内部建立与SQL服务器的连接。

每当我连接到我的SQL服务器时,网页上都会显示“处理URL时出现问题”并与管理员联系。

我知道我的连接字符串是正确的,因为它适用于所有其他页面。

以下是我目前使用的用于设置SQL连接的代码

Const SQL_Connection_String = "Provider=sqloledb;SERVER=SQLPROD;DATABASE=MyDataBase;UID=MyUsername;PWD=MyPassword;"
    Set SQLConnection = CreateObject("ADODB.Connection")
    SQLConnection.provider = "ADODB.Connection"
    Set SQLConnectionRecordSet = CreateObject("ADODB.Recordset")

据我所知,这应该是在VBscript中设置连接的有效方法。我还没有找到任何关于配置这些连接的好文档。

我想知道的是:我是否正确设置了连接,是否有一些策略可以解决这个问题?意思是我希望能够有一个print语句,如果连接成功,则返回true或false。我还想以某种方式打印我的阅读器的内容,看它是否已从数据库中读取,以及它是否读取了我想要阅读的内容。

感谢您的帮助。我是第一次使用VBscript和ASP.net,所以我不知道任何副词。

2 个答案:

答案 0 :(得分:2)

SQLConnection.provider = "ADODB.Connection"

绝对是错的。当您在连接字符串中指定提供程序时,删除该行的可能性很小(很小)会使您的脚本“正常工作”。

<强>更新

(1)如果您在连接数据库时遇到问题,请使用this excellent source开始理论和示例,创建一个空文件(例如constr.udl),启动它,并使用GUI指定/测试你的连接。离开对话框会将连接字符串保存在文件中,您可以通过一个体面的(启用Unicode的)编辑器从中获取它。 using .udl file

(2)如果ASP页面上有太多错误,请将(简化的)数据库代码解压缩到命令行.vbs脚本;这样你可以专注于一个敌人(当你确定时,处理第二个,你的SELECT返回所需的数据)。

(3)如果您遇到特定SQL语句/功能/表达式的问题,请研究文档;在这种情况下,请查看您最喜欢的SQL书籍或关注Google LIKE (according to the horse)。 JOIN也可能是候选人。然后使用(2)从简单的陈述开始,进入更复杂的之后你已经掌握了看似无聊的东西。 (“Table2.Date LIKE'2011'”可能起作用与否,具体取决于Date列的类型和内容(并且不是Date保留/关键字?)

(虽然Derek肯定会读到他的另一个问题的答案,但是从这里开始的其他人也可能会从阅读this中获益。)

答案 1 :(得分:1)

以下是脚本ADO的一些示例代码:

Set SQLConnection = CreateObject("ADODB.Connection")
SQLConnection.Open ConnectionString

Set rs = CreateObject("ADODB.RecordSet")
rs.Open "SELECT SYSTEM_USER AS Username, session_id, auth_scheme, net_transport, client_net_address FROM sys.dm_exec_connections WHERE (@@SPID = session_id)", SQLConnection 

' Loop through each record until there are no more
While NOT rs.EOF
    ' Loop through each field
    For Each field In rs.Fields
        output.Write field.Value & " "
    next

    rs.MoveNext
    output.WriteLine
Wend