コード例 #1
0
        /// <summary>
        /// Constructeur prenant le nom de la BDD en paramètre
        /// On appelle une initialisation des paramètres , lues dans un fichier -ini= ou login.ini
        /// pour construire la chaine de connection
        /// </summary>
        /// <param name="dataStore">par défaut ce sera la base OMEGA voir SQLrequest.DATASTORE</param>
        public BondPricer(string dataStore = "OMEGA")
        {
            string[] Keys = new string[parameterKey.Length];

            if (dataStore != null)
            {
                for (int i = 0; i < parameterKey.Length; i++)
                {
                    Keys[i] = parameterKey[i] + '_' + dataStore;
                }
            }

            // lecture du fichier de configuration
            IDictionary <string, string> m = InitFile.ReadConfigFile();

            string windows_auth      = Keys[(int)keys.authentification];
            string server            = Keys[(int)keys.server];
            string database          = Keys[(int)keys.name];
            string uid               = Keys[(int)keys.user];
            string pwd               = Keys[(int)keys.password];
            string timeout           = Keys[(int)keys.timeout];
            string connection_string = Keys[(int)keys.connection_string];

            if (m.ContainsKey(windows_auth) && m[windows_auth].Equals("TRUE"))
            {
                connection = "server = " + m[server] +
                             " ; Integrated Security = true" + // l authentification est lié au user connecté
                             " ; database = " + m[database];
            }
            else
            {
                connection = "server = " + m[server] +
                             " ; uid = " + m[uid] +
                             " ; pwd = " + m[pwd] +
                             " ; database = " + m[database];
            }
            if (m.ContainsKey(timeout))
            {
                try
                {
                    connection_timeout = Convert.ToInt32(m[timeout]);
                }
                catch (Exception e)
                {
                    IntegratorBatch.ExceptionLogger.Error("Impossible de convertir la valeur du Timeout: " + timeout + "=" + m[timeout], e);
                }

                connection += " ; Connect Timeout = " + m[timeout];
            }

            // utilisation tel quel de la connection string
            if (m.ContainsKey(connection_string))
            {
                connection = m[connection_string];
            }
            IntegratorBatch.InfoLogger.Debug("La connection sur la base utilisée est " + connection);
        }