请问如何获取局域网中的SQLSERVER服务器,服务器的中数据库列表,数据库中的数据表列表
解决方案 »
- WinFrom连接Execl后如何往Execl指定单元格输入内容
- C#制作QQ聊天中,服务器如何判断图片和文字
- 已经安装了Windows SDK,找不到.net framework configuration tool
- 借宝地人气再发一贴,讨论如何不依赖外部直接进入到目标进程空间挂接JIT
- (急,在线等)谁要128码字体,打印条码用
- 用c#代码生成word时怎样判断一个页面被填充满
- 读卡器与.net接口问题
- 有没有直接的方法用于判断一个Point是否在一个Rectangle内?
- C#新手求助 关于DLL文件
- C#处理命令行参数,是否有getopt之类的调用?
- 如保取得上上次访问的URL地址
- 请教一个DataGrid问题?
/// 获取SQL服务器列表
/// </summary>
public string[] GetSqlServerList()
{
SQLDMO.ApplicationClass Csql = new SQLDMO.ApplicationClass();
try
{
SQLDMO.NameList sqlList = Csql.ListAvailableSQLServers();
int iCount = sqlList.Count;
string[] sArray = new string[iCount];
for(int i=0;i<iCount;i++)
{
string s = sqlList.Item(i+1);
sArray[i] = s;
}
return sArray;
}
catch(Exception tt)
{
MessageBox.Show("取数据库服务器列表出错:"+tt.Message);
}
finally
{
Csql.Quit() ;
}
return new string[]{""};
}
/// 获取数据库列表
/// </summary>
public ArrayList GetDataBaseList(string strServerName,string strUserName,string strPwd)
{
ArrayList alDbs = new ArrayList() ;
SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass() ;
SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass() ;
try
{
svr.Connect(strServerName,strUserName,strPwd);
foreach(SQLDMO.Database db in svr.Databases)
{
if((db.Name!=null) && (db.SystemObject == false))
alDbs.Add(db.Name);
}
}
catch(Exception e)
{
MessageBox.Show("连接数据库出错:"+e.Message) ;
}
finally
{
svr.DisConnect() ;
sqlApp.Quit() ;
}
return alDbs ; }