public static TableDefinition GetDefinitionFromTableName(string tableName, IConnectionManager connection) { IfTableOrViewExistsTask.ThrowExceptionIfNotExists(connection, tableName); ConnectionManagerType connectionType = ConnectionManagerSpecifics.GetType(connection); if (connectionType == ConnectionManagerType.SqlServer) { return(ReadTableDefinitionFromSqlServer(tableName, connection)); } else if (connectionType == ConnectionManagerType.SQLite) { return(ReadTableDefinitionFromSQLite(tableName, connection)); } else if (connectionType == ConnectionManagerType.MySql) { return(ReadTableDefinitionFromMySqlServer(tableName, connection)); } else if (connectionType == ConnectionManagerType.Postgres) { return(ReadTableDefinitionFromPostgres(tableName, connection)); } else { throw new ETLBoxException("Unknown connection type - please pass a valid TableDefinition!"); } }
private static void GetColumns(IConnectionManager connectionManager, string name, List <TableColumn> columns) { ValidateName(name); IfTableOrViewExistsTask.ThrowExceptionIfNotExists(connectionManager, name); ConnectionManagerType connectionType = ConnectionManagerSpecifics.GetType(connectionManager); ObjectNameDescriptor TN = new ObjectNameDescriptor(name, connectionType); if (connectionType == ConnectionManagerType.SqlServer) { GetColumnsFromSqlServer(connectionManager, TN, columns); } else if (connectionType == ConnectionManagerType.SQLite) { GetColumnsFromSQLite(connectionManager, TN, columns); } else if (connectionType == ConnectionManagerType.MySql) { GetColumnsFromMySqlServer(connectionManager, TN, columns); } else if (connectionType == ConnectionManagerType.Postgres) { GetColumnsFromPostgres(connectionManager, TN, columns); } else if (connectionType == ConnectionManagerType.Access) { GetColumnsFromAccess(connectionManager, TN, columns); } else { throw new ETLBoxException("Unknown connection type - please pass a valid TableDefinition!"); } }
/// <summary> /// Gather a table definition from an existing table in the database. /// </summary> /// <param name="connectionManager">The connection manager of the database you want to connect</param> /// <param name="tableName">A name of an existing table in the database</param> /// <returns></returns> public static TableDefinition FromTableName(IConnectionManager connection, string tableName) { IfTableOrViewExistsTask.ThrowExceptionIfNotExists(connection, tableName); ConnectionManagerType connectionType = connection.ConnectionManagerType; ObjectNameDescriptor TN = new ObjectNameDescriptor(tableName, connection.QB, connection.QE); if (connectionType == ConnectionManagerType.SqlServer) { return(ReadTableDefinitionFromSqlServer(connection, TN)); } else if (connectionType == ConnectionManagerType.SQLite) { return(ReadTableDefinitionFromSQLite(connection, TN)); } else if (connectionType == ConnectionManagerType.MySql) { return(ReadTableDefinitionFromMySqlServer(connection, TN)); } else if (connectionType == ConnectionManagerType.Postgres) { return(ReadTableDefinitionFromPostgres(connection, TN)); } else if (connectionType == ConnectionManagerType.Access) { return(ReadTableDefinitionFromAccess(connection, TN)); } else if (connectionType == ConnectionManagerType.Oracle) { return(ReadTableDefinitionFromOracle(connection, TN)); } else { throw new ETLBoxException("Unknown connection type - please pass a valid TableDefinition!"); } }
public void ThrowException(IConnectionManager connection) { //Arrange //Act //Assert Assert.Throws <ETLBoxException>( () => { IfTableOrViewExistsTask.ThrowExceptionIfNotExists(connection, "xyz.Somestrangenamehere"); }); }