# 跨数据库同步 **Repository Path**: long178/cross-database-synchronization ## Basic Information - **Project Name**: 跨数据库同步 - **Description**: 跨数据库同步,支持MySQL,SQL Server,Oracle数据库,支持多任务处理,运行环境支持widnows、linux - **Primary Language**: C# - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-12-17 - **Last Updated**: 2025-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 跨数据库同步工具 (Cross-Database Synchronization) 这是一个跨数据库同步工具,支持多种数据库类型(如 MySQL、Oracle、SQL Server),并提供全量同步、增量同步以及实时同步功能。该工具包含一个ASP.NET Core Web 应用,支持运行在Windows\Linux。 ## 分支 - 生产分支master - 开发分支dev ## 📌 项目结构 - **`DatabaseSync.Configuration`** 配置相关模块。 - **`DatabaseSync.Core`** 核心同步逻辑,包含: - `DataSync/FullSync.cs` - 全量同步 - `DataSync/IncrementalSync.cs` - 增量同步 - `DataSync/RealTimeSync.cs` - 实时同步 - `SchemaSync/SchemaComparer.cs` - 数据库结构比较 - `SchemaSync/SchemaSynchronizer.cs` - 数据库结构同步 - **`DatabaseSync.DataAccess`** 数据访问层,包含对不同数据库(MySQL、Oracle、SQL Server)的连接管理和架构读取器。 - **`DatabaseSync.Models`** 数据模型定义,包括数据库配置、同步配置、结果模型等。 1 - **`DatabaseSyncWeb`** ASP.NET Core Web 应用,提供 Web 界面进行数据库同步配置、调度和执行。 ## 🚀 功能特性 - ✅ 支持多种数据库(MySQL、Oracle、SQL Server) - ✅ 全量同步(一次性同步整个数据库) - ✅ 墈量同步(仅同步变化数据) - ✅ 实时同步(基于定时任务的持续同步) - ✅ 数据库结构对比与同步 - ✅ 基于 Web 的可视化配置界面 ## 🛠️ 技术栈 - C# - .NET Core / .NET Framework - ASP.NET Core MVC - MySQL / Oracle / SQL Server 数据库适配器 - Bootstrap(用于 Web 端前端) ## 🧪 使用说明 ### 启动 Web 应用 1. 运行 `DatabaseSyncWeb` 项目 2. 访问主页,配置同步任务 3. 可创建、编辑、删除同步任务 4. 支持定时任务调度同步 5. 访问地址:http://localhost:5170 ## 📦 模型说明 - `DatabaseConfig` - 数据库连接配置 - `SyncConfig` - 同步任务配置 - `SyncResult` - 同步执行结果 - `TableSchema` - 表结构定义 - `SyncTask` - Web 端同步任务模型 ## 📚 同步策略 | 同步类型 | 描述 | |---------------|------| | **全量同步** | 一次性同步所有数据,适用于初始化或数据量小的场景 | | **增量同步** | 仅同步发生变化的数据,依赖同步字段(如时间戳) | | **实时同步** | 基于定时器的持续同步,适合需保持数据实时一致性的场景 | ## 📑 事件通知 所有同步类都支持事件订阅: - `SyncProgress` - 同步进度通知 - `SyncCompleted` - 同步完成事件 - `StatusChanged` - 实时同步状态变化(运行/停止) ## 📄 许可证 本项目采用 [MIT License](https://opensource.org/licenses/MIT),详情请查看 `LICENSE` 文件。 ## 🤝 贡献 欢迎提交 PR 或反馈问题。请确保遵循项目编码规范并添加适当注释。 --- 如有具体问题或需要进一步文档说明,请告知我!