C#获得网络中所有SQL Server服务器数据库名称 (转)
C#获得网络中所有SQL Server服务器数据库名称
转载于http://blog.csdn.net/hzjsoft2003/article/details/6186853
region 得到所有本地网络中可使用的SQL服务器列表
///
/// 得到所有本地网络中可使用的SQL服务器列表
///
/// 服务器列表
///
public static bool GetServers(ref string [] p_strServerList)
{
try
{
SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass();
SQLDMO.NameList sqlServers = sqlApp.ListAvailableSQLServers();
if(sqlServers.Count > 0)
{
p_strServerList = new string[sqlServers.Count];
for(int i=0;i
/// 得到指定SQL服务器所有数据库的列表
///
/// 数据库列表
/// 服务器名
/// 用户名
/// 密码
///
public static bool GetDataBases(ref string [] p_strDataBaseList, string p_strServer, string p_strUser, string p_strPWD)
{
try
{
int i = 0;
SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass();
SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass();
srv.Connect(p_strServer,p_strUser,p_strPWD);
if(srv.Databases.Count > 0)
{
p_strDataBaseList = new string[srv.Databases.Count];
foreach(SQLDMO.Database db in srv.Databases)
{
if(db.Name!=null)
{
p_strDataBaseList[i] = db.Name;
}
i = i + 1;
}
}
return true;
}
catch(Exception ex)
{
throw ex;
}
}
#endregion
#region 得到所有的存储过程
///
/// 得到所有的存储过程
///
/// 存储过程列表
/// 服务器名
/// 用户名
/// 密码
/// 数据库名
///
public static bool GetProcedures(ref string [] p_strProcedureList, string p_strServer, string p_strUser, string p_strPWD, string p_strDataBase)
{
try
{
SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass();
srv.Connect(p_strServer,p_strUser,p_strPWD);
for(int i=0;i 0)
{
p_strProcedureList = new string[db.StoredProcedures.Count];
for(int j=0;j
/// 得到所有的Tables集合
///
/// Tables集合
/// 服务器名
/// 用户名
/// 密码
/// 数据库名
///
public static bool GetTables(ref string [] p_strTableList, string p_strServer, string p_strUser, string p_strPWD, string p_strDataBase)
{
try
{
SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass();
srv.Connect(p_strServer,p_strUser,p_strPWD);
for(int i=0;i 0)
{
p_strTableList = new string[db.Tables.Count];
for(int j=0;j
/// 得到所有的Views集合
///
/// Views集合
/// 服务器名
/// 用户名
/// 密码
/// 数据库名
///
public static bool GetViews(ref string [] p_strViewList, string p_strServer, string p_strUser, string p_strPWD, string p_strDataBase)
{
try
{
SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass();
srv.Connect(p_strServer,p_strUser,p_strPWD);
for(int i=0;i 0)
{
p_strViewList = new string[db.Views.Count];
for(int j=0;j