public static void ConnectionKilledTest() { try { // Setup Database and Table. DataTestUtility.RunNonQuery(s_connectionString, s_createDatabaseCmd); DataTestUtility.RunNonQuery(s_dbConnectionString, s_createTableCmd); // Kill all the connections and set Database to SINGLE_USER Mode. DataTestUtility.RunNonQuery(s_connectionString, s_alterDatabaseSingleCmd); // Set Database back to MULTI_USER Mode DataTestUtility.RunNonQuery(s_connectionString, s_alterDatabaseMultiCmd); // Execute SELECT statement. DataTestUtility.RunNonQuery(s_dbConnectionString, s_selectTableCmd); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); Assert.Null(ex); } finally { // Kill all the connections, set Database to SINGLE_USER Mode and drop Database DataTestUtility.RunNonQuery(s_connectionString, s_alterDatabaseSingleCmd); DataTestUtility.RunNonQuery(s_connectionString, s_dropDatabaseCmd); } }
private static void RunTestFormat(Action testCase) { TestTableName = DataTestUtility.GenerateTableName(); DataTestUtility.RunNonQuery(ConnectionString, $"create table {TestTableName} (col1 int, col2 text)"); try { testCase(); } finally { DataTestUtility.RunNonQuery(ConnectionString, $"drop table {TestTableName}"); } }
private static SqlDecimal BulkCopySqlDecimalToTable(SqlDecimal decimalValue, int sourcePrecision, int sourceScale, int targetPrecision, int targetScale) { string tableName = DataTestUtility.GenerateTableName(); string connectionString = DataTestUtility.TcpConnStr; SqlDecimal resultValue; try { DataTestUtility.RunNonQuery(connectionString, $"create table {tableName} (target_column decimal({targetPrecision}, {targetScale}))"); SqlDecimal inputValue = SqlDecimal.ConvertToPrecScale(decimalValue, sourcePrecision, sourceScale); DataTable dt = new DataTable(); dt.Clear(); dt.Columns.Add("source_column", typeof(SqlDecimal)); DataRow row = dt.NewRow(); row["source_column"] = inputValue; dt.Rows.Add(row); using (SqlBulkCopy sbc = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.KeepIdentity)) { sbc.DestinationTableName = tableName; sbc.ColumnMappings.Add("source_column", "target_column"); sbc.WriteToServer(dt); } DataTable resultTable = DataTestUtility.RunQuery(connectionString, $"select * from {tableName}"); resultValue = new SqlDecimal((Decimal)resultTable.Rows[0][0]); } finally { DataTestUtility.RunNonQuery(connectionString, $"drop table {tableName}"); } return(resultValue); }