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

SQL-DMO 程式設計:存取 SQL Server 資料庫物件中繼資料

     編輯:關於SqlServer

前言

開發資料庫應用程式時,常需列舉伺服器資料庫、資料表、欄位等中繼資料。SQL-DMO (Distributed Management Objects) 提供 OLE 自動化介面,讓 VB/VBA/ASP 等語言可直接操作 SQL Server 管理物件。

開發環境

  • Windows NT 4.0 SP6 / Windows 2000
  • Visual Basic 6.0
  • SQL Server 2000
  • 專案參考:Microsoft SQLDMO Object Library

核心物件模型

Dim oSQLServer As SQLDMO.SQLServer      ' 伺服器連線
Dim oCurrentDB As SQLDMO.Database       ' 目前資料庫
Dim oCurrentTable As SQLDMO.Table       ' 目前資料表

關鍵程式碼片段

1. 連線伺服器並列舉資料庫

Set oSQLServer = CreateObject("SQLDMO.SQLServer")
oSQLServer.Connect SERVER_NAME, USERNAME, PASSWORD

' 填入非系統資料庫清單
For Each oDB In oSQLServer.Databases
    If oDB.SystemObject = False Then
        cboDatabase.AddItem oDB.Name
    End If
Next

2. 選取資料庫後列舉資料表

Set oCurrentDB = oSQLServer.Databases(cboDatabase.Text)
For Each oTable In oCurrentDB.Tables
    If oTable.SystemObject = False Then
        lstTables.AddItem oTable.Name
    End If
Next

3. 選取資料表後列舉欄位屬性

Set oCurrentTable = oCurrentDB.Tables(lstTables.Text)
For Each oCol In oCurrentTable.Columns
    ' 欄位名稱、型別、長度、是否允許 NULL、預設值等
    Debug.Print oCol.Name, oCol.Type, oCol.Length, oCol.NullOK, oCol.DefaultValue
Next

常用屬性與方法速查

物件常用屬性/方法
SQLServerConnect、Databases、Login、ExecuteImmediate
DatabaseTables、StoredProcedures、Views、ExecuteWithResults
TableColumns、Indexes、Keys、Name、SystemObject
ColumnName、Type、Length、NullOK、Identity、DefaultValue

遷移建議

SQL-DMO 已在 SQL Server 2005 標記為淘汰,新專案建議改用 SMO (SQL Server Management Objects),提供 .NET 原生介面、效能更佳、功能更完整。

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