2

我正在尝试在 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 中建立连接的有效方式。我还没有真正找到任何关于配置这些连接的好文档。

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

谢谢你的帮助。我是第一次使用 VBscript 和 ASP.net,所以我不知道任何细微之处。

4

2 回答 2

2

您的

SQLConnection.provider = "ADODB.Connection"

肯定是错的。当您在连接字符串中指定提供程序时,删除该行的(小)机会会使您的脚本“工作”。

更新

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

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

(3) 如果您对特定的 SQL 语句/功能/表达式有问题,请研究文档;在这种情况下,请查看您最喜欢的 SQL 书籍或按照谷歌LIKE(按马)。JOIN 也可能是候选人。然后用(2)从简单的语句开始,掌握了看似枯燥的语句后,再进行更复杂的语句。(“Table2.Date LIKE '2011'”可能会起作用,具体取决于 Date 列的类型和内容(并且 Date 不是保留字/关键字吗?)

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

于 2012-06-19T16:58:18.647 回答
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
于 2012-06-19T23:14:03.287 回答