1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

ASP访问SQL Server内置对象--

本帖由 转贴高手2005-10-21 发布。版面名称:后端开发

  1. 转贴高手

    转贴高手 New Member

    注册:
    2005-10-21
    帖子:
    24
    赞:
    0
    平常我们只听说过ADO等一类ASP对象,但在ASP中还有个鲜为人知的专门SQL Server的ASP访问对象,它就是SQLOLE.SQLServer对象。SQLOLE.SQLServer可以直接访问SQL Server的系统属性。以Set oSQLServer = CreateObject ("SQLOLE.SQLServer")语句将产生一个SQL Server服务器对象。

    ---- 若要查看此服务器中数据库的集合,可用语句:


    For Each SQLDB In oSQLServer.Databases
    Response.Write SQLDB.Name ‘将列出所有的数据库,如Pubs等
    Next

    ---- 若要查看某数据库中(如PUBS数据库)数据表的集合,可用语句:


    pubDatabase=oSQLServer.Databases(“pubs”)
    ’oSQLServer是前面创建的SQL Server服务器对象
    For Each DBTable In pubDatabase.Tables
    Response.Write DBTable.Name
    Next

    ---- 下面的语句将列出数据库中(PUBS数据库)数据视图


    pubDatabase =oSQLServer.Databases(“pubs”)
    ’oSQLServer是前面创建的SQL Server服务器对象
    For Each DBView In pubDatabase.Views
    Response.Write DBView.Text
    Next

    ---- 以下语句将列出数据库中(PUBS数据库)存贮过程


    pubDatabase =oSQLServer.Databases(“pubs”)
    ’oSQLServer是前面创建的SQL Server服务器对象
    For Each DBSP In pubDatabase.StoredProcedures
    Response.Write DBSP.Text
    Next

    ---- 程序运行的结果(取数据表名):

    ---- 取存贮过程的结果:

    ---- 一个完整的小例子源码附后(其它功能读者可加入)。


    < %@ LANGUAGE = VBScript % >

    < HTML >
    < HEAD >
    < META NAME="GENERATOR" Content=
    "Microsoft Developer Studio" >
    < META HTTP-EQUIV="Content-Type"
    content="text/html; charset=gb2312" >

    < TITLE >< /TITLE >
    < /HEAD >

    < %
    On Error Resume Next
    Dim oSQLServer
    Set oSQLServer = CreateObject ("SQLOLE.SQLServer")


    strServer = "dep"
    strLogin = "sa"
    strPwd = ""


    oSQLServer.Connect strServer,strLogin,strPwd


    % >


    < BODY BGCOLOR=#ffffff >
    数据库列表
    < SELECT NAME="Database" >
    < %
    For Each SQLDB In oSQLServer.Databases
    If Not SQLDB.SystemObject Then
    Response.Write "< OPTION VALUE=
    """ & SQLDB.Name & """ >" & SQLDB.Name

    & " "
    End If
    Next
    Set oSQLServer = Nothing
    % >
    < /SELECT >
    < /BODY >
    < /HTML >