C#获得网络中所有SQL Server服务器数据库名称
2012-05-21 15:27
441 查看
转载于http://blog.csdn.net/hzjsoft2003/article/details/6186853
region 得到所有本地网络中可使用的SQL服务器列表
/// <summary>
/// 得到所有本地网络中可使用的SQL服务器列表
/// </summary>
/// <param name= "p_strServerList "> 服务器列表 </param>
/// <returns> </returns>
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 <sqlServers.Count;i++)
{
string srv = sqlServers.Item(i + 1);
if(srv != null)
{
p_strServerList[i] = srv;
}
}
}
return true;
}
catch(Exception ex)
{
throw ex;
}
}
#endregion
#region 得到指定SQL服务器所有数据库的列表
/// <summary>
/// 得到指定SQL服务器所有数据库的列表
/// </summary>
/// <param name= "p_strDataBaseList "> 数据库列表 </param>
/// <param name= "p_strServer "> 服务器名 </param>
/// <param name= "p_strUser "> 用户名 </param>
/// <param name= "p_strPWD "> 密码 </param>
/// <returns> </returns>
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 得到所有的存储过程
/// <summary>
/// 得到所有的存储过程
/// </summary>
/// <param name= "p_strProcedureList "> 存储过程列表 </param>
/// <param name= "p_strServer "> 服务器名 </param>
/// <param name= "p_strUser "> 用户名 </param>
/// <param name= "p_strPWD "> 密码 </param>
/// <param name= "p_strDataBase "> 数据库名 </param>
/// <returns> </returns>
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 <srv.Databases.Count;i++)
{
if(srv.Databases.Item(i+1, "dbo ").Name == p_strDataBase)
{
SQLDMO._Database db= srv.Databases.Item(i+1, "dbo ");
if (db.StoredProcedures.Count > 0)
{
p_strProcedureList = new string[db.StoredProcedures.Count];
for(int j=0;j <db.StoredProcedures.Count;j++)
{
p_strProcedureList[j] = db.StoredProcedures.Item(j+1, "dbo ").Name;
}
break;
}
}
}
return true;
}
catch(Exception ex)
{
throw ex;
}
}
#endregion
#region 得到所有的Tables集合
/// <summary>
/// 得到所有的Tables集合
/// </summary>
/// <param name= "p_strProcedureList "> Tables集合 </param>
/// <param name= "p_strServer "> 服务器名 </param>
/// <param name= "p_strUser "> 用户名 </param>
/// <param name= "p_strPWD "> 密码 </param>
/// <param name= "p_strDataBase "> 数据库名 </param>
/// <returns> </returns>
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 <srv.Databases.Count;i++)
{
if(srv.Databases.Item(i+1, "dbo ").Name == p_strDataBase)
{
SQLDMO._Database db= srv.Databases.Item(i+1, "dbo ");
if (db.Tables.Count > 0)
{
p_strTableList = new string[db.Tables.Count];
for(int j=0;j <db.Tables.Count;j++)
{
p_strTableList[j] = db.Tables.Item(j+1, "dbo ").Name;
}
break;
}
}
}
return true;
}
catch(Exception ex)
{
throw ex;
}
}
#endregion
#region 得到所有的Views集合
/// <summary>
/// 得到所有的Views集合
/// </summary>
/// <param name= "p_strProcedureList "> Views集合 </param>
/// <param name= "p_strServer "> 服务器名 </param>
/// <param name= "p_strUser "> 用户名 </param>
/// <param name= "p_strPWD "> 密码 </param>
/// <param name= "p_strDataBase "> 数据库名 </param>
/// <returns> </returns>
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 <srv.Databases.Count;i++)
{
if(srv.Databases.Item(i+1, "dbo ").Name == p_strDataBase)
{
SQLDMO._Database db= srv.Databases.Item(i+1, "dbo ");
if (db.Views.Count > 0)
{
p_strViewList = new string[db.Views.Count];
for(int j=0;j <db.Views.Count;j++)
{
p_strViewList[j] = db.Views.Item(j+1, "dbo ").Name;
}
break;
}
}
}
return true;
}
catch(Exception ex)
{
throw ex;
}
}
#endregion
region 得到所有本地网络中可使用的SQL服务器列表
/// <summary>
/// 得到所有本地网络中可使用的SQL服务器列表
/// </summary>
/// <param name= "p_strServerList "> 服务器列表 </param>
/// <returns> </returns>
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 <sqlServers.Count;i++)
{
string srv = sqlServers.Item(i + 1);
if(srv != null)
{
p_strServerList[i] = srv;
}
}
}
return true;
}
catch(Exception ex)
{
throw ex;
}
}
#endregion
#region 得到指定SQL服务器所有数据库的列表
/// <summary>
/// 得到指定SQL服务器所有数据库的列表
/// </summary>
/// <param name= "p_strDataBaseList "> 数据库列表 </param>
/// <param name= "p_strServer "> 服务器名 </param>
/// <param name= "p_strUser "> 用户名 </param>
/// <param name= "p_strPWD "> 密码 </param>
/// <returns> </returns>
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 得到所有的存储过程
/// <summary>
/// 得到所有的存储过程
/// </summary>
/// <param name= "p_strProcedureList "> 存储过程列表 </param>
/// <param name= "p_strServer "> 服务器名 </param>
/// <param name= "p_strUser "> 用户名 </param>
/// <param name= "p_strPWD "> 密码 </param>
/// <param name= "p_strDataBase "> 数据库名 </param>
/// <returns> </returns>
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 <srv.Databases.Count;i++)
{
if(srv.Databases.Item(i+1, "dbo ").Name == p_strDataBase)
{
SQLDMO._Database db= srv.Databases.Item(i+1, "dbo ");
if (db.StoredProcedures.Count > 0)
{
p_strProcedureList = new string[db.StoredProcedures.Count];
for(int j=0;j <db.StoredProcedures.Count;j++)
{
p_strProcedureList[j] = db.StoredProcedures.Item(j+1, "dbo ").Name;
}
break;
}
}
}
return true;
}
catch(Exception ex)
{
throw ex;
}
}
#endregion
#region 得到所有的Tables集合
/// <summary>
/// 得到所有的Tables集合
/// </summary>
/// <param name= "p_strProcedureList "> Tables集合 </param>
/// <param name= "p_strServer "> 服务器名 </param>
/// <param name= "p_strUser "> 用户名 </param>
/// <param name= "p_strPWD "> 密码 </param>
/// <param name= "p_strDataBase "> 数据库名 </param>
/// <returns> </returns>
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 <srv.Databases.Count;i++)
{
if(srv.Databases.Item(i+1, "dbo ").Name == p_strDataBase)
{
SQLDMO._Database db= srv.Databases.Item(i+1, "dbo ");
if (db.Tables.Count > 0)
{
p_strTableList = new string[db.Tables.Count];
for(int j=0;j <db.Tables.Count;j++)
{
p_strTableList[j] = db.Tables.Item(j+1, "dbo ").Name;
}
break;
}
}
}
return true;
}
catch(Exception ex)
{
throw ex;
}
}
#endregion
#region 得到所有的Views集合
/// <summary>
/// 得到所有的Views集合
/// </summary>
/// <param name= "p_strProcedureList "> Views集合 </param>
/// <param name= "p_strServer "> 服务器名 </param>
/// <param name= "p_strUser "> 用户名 </param>
/// <param name= "p_strPWD "> 密码 </param>
/// <param name= "p_strDataBase "> 数据库名 </param>
/// <returns> </returns>
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 <srv.Databases.Count;i++)
{
if(srv.Databases.Item(i+1, "dbo ").Name == p_strDataBase)
{
SQLDMO._Database db= srv.Databases.Item(i+1, "dbo ");
if (db.Views.Count > 0)
{
p_strViewList = new string[db.Views.Count];
for(int j=0;j <db.Views.Count;j++)
{
p_strViewList[j] = db.Views.Item(j+1, "dbo ").Name;
}
break;
}
}
}
return true;
}
catch(Exception ex)
{
throw ex;
}
}
#endregion
相关文章推荐
- C#获得网络中所有SQL Server服务器数据库名称
- C#获得网络中所有SQL Server服务器数据库名称
- C# 获取局域网所有数据库服务器名称
- C#:获取所有SQL Server的数据库名称
- C#:获取所有SQL Server的数据库名称
- C#:获取所有SQL Server的数据库名称
- C# 获取SQL Server所有的数据库名称
- C#获取所有SQL Server的数据库实例名称
- C# 如何获取本地数据库SQL Server的数据库服务器名称和数据库名称?然后连接,代码怎么写?
- C#获取所有SQL Server的数据库实例名称
- 如何获得数据库里所有表的名字(SQL+C#)
- SQL Server 得到数据库中所有表的名称及数据条数
- SQL Server 2008中获取数据库所有表及其字段名称、类型、长度的SQL
- EntityFramework.SqlServer.dll 中发生 其他信息: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命
- System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错)
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。
- 如何获得数据库里所有表的名字(SQL+C#)
- SQLServer获得所有用户存储过程、根据存储过程名称获得内容、获得数据库对象创建脚本
- Visual C# 2008+SQL Server 2005 数据库与网络开发--8.2.2 用户数据操作的并发