You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让SQL Loader每次生成带时间戳的独立日志(无需命令参数)

SQL Loader 日志自动加时间戳归档方案

SQL Loader的.par配置文件不支持动态生成带时间戳的文件名,没法直接在原.par里实现自动归档。给你个不用手动传命令行参数的解决方案,用Windows批处理脚本自动搞定:

步骤1:编写批处理脚本

把下面代码存成run_loader.bat,根据实际路径调整变量值:

@echo off
setlocal enabledelayedexpansion

:: 定义日志相关基础信息
set "LOG_DIR=D:\projects\log"
set "LOG_NAME_PREFIX=TRACK_MIGRATION_"

:: 生成YYYYMMDD_HHMMSS格式的时间戳
for /f "tokens=1-3 delims=/" %%a in ("%date%") do set "DATE_PART=%%c%%a%%b"
for /f "tokens=1-3 delims=:." %%a in ("%time%") do set "TIME_PART=%%a%%b%%c"
set "TIMESTAMP=%DATE_PART%_%TIME_PART%"

:: 拼接最终日志文件名
set "LOG_FILE=%LOG_DIR%\%LOG_NAME_PREFIX%%TIMESTAMP%.log"

:: 复制原par文件,替换日志路径为带时间戳的新路径,生成临时par文件
set "ORIG_PAR=D:\projects\your_par_file.par"  <!-- 替换成你实际的.par文件路径 -->
set "TEMP_PAR=D:\projects\temp_loader.par"

:: 替换LOG行内容
for /f "delims=" %%i in (%ORIG_PAR%) do (
    set "line=%%i"
    if "!line:~0,3!"=="LOG" set "line=LOG=%LOG_FILE%"
    echo !line! >> "%TEMP_PAR%"
)

:: 调用SQL Loader执行临时配置文件
sqlldr parfile="%TEMP_PAR%"

:: 可选:执行完成后删除临时par文件
del "%TEMP_PAR%"

endlocal

步骤2:用脚本替代直接执行sqlldr

以后直接双击运行run_loader.bat,脚本会自动生成带时间戳的日志文件(比如TRACK_MIGRATION_20221229_113917.log),不会覆盖旧日志,全程无需手动修改参数。

补充说明

  • 如果是Linux环境,思路一致,编写Shell脚本生成时间戳,动态修改par文件后执行sqlldr即可
  • 若原.par文件中的LOG路径和示例不同,调整脚本中匹配LOG行的逻辑即可

内容的提问来源于stack exchange,提问作者SWEEPY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 21:25:32