private void PrepareDatabase() { MasterConnection.Open(); try { var timeout = MasterConnection.ConnectionTimeout; var userCount = MasterConnection.QuerySingle <int>(@" SELECT COUNT(*) USER_COUNT FROM SYS.DBA_USERS WHERE USERNAME = :UserName", new { UserName = _userName }, null, timeout); if (userCount > 0) { if (_dropUser) { MasterConnection.Execute($"DROP USER {_userName} CASCADE", null, null, timeout); } else { return; } } MasterConnection.Execute($@"CREATE USER {_userName} IDENTIFIED BY {_userPassword}", null, null, timeout); MasterConnection.Execute($@"GRANT DBA TO {_userName}", null, null, timeout); } finally { MasterConnection.Close(); } }
private void PrepareDatabase() { MasterConnection.Open(); try { var timeout = MasterConnection.ConnectionTimeout; var dbId = MasterConnection.QuerySingleOrDefault <long?>( "SELECT DB_ID(@DatabaseName) as DatabaseId", new { DatabaseName = _databaseName }, null, timeout); if (dbId.HasValue) { if (_dropDatabase) { MasterConnection.Execute("DROP DATABASE " + _databaseName, null, null, timeout); } else { return; } } MasterConnection.Execute("CREATE DATABASE " + _databaseName, null, null, timeout); } finally { MasterConnection.Close(); } }