C#使用SQLDMO操作数据库.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C#使用SQLDMO操作数据库.doc》由会员分享,可在线阅读,更多相关《C#使用SQLDMO操作数据库.doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、SQL-DMO的全称是SQL Distributed Management Objects。它是一个集合,包含一组有双重接口的COM。通过SQL-DMO我们可以控制操作SQL Server 的数据库引擎和复制管理。由于SQL-DMO是一组COM,所以任何可以使用COM的开发工具都可以使用它,包括VB、Delphi、VC、BCB、ASP等等几乎包括所有的Windows平台下的开发工具。用他操作管理数据库很爽。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.
2、IO;using SQLDMO;using System.Collections;namespace ConsoleApplication1 / / SQLDMO辅助类 / / / 使用前添加 Microsoft SQLDMO Object Library COM 引用。 / public class SqlDmoHelper #region DatabaseInfo / / 数据库信息 / public struct DatabaseInfo public string Name; public string Owner; public string PrimaryFilePath; pub
3、lic string CreateDate; public int Size; public float SpaceAvailable; public string PrimaryName; public string PrimaryFilename; public int PrimarySize; public int PrimaryMaxSize; public string LogName; public string LogFilename; public int LogSize; public int LogMaxSize; public override string ToStri
4、ng() string s = Name:0rn + Owner:1rn + PrimaryFilePath:2rn + CreateDate:3rn + Size:4MBrn + SpaceAvailable:5MBrn + PrimaryName:6rn + PrimaryFilename:7rn + PrimarySize:8MBrn + PrimaryMaxSize:9MBrn + LogName:10rn + LogFilename:11rn + LogSize:12MBrn + LogMaxSize:13MB; return string.Format(s, Name, Owner
5、, PrimaryFilePath, CreateDate, Size, SpaceAvailable, PrimaryName, PrimaryFilename, PrimarySize, PrimaryMaxSize, LogName, LogFilename, LogSize, LogMaxSize); #endregion保钓军团 private SQLServer2 sqlServer; private string server; private string login; private string password; public SqlDmoHelper(string se
6、rver, string login, string password) this.server = server; this.login = login; this.password = password; sqlServer = new SQLServer2Class(); sqlServer.Connect(server, login, password); public void Close() sqlServer.Close(); #region Property / / 获取主要版本号 / public string Version get return string.Format
7、(0.1, sqlServer.VersionMajor, sqlServer.VersionMinor); / / 获取详细版本信息 / public string VersionString get return sqlServer.VersionString; / / 获取服务器时间 / public string ServerTime get return sqlServer.ServerTime; / / 获取系统服务名称 / public string ServiceName get return sqlServer.ServiceName; / / 获取或设置系统服务是否自动启动
8、 / public bool AutostartServer get return sqlServer.Registry.AutostartServer; set sqlServer.Registry.AutostartServer = value; / / 获取字符集设置 / public string CharacterSet get return sqlServer.Registry.CharacterSet; / / 获取服务器物理内存大小(MB) / public int PhysicalMemory get return sqlServer.Registry.PhysicalMem
9、ory; / / 获取服务器处理器(CPU)数量 / public int NumberOfProcessors get return sqlServer.Registry.NumberOfProcessors; #endregion #region Public Method / / 获取网络内所有可用的服务器 / / public static string ListAvailableSQLServers() NameList servers = new ApplicationClass().ListAvailableSQLServers(); if (servers.Count = 0)
10、 return new string0; ArrayList list = new ArrayList(servers.Count); foreach (object o in servers) list.Add(o); return (string)list.ToArray(typeof(string); / / 断开数据库所有连接 / / public void KillAllProcess(string dbName) QueryResults qr = sqlServer.EnumProcesses(-1); / 获取SPID和DBNAME字段列序号 int iColPIDNum =
11、-1; int iColDbName = -1; for (int i = 1; i = qr.Columns; i+) string strName = qr.get_ColumnName(i); if (strName.ToUpper().Trim() = SPID) iColPIDNum = i; else if (strName.ToUpper().Trim() = DBNAME) iColDbName = i; if (iColPIDNum != -1 & iColDbName != -1) break; / 将指定数据库的连接全部断开 for (int i = 1; i = qr.
12、Rows; i+) int lPID = qr.GetColumnLong(i, iColPIDNum); string strDBName = qr.GetColumnString(i, iColDbName); if (string.Compare(strDBName, test, true) = 0) sqlServer.KillProcess(lPID); / / 获取数据库信息 / / / public DatabaseInfo GetDatabaseInfo(string dbName) Database db = GetDatabase(dbName); if (db = nul
13、l) throw new Exception(Database not exists!); DatabaseInfo info = new DatabaseInfo(); info.Name = db.Name; info.Owner = db.Owner; info.PrimaryFilePath = db.PrimaryFilePath; info.CreateDate = db.CreateDate; info.Size = db.Size; info.SpaceAvailable = db.SpaceAvailableInMB; DBFile primary = db.FileGrou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 使用 SQLDMO 操作 数据库
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内