平常我們只聽說過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 >