예제 #1
0
        public static IEnumerable <OdbcProperties> getODBCList(RegistryKey rootKey)
        {
            RegistryKey regKey = rootKey.OpenSubKey(@"Software\ODBC\ODBC.INI\ODBC Data Sources");

            if (regKey != null)
            {
                foreach (string name in regKey.GetValueNames())
                {
                    OdbcProperties vOdbcProperties = new OdbcProperties();
                    vOdbcProperties.OdbcName = regKey.GetValue(name, "").ToString();
                    if (vOdbcProperties.OdbcName.Contains("Microsoft ") == false)
                    {
                        try
                        {
                            vOdbcProperties.OdbcName = name;
                            RegistryKey vCurrRegKey = rootKey.OpenSubKey(@"Software\ODBC\ODBC.INI\" + name);
                            vOdbcProperties.Database    = in2SqlRegistry.getLocalRegValue(vCurrRegKey, "Database");
                            vOdbcProperties.Description = in2SqlRegistry.getLocalRegValue(vCurrRegKey, "Description");
                            vOdbcProperties.Driver      = in2SqlRegistry.getLocalRegValue(vCurrRegKey, "Driver");
                            vOdbcProperties.LastUser    = in2SqlRegistry.getLocalRegValue(vCurrRegKey, "LastUser");
                            vOdbcProperties.Server      = in2SqlRegistry.getLocalRegValue(vCurrRegKey, "Server");
                            vOdbcProperties.ConnStatus  = 0;
                            vCurrRegKey              = Registry.CurrentUser.OpenSubKey(@"Software\in2sql");
                            vOdbcProperties.Login    = in2SqlRegistry.getLocalRegValue(vCurrRegKey, name + '.' + "Login");
                            vOdbcProperties.Password = in2SqlRegistry.getLocalRegValue(vCurrRegKey, name + '.' + "Password");
                        }
                        catch (Exception e)
                        {
                            In2SqlSvcTool.ExpHandler(e, "ODBCList");
                        }
                        yield return(vOdbcProperties);
                    }
                }
            }
        }
예제 #2
0
 public static void ChangeOdbcValue(String vOdbcName, OdbcProperties vNewOdbcValue)
 {
     try
     {
         int vOdbcIndex = In2SqlSvcODBC.vODBCList.FindIndex(item => item.OdbcName == vOdbcName);
         vODBCList[vOdbcIndex] = vNewOdbcValue;
     }
     catch (Exception e)
     {
         In2SqlSvcTool.ExpHandler(e, "ChangeOdbcValue");
     }
 }