this article describes a C# class that utilises ODBC (SQLBrowseConnect) to obtain a list of SQL Servers on a network and returns an array of instances. If an instance is supplied with a valid username/password, then a list of all the databases on the instance is returned.
i needed a way to obtain a list of SQL Server instances without using SQLDMO. I found a C++ implementation of the SQLBrowseConnect by Santosh Rao. This is a C# implementation. Further information can be found at:

in order for the code to work, ODBC must be installed on your machine. Nearly all Microsoft Operating Systems have this installed. I have only tested this on Windows 2000 and XP. In order to use this, add a reference to the sqlenumerator.cs file. The class is in the Moletrator.SQLDocumentor namespace and is SQLInfoEnumerator. The important work is done in the RetrieveInformation method. This calls the relevant ODBC commands passing in the relevant values. The important item is the value of inputParam. If this is blank then nothing is returned. When it contains a valid driver (DRIVER=SQL SERVER for MS SQL Server), it will check for all instances of this driver on the network returning a string value which is then parsed.
if this string is expanded to include a valid SQL Server instance and a valid username/password, then a list of all the databases on the server instance is returned. If the username/password are not valid then the a list of SQL Server instances is returned:
EnumerateSQLServers. The example below adds the list of SQL Servers to a list box SQLListBox. SQLInfoEnumerator sie = new SQLInfoEnumerator();
SQLListBox.Items.AddRange(sie.EnumerateSQLServers());
SQLInfoEnumerator sie = new SQLInfoEnumerator();
sie.SQLServer = listboxSQLServerInstances.SelectedItem.ToString();
sie.Username = textboxUserName.Text;
sie.Password = textboxPassword.Text;
SQLListBox.Items.AddRange(sie.EnumerateSQLServersDatabases());the demo code contains a full GUI with an example on how to call each of the above methods.
18 April 2005 1:00 p.m. - Initial write.
|
Click here to view Eamonn Murray's online profile. |
文档说明:
相关文档
返回首页 | 关于本站 | | 友情链接 | 广告服务 | 意见建议 | 访客留言 | 本站论坛
Copyright© 2001-2006 ProgramBBS.com All Rights Reserved 版权所有©编程论坛
Email: 吉ICP备05009985号
感谢长春订餐网友情支持