用c#如何查看本机下的所有SQL SERVER2008实例,谢谢 SqlClientFactory.Instance.CreateDataSourceEnumerator().GetDataSources()可以得到局域网内的所有SQL SERVER服务器实例,如何得到本机的所有SQL SERVER2008实例 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SELECT Name FROM Master..SysDatabases ORDER BY Namec#不清楚 试试看访问注册表[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names C#枚举所有sql server数据库实例C# codeDataTable dataSources = SqlClientFactory.Instance.CreateDataSourceEnumerator().GetDataSources(); DataColumn column2 = dataSources.Columns["ServerName"]; DataColumn column = dataSources.Columns["InstanceName"]; DataRowCollection rows = dataSources.Rows; string[] array = new string[rows.Count]; for (int i = 0; i < array.Length; i++) { string str2 = rows[i][column2] as string; string str = rows[i][column] as string; if (((str == null) || (str.Length == 0)) || ("MSSQLSERVER" == str)) { array[i] = str2; } else { array[i] = str2 + @"\" + str; } } Array.Sort<string>(array);以上是官方的做法,从 SqlDataSourceConverter 即可得到MS是如何去取得所有数据库服务器的 如果用的sql 2005 的话这样可以得到定义一个Conn Conn.WorkstationId 这个方法可以取到实例名. RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL"); string[] str_server = key.GetValueNames(); string str_hostname = Dns.GetHostName();//取得主机名 for (int i = 0; i < str_server.Length; i++) { //str_server[i] = str_hostname + "\\" + str_server[i];//在SQL 实例中加上主机名 Console.WriteLine(str_server[i]); } 上面的路径能保证每台服务器都一样吗,还有如何区分是SQL 2008,谢谢 恩,我刚刚也去看了,那个100/90的项里面没有区分Instance name。 Instance Names\Sql\ 下的实例中,数据这一项里有2008,但是这一项的值我用c#取不到 我本地都看不到2008的,我的sql server在服务器上呢。不过注册表里的项基本都是能抓到的。 http://www.zxxblog.com/80http://blog.csdn.net/lynnlin1122/archive/2008/11/07/3248139.aspx你参考文章中的抓取方法试试看,不行再给我留言。 "EXECUTE 后的事务计数指出缺少了 COMMIT 或 ROLLBACK TRANSACTION 语句。原计数 = 0,当前计数 = 1。" 这样的行列转换应该如何去做? 求:分组连接字符串 sum求和的问题 TXT怎么导入到SQL2000啊 SQL05怎么导不出数据呢 一条SQL语句的求助 ( 急 !!) 求一分组查询的sql语句 SQL Server服务起不来!:( 关于如何给vfp的应用系统加一个logo程序又问? 关于数据库同步问题????急 sql server2005学习有哪些好的视频教程?
c#不清楚
[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names
DataTable dataSources = SqlClientFactory.Instance.CreateDataSourceEnumerator().GetDataSources();
DataColumn column2 = dataSources.Columns["ServerName"];
DataColumn column = dataSources.Columns["InstanceName"];
DataRowCollection rows = dataSources.Rows;
string[] array = new string[rows.Count];
for (int i = 0; i < array.Length; i++)
{
string str2 = rows[i][column2] as string;
string str = rows[i][column] as string;
if (((str == null) || (str.Length == 0)) || ("MSSQLSERVER" == str))
{
array[i] = str2;
}
else
{
array[i] = str2 + @"\" + str;
}
}
Array.Sort<string>(array);
以上是官方的做法,从 SqlDataSourceConverter 即可得到MS是如何去取得所有数据库服务器的
定义一个Conn
Conn.WorkstationId 这个方法可以取到实例名.
string[] str_server = key.GetValueNames();
string str_hostname = Dns.GetHostName();//取得主机名
for (int i = 0; i < str_server.Length; i++)
{
//str_server[i] = str_hostname + "\\" + str_server[i];//在SQL 实例中加上主机名
Console.WriteLine(str_server[i]);
}
http://blog.csdn.net/lynnlin1122/archive/2008/11/07/3248139.aspx
你参考文章中的抓取方法试试看,不行再给我留言。