Beispiel #1
0
        public void AcquireSyncData()
        {
            string connString = string.Empty;

            if (_cacheID == null)
            {
                return;
            }

            try
            {
                IDictionaryEnumerator oleDbEn = ((Hashtable)_connStringTable["oledb"]).GetEnumerator();
                while (oleDbEn.MoveNext())
                {
                    connString = oleDbEn.Value.ToString();
                    AddToOleDbConnectionPool(oleDbEn.Value.ToString());
                }

                _oledbConPool.AcquireSyncData(SYNC_TABLE, _cacheID);
            }
            catch (OleDbException s)
            {
                if (s.Message.Contains("SQL Server does not exist or access denied"))
                {
                    if (((Hashtable)_connStringTable["oledb"]).ContainsKey(connString.ToLower()))
                    {
                        ((Hashtable)_connStringTable["oledb"]).Remove(connString.ToLower());
                    }
                    RemoveFromOleDbConnectionPool(connString);
                    NCacheLog.Error("CacheDbSyncManager", s.ToString());
                }
                else
                {
                    throw;
                }
            }
            catch (Exception e)
            {
                NCacheLog.Error("CacheDbSyncManager", e.ToString());
            }

            try
            {
                connString = string.Empty;
                IDictionaryEnumerator sqlEn = ((Hashtable)_connStringTable["sql"]).GetEnumerator();
                while (sqlEn.MoveNext())
                {
                    connString = sqlEn.Value.ToString();
                    AddToSqlConnectionPool(sqlEn.Value.ToString());
                }

                _sqlConPool.AcquireSyncData(SYNC_TABLE, _cacheID);
            }
            catch (OleDbException s)
            {
                if (s.Message.Contains("SQL Server does not exist or access denied"))
                {
                    if (((Hashtable)_connStringTable["sql"]).ContainsKey(connString.ToLower()))
                    {
                        ((Hashtable)_connStringTable["sql"]).Remove(connString.ToLower());
                    }
                    RemoveFromOleDbConnectionPool(connString);
                    NCacheLog.Error("CacheDbSyncManager", s.ToString());
                }
                else
                {
                    throw;
                }
            }

            catch (Exception e)
            {
                NCacheLog.Error("CacheDbSyncManager", e.ToString());
            }
        }