【问题标题】:Check if Microsoft OLE DB Provider for Index Server (aka Provider=MSIDXS) is installed?检查是否安装了 Microsoft OLE DB Provider for Index Server(又名 Provider=MSIDXS)?
【发布时间】:2016-06-10 12:37:13
【问题描述】:

我使用 Windows Server 2008 R2 和 ASP.NET 4.6.1。

如何检查是否安装了Microsoft OLE DB Provider for Index Server (Provider=MSIDXS)?

也许获取系统中可用的 OLEDB 提供程序的列表。

【问题讨论】:

    标签: c# asp.net oledb indexing-service


    【解决方案1】:

    我试试这个代码。

    我现在不知道是否适用于所有 32 位和 64 位提供商

    CLSID OLEDB

    GuidC8B522D0-5CF3-11ce-ADE5-00AA0044773D

    internal static Guid IID_IUnknown = new Guid("00000000-0000-0000-c000-000000000046");
    internal static Guid CLSID_DataLinks = new Guid("2206CDB2-19C1-11d1-89E0-00C04FD7A829");
    internal static Guid CLSID_OLEDB_ENUMERATOR = new Guid("C8B522D0-5CF3-11ce-ADE5-00AA0044773D");
    internal static Guid CLSID_MSDASQL_ENUMERATOR = new Guid("C8B522CD-5CF3-11ce-ADE5-00AA0044773D");
    
    
    private string GetOLEDBProvidersRegistered()
    {
        var res = "";
        try
        {
            Guid guidOleDbEnum = new Guid("{C8B522D0-5CF3-11ce-ADE5-00AA0044773D}");
    
            Type type = Type.GetTypeFromCLSID(guidOleDbEnum);
    
            using (OleDbDataReader rdr = OleDbEnumerator.GetEnumerator(type))
            {
                while (rdr.Read())
                    //Console.WriteLine("{0} - {1}", rdr["SOURCES_NAME"], rdr["SOURCES_DESCRIPTION"]);
                    res += string.Format("{0} - {1}\r\n", rdr["SOURCES_NAME"], rdr["SOURCES_DESCRIPTION"]);
    
            }
        }
        catch (Exception ex)
        {
            res = ex.Message;
        }
        return res;
    }
    

    【讨论】:

      猜你喜欢
      • 2018-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多