A robust application for synchronizing data between different database systems and SQL Server, with a focus on data mapping, transformation, and scheduling capabilities.
Async SQL Tool is a Blazor-based web application designed to help database administrators, developers, and data analysts efficiently manage data transfer operations between various database systems and SQL Server. The application provides a user-friendly interface for executing queries, mapping column data types, and scheduling automated data synchronization tasks.
- Connect to multiple database sources including SQL Server, SAP HANA, and others
- Secure connection string storage
- Connection testing capabilities
- Active/inactive status tracking
- Create, save, and edit SQL queries
- Preview query results before execution
- Execute queries with different result set limits
- Export query results to Excel
- Define precise column mappings between source and target databases
- Specify exact SQL data types including length, precision, and scale parameters
- Support for primary key definition
- Nullable column configuration
- Automatic table creation based on query results and mappings
- Table schema updates when structure changes
- View, truncate, or drop target tables
- Inspect table contents directly from the UI
- Merge data based on primary key columns
- Bulk insert capabilities for efficient data loading
- Transaction support for data integrity
- Modern, responsive design
- Detailed feedback on operations
- Clear error reporting
- Interactive data grid with filtering and sorting capabilities
- Built with ASP.NET Core and Blazor Server
- Entity Framework Core for data access
- DevExpress UI components for rich user interface
- Service-based architecture for maintainability
- Precise mapping between different database system data types
- Support for preserving column properties (length, precision, scale)
- Automatic data conversion for compatible types
- SQL injection prevention
- Secure connection string management
- Input validation for table and column names
- .NET 6.0 or higher
- SQL Server (for the application database)
- Appropriate database drivers for source systems
- Configure the connection string for the application database in
appsettings.json - Set up initial database connections through the UI
- Create queries and column mappings based on your data requirements
- Test connections before creating queries
- Preview data before executing to SQL Server
- Use column mappings to ensure proper data type conversion
- Set primary keys for efficient merge operations
- Add descriptive names and descriptions for saved queries
- Select a database connection
- Write a query to extract data
- Specify a target table name
- Define column mappings (optional)
- Execute the query to transfer data
- Save a query with appropriate mappings
- Enable scheduling for the query
- Define the schedule expression
- The system will automatically execute the query based on the schedule
- Use the column mapping UI to define precise SQL data types
- Specify length, precision, and scale as needed
- Mark primary key columns and nullable properties
- Execute to create or update the target table structure
- Connection errors: Verify connection strings and network access
- Data type conversion issues: Use column mappings to define explicit type conversions
- Performance problems: Consider using key columns for merge operations with large datasets
The application logs detailed information about operations, which can be reviewed for troubleshooting purposes.
Contributions to the Async SQL Tool are welcome. Please ensure your code follows the existing patterns and includes appropriate tests.