58 lines
2.0 KiB
Python
58 lines
2.0 KiB
Python
# config.py
|
|
|
|
# ================= 数据库连接配置 =================
|
|
SQL_SERVER_CONN = {
|
|
'driver': '{ODBC Driver 18 for SQL Server}',
|
|
'server': '192.168.110.114',
|
|
'database': 'CompanyDB',
|
|
'uid': 'peng',
|
|
'pwd': 'Cqbld123456.'
|
|
}
|
|
|
|
# Access 驱动配置 (根据你的 Office 版本选择 mdb 或 accdb)
|
|
ACCESS_DRIVER = "{Microsoft Access Driver (*.mdb, *.accdb)}"
|
|
|
|
# ================= 日志表配置 =================
|
|
# 根据你提供的表结构配置列名
|
|
LOG_TABLE_CONFIG = {
|
|
'schema': 'dbo',
|
|
'table_name': 'TableChangeLog',
|
|
# 下面定义字段名,方便代码引用,防止硬编码
|
|
'col_log_id': 'LogID',
|
|
'col_table_name': 'TableName',
|
|
'col_record_id': 'RecordID',
|
|
'col_address': 'TableAddress', # 使用 TableAddress 作为文件路径来源
|
|
'col_synced': 'Synced'
|
|
}
|
|
|
|
# ================= 同步映射配置 (核心重构) =================
|
|
# 结构: { "Access文件绝对路径": { "Access表名": { SQL目标配置 } } }
|
|
# 这样即使不同文件有相同的表名,也能区分开
|
|
SYNC_MAPPING = {
|
|
# 第一个 Access 文件
|
|
r"\\192.168.110.114\生产进度表\2025年数据\生产合同数据.accdb": {
|
|
"26年压力表合同数据": {
|
|
"target_schema": "productionContractData",
|
|
"target_table": "26年压力表合同数据", # 映射到 A 表
|
|
"pk_col": "ID"
|
|
},
|
|
"26年温度计合同数据": {
|
|
"target_schema": "productionContractData",
|
|
"target_table": "26年温度计合同数据",
|
|
"pk_col": "ID"
|
|
}
|
|
},
|
|
|
|
# # 第二个 Access 文件 (可能有同名的 UserInfo 表)
|
|
# r"D:\Data\ProjectB\backup.mdb": {
|
|
# "UserInfo": {
|
|
# "target_schema": "dbo",
|
|
# "target_table": "ProjB_UserInfo", # 映射到 B 表
|
|
# "pk_col": "ID"
|
|
# }
|
|
# }
|
|
}
|
|
|
|
# ================= 运行参数 =================
|
|
POLL_INTERVAL = 60 # 轮询间隔(秒)
|
|
BATCH_SIZE = 1000 # 批量处理大小 |