首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

ASP 經典範例:使用 SQLDMO 列出 SQL Server 所有使用者資料庫

     編輯:關於SqlServer

需求背景

在傳統 ASP 應用中,常需動態列出 SQL Server 實例上的所有使用者資料庫(排除系統資料庫),供前端下拉選單選擇。

核心程式碼

<%
Dim srv, objDB
Set srv = Server.CreateObject("SQLDMO.SQLServer")
srv.LoginTimeout = 15
srv.Connect "127.0.0.1", "lcx", "lcx"
Set objDB = Server.CreateObject("SQLDMO.Database")
%>
<SELECT name="fdatabase">
<%
For Each objDB In srv.Databases
    If objDB.SystemObject = False Then
%>
    <OPTION><%=objDB.Name%></OPTION>
<%
    End If
Next
%>
</SELECT>

關鍵點解析

  • SQLDMO.SQLServer:SQL Server 管理物件模型核心元件,需伺服器安裝 SQL Server 用戶端工具。
  • LoginTimeout:設定連線逾時秒數,避免長時間卡住。
  • Connect 方法:參數依序為伺服器位址、登入帳號、密碼。
  • SystemObject 屬性:True 表示系統資料庫,False 為使用者資料庫,以此過濾。

注意事項

  1. SQLDMO 已在 SQL Server 2012 移除,新專案建議改用 SMO (SQL Server Management Objects) 或 PowerShell。
  2. 生產環境請勿硬式編碼帳密,應使用整合驗證或安全儲存機制。
  3. ASP 經典模式下需啟用「啟用父路徑」與適當的 COM 元件權限。

現代化替代方案

若使用 ASP.NET,可透過 SqlConnection.GetSchema("Databases") 或 SMO 以更安全、效能更佳的方式達成相同需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved