小编Hem*_*wal的帖子

C#:SqlDataSourceEnumerator.Instance.GetDataSources()问题

我试图通过使用以下代码在ComboBox中登记所有SQL Server实例(本地和网络):

        DataTable dt = null;
        dt = System.Data.Sql.SqlDataSourceEnumerator.Instance.GetDataSources();
        foreach (DataRow dr in dt.Rows)
        {
          ComboBox1.Items.Add(dr[0].ToString() + "\\" + dr[1].ToString());
        }
Run Code Online (Sandbox Code Playgroud)

通过在组合中登记我的所有本地和网络sql server实例,它在Windows XP 32位,Windows 7 64位上运行正常,但是当这段代码在Windows 7 32位(所有专业版)上运行时,需要很长时间才能获取实例细节,最终甚至无法招募单个实例(我相信由于某种TimeOut).在这种情况下,数据表甚至没有一行.因此,我想问以下问题:

  1. 此问题是特定于平台还是特定于操作系统?

  2. 这真的是由于网络速度慢/大没有.网络上的服务器实例?

  3. 是否有任何替代此要求,而不是平台或框架依赖

    SmoApplication.EnumAvailableSqlServers(假); //本地和网络SQL实例

    是framewrok依赖.

我有至少17-20的SQL Server网络服务器,我希望这个功能返回.因此我无法理解这是怎么发生的?我在Windows 7 32位(专业版)上遇到了这个问题.

谢谢

Hemant Jaiswal

c#

5
推荐指数
1
解决办法
2472
查看次数

C#:form.TopMost = true无法在Windows 7上运行

我正在使用安装程序类开发Windows安装程序项目.我在安装之前打开Windows表单并成功打开.我想打开此表单作为最顶层的表单,但它在Windows 7上的安装向导后面打开.

在安装过程中,此窗体在Windows XP上成功打开,作为最顶层的窗体.问题仅出现在Windows 7上.

我使用以下代码在我的安装程序类中打开该表单:

namespace MyApp
{
    [RunInstaller(true)]
    public partial class DbInstallerClass : Installer
    {
        public DbInstallerClass()
        {
            InitializeComponent();
            Form frm = new DBInstallerForm();                                  
            frm.TopMost = true;  
            frm.ShowDialog();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这个问题平台是特定的还是特定于OS的?

c# windows-7

3
推荐指数
1
解决办法
3776
查看次数

标签 统计

c# ×2

windows-7 ×1