0

Trying to simplify the process of creating batch files.

I have been tasked with Oracle SQL DB Resets.

The project currently uses batch files (.bat) to load table data (.txt) through SQL Loader.

So Data (.txt) will be placed in a DIR and I have to creat a batch file (.bat) to reference the data file for SQL Loader.

However, the potion I would like to figure out is calling the txt file instead of having to reference the full FILE PATH

SIDE NOTE Sometimes there are multiple text data files in a DIR.

C:\Users\User\Desktop>tree/f
Folder PATH listing
C:.
└───load
    └───db
            data1.txt
            data2.txt
            reset.bat

Typically we would just replace the FILE PATH for data='filePATH'

Just looking for a more affective approach something like data='%%txt%%'

@echo off
set /p uname=Enter SQLPlus username:
set /p pwd=Enter SQLPlus password:

::Delete old log files
del C:\Users\User\Desktop\load\log\*.log

:: Load the table_data_data_AFTER (GP2) data 
C:\InstalledApps\oracle\sqlldr %uname%/%pwd%@ggg-database-1.xxxx.xxx.rds.amazonaws.com/orcl^
 control=C:\Users\User\Desktop\load\file1.CTL^
 log=C:\Users\User\Desktop\load\log\user.log^
 direct=true data= 'C:\Users\User\Desktop\load\db\data1.txt'


echo.
echo.

For multiple data files

@echo off
set /p uname=Enter SQLPlus username:
set /p pwd=Enter SQLPlus password:

::Delete old log files
del C:\Users\User\Desktop\load\log\*.log

:: Load the table_data_data_AFTER (GP2) data 
C:\InstalledApps\oracle\sqlldr %uname%/%pwd%@ggg-database-1.xxxx.xxx.rds.amazonaws.com/orcl^
 control=C:\Users\User\Desktop\load\file1.CTL^
 log=C:\Users\User\Desktop\load\log\user.log^
 direct=true data= 'C:\Users\User\Desktop\load\db\data1.txt'

:: Load the table_data_data_AFTER (GP2) data 
C:\InstalledApps\oracle\sqlldr %uname%/%pwd%@ggg-database-1.xxxx.xxx.rds.amazonaws.com/orcl^
 control=C:\Users\User\Desktop\load\file1.CTL^
 log=C:\Users\User\Desktop\load\log\user.log^
 direct=true data= 'C:\Users\User\Desktop\load\db\data2.txt'


echo.
echo.

0 Answers0