1

有关如何显示 ODBC 连接对话框并取回所选 ODBC 的任何信息?

4

2 回答 2

2
// a_RootKey is Microsoft.Win32.RegistryKey 
// DSN is a class not provided in this code sample - you can see what properties are needed from the usage below.

List<DSN> DsnList = new List<DSN>();

Microsoft.Win32.RegistryKey SearchKey = a_RootKey.OpenSubKey("SOFTWARE\\ODBC\\ODBC.INI\\ODBC Data Sources");

if (SearchKey != null)
{

    foreach (string DsnName in SearchKey.GetValueNames() )
    {    
        if ( (string)SearchKey.GetValue(DsnName) == "SQL Server" )
        {
            Microsoft.Win32.RegistryKey anotherkey  = a_RootKey.OpenSubKey("SOFTWARE\\ODBC\\ODBC.INI\\" + DSNName);
            DSN dsn = new DSN();
            dsn.Name = DSNName;
            dsn.Server = (string)anotherkey.GetValue("Server");
            dsn.Database = (string)anotherkey.GetValue("Database");
            dsn.Driver = (string)anotherkey.GetValue("Driver");

            DsnList.Add(dsn);
        }

    }
}
return DsnList;
于 2008-09-15T17:57:36.633 回答
0

好的,因为似乎没有人有答案,如何通过 DBSource、即 SQLServer 或 MySQL 遍历 ODBC 连接

于 2008-09-15T17:34:52.710 回答