public static List <ODBCDataSource> GetFileDSNs()
        {
            RegistryKey rkLMSF = Registry.LocalMachine.OpenSubKey("Software", RegistryKeyPermissionCheck.ReadSubTree);
            RegistryKey rkFile = rkLMSF.OpenSubKey("ODBC\\ODBC.INI\\ODBC File DSN", RegistryKeyPermissionCheck.ReadSubTree);

            string[] names            = null;
            List <ODBCDataSource> ret = new List <ODBCDataSource>();

            // User File
            if (rkFile != null)
            {
                names = rkFile.GetValueNames();
                foreach (string name in names)
                {
                    if (name.ToUpper() != "DEFAULTDSNDIR")
                    {
                        ODBCDataSource ins = new ODBCDataSource(name, rkFile.GetValue(name, "").ToString(), DSNType.File);
                        ret.Add(ins);
                    }
                }
                rkFile.Close();
            }

            rkLMSF.Close();

            return(ret);
        }
        public static List <ODBCDataSource> GetSystemDSNs()
        {
            RegistryKey rkLMSF = Registry.LocalMachine.OpenSubKey("Software", RegistryKeyPermissionCheck.ReadSubTree);
            RegistryKey rkSys  = rkLMSF.OpenSubKey("ODBC\\ODBC.INI\\ODBC Data Sources", RegistryKeyPermissionCheck.ReadSubTree);

            string[] names            = null;
            List <ODBCDataSource> ret = new List <ODBCDataSource>();

            // System DSNs
            if (rkSys != null)
            {
                names = rkSys.GetValueNames();
                foreach (string name in names)
                {
                    ODBCDataSource ins = new ODBCDataSource(name, rkSys.GetValue(name, "").ToString(), DSNType.System);
                    ret.Add(ins);
                }
                rkSys.Close();
            }

            rkLMSF.Close();

            return(ret);
        }
        public static List <ODBCDataSource> GetUserDSNs()
        {
            RegistryKey rkCUSF = Registry.CurrentUser.OpenSubKey("Software", RegistryKeyPermissionCheck.ReadSubTree);
            RegistryKey rkUser = rkCUSF.OpenSubKey("ODBC\\ODBC.INI\\ODBC Data Sources", RegistryKeyPermissionCheck.ReadSubTree);

            string[] names            = null;
            List <ODBCDataSource> ret = new List <ODBCDataSource>();

            // User DSNs
            if (rkUser != null)
            {
                names = rkUser.GetValueNames();
                foreach (string name in names)
                {
                    ODBCDataSource ins = new ODBCDataSource(name, rkUser.GetValue(name, "").ToString(), DSNType.User);
                    ret.Add(ins);
                }
                rkUser.Close();
            }

            rkCUSF.Close();

            return(ret);
        }
Пример #4
0
 public virtual void VisitODBCDataSource(ODBCDataSource node)
 {
 }