private static void checkConnectionString(DbConfig result) { logger.Info("checkConnectionString..."); if (result.ConnectionStringTable == null) { return; } Dictionary <String, ConnectionString> connStringMap = new Dictionary <String, ConnectionString>(); Dictionary <String, String> newString = new Dictionary <String, String>(); foreach (KeyValuePair <String, String> kv in result.ConnectionStringTable) { String connectionString = kv.Value; DatabaseType dbtype = getDbType(kv.Key, connectionString, result); ConnectionString objConnString = new ConnectionString { Name = kv.Key, StringContent = connectionString, DbType = dbtype }; connStringMap.Add(kv.Key, objConnString); logger.Info("connectionString:" + connectionString); IDatabaseDialect dialect = DataFactory.GetDialect(dbtype); if ((dbtype == DatabaseType.Access)) { String connectionItem = dialect.GetConnectionItem(connectionString, ConnectionItemType.Database); logger.Info("database path original:" + connectionItem); if (connectionItem == null) { throw new Exception("没有设置access地址:" + connectionString); } if (IsRelativePath(connectionItem)) { connectionItem = PathHelper.Map(strUtil.Join(SystemInfo.ApplicationPath, connectionItem)); logger.Info("database path now:" + connectionItem); String newConnString = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}", connectionItem); newString.Add(kv.Key, newConnString); } } } foreach (KeyValuePair <String, String> kv in newString) { result.ConnectionStringTable[kv.Key] = kv.Value; connStringMap[kv.Key].StringContent = kv.Value; } result.SetConnectionStringMap(connStringMap); }
public void CheckDatabase() { if (strUtil.IsNullOrEmpty(this._connectionString)) { throw new Exception("connection string can not be empty"); } IDatabaseDialect dialect = DataFactory.GetDialect(DatabaseType.MySql); if (strUtil.IsNullOrEmpty(dialect.GetConnectionItem(this._connectionString, ConnectionItemType.Server))) { throw new Exception("[mysql] server address is empty"); } if (strUtil.IsNullOrEmpty(dialect.GetConnectionItem(_connectionString, ConnectionItemType.Database))) { throw new Exception("[mysql] database is empty"); } }
public void CheckDatabase() { if (strUtil.IsNullOrEmpty(_connectionString)) { throw new Exception("[sqlserver] connection String is not found"); } IDatabaseDialect dialect = DataFactory.GetDialect(DatabaseType.SqlServer); if (strUtil.IsNullOrEmpty(dialect.GetConnectionItem(_connectionString, ConnectionItemType.Server))) { throw new Exception("[sqlserver] address is empty"); } if (strUtil.IsNullOrEmpty(dialect.GetConnectionItem(_connectionString, ConnectionItemType.Database))) { throw new Exception("[sqlserver] database is empty"); } }
public void CheckDatabase() { logger.Info("begin check database"); if (strUtil.IsNullOrEmpty(_connectionString)) { logger.Info("connection String is empty. begin to create access database and set connection string"); createDatabaseAndSaveConnectionString(); } else { String connectionItem = DataFactory.GetDialect(DatabaseType.Access).GetConnectionItem(_connectionString, ConnectionItemType.Database); if (strUtil.IsNullOrEmpty(connectionItem)) { logger.Info("connection String is found, but database is empty. begin to create access database and set connection string"); createDatabaseAndSaveConnectionString(); } else if (!File.Exists(connectionItem)) { logger.Info("ConnectionString:" + _connectionString); logger.Info("the database [" + connectionItem + "] is not found. begin to create access database and set connection string"); DatabaseBuilder.BuildAccessDb4o(connectionItem); } } }