我要开发一个程序,当程序运行的时候显示所有安装在本机(或者局域网)内的数据库实例。并且通过数据库实例获取所有该实例下的所有数据库名称。
SQLDMO:
获取实例列表
Code //得到所有本地网络中可使用的SQL服务器列表。 SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass(); SQLDMO.NameList sqlServers = sqlApp.ListAvailableSQLServers(); for(int i=0;i { object srv = sqlServers.Item(i + 1); if(srv != null) { this.cboServers.Items.Add(srv); } } if(this.cboServers.Items.Count > 0) this.cboServers.SelectedIndex = 0; else this.cboServers.Text = "";
获取数据库列表
Code //得到指定SQL服务器所有数据库的列表 SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass(); SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass(); srv.Connect(this.cboServers.SelectedItem.ToString(),this.txtUser.Text,this.txtPassword.Text); foreach(SQLDMO.Database db in srv.Databases) { if(db.Name!=null) this.cboDatabase.Items.Add(db.Name); }
也可以用API的方式。
http://msdn.microsoft.com/en-us/library/a6t1z9x2.aspx
这个记得在李天平写的.net代码自动生成工具里有具体的代码http://ltp.cnblogs.com/category/44293.html
不过坏坏的说下如果急用的话应该反编译下这个软件应该就可以获得那段代码啊 !
如果举得反编译有难度,可以联系我。我愿意做一次学习的机会