bat脚本 oracle中插入csv文件数据
时间: 2023-05-18 15:05:50 浏览: 197
可以使用以下的bat脚本来实现在oracle中插入csv文件数据:
```
@echo off
setlocal enabledelayedexpansion
set file="path/to/your/csv/file.csv"
set delimiter=","
for /f "tokens=* delims=" %%a in (%file%) do (
set line=%%a
set line=!line:%delimiter%=","!
set query="INSERT INTO your_table_name (column1, column2, column3) VALUES (!line!);"
sqlplus username/password@database_name @- <<EOF
set echo off
set feedback off
set heading off
set pagesize 0
set termout off
set verify off
!query!
exit;
EOF
)
```
请注意,您需要将 `path/to/your/csv/file.csv` 替换为您的csv文件的实际路径,并将 `your_table_name` 替换为您要插入数据的表的名称。您还需要将 `column1, column2, column3` 替换为您要插入数据的列的名称。
相关问题
bat脚本 oracle导入csv文件
可以使用以下的bat脚本来导入csv文件到Oracle数据库中:
```
@echo off
setlocal
set ORACLE_SID=ORCL
set ORACLE_HOME=C:\app\oracle\product\11.2.0\dbhome_1
set USERNAME=username
set PASSWORD=password
set HOSTNAME=localhost
set PORT=1521
set SERVICE_NAME=orcl
set CSV_FILE_PATH=C:\data\file.csv
set TABLE_NAME=table_name
sqlldr %USERNAME%/%PASSWORD%@%HOSTNAME%:%PORT%/%SERVICE_NAME% control=loader.ctl data=%CSV_FILE_PATH% log=loader.log bad=loader.bad
exit /b %ERRORLEVEL%
```
其中,需要将以下变量替换为实际的值:
- ORACLE_SID:Oracle实例的SID
- ORACLE_HOME:Oracle的安装路径
- USERNAME:Oracle数据库的用户名
- PASSWORD:Oracle数据库的密码
- HOSTNAME:Oracle数据库的主机名
- PORT:Oracle数据库的端口号
- SERVICE_NAME:Oracle数据库的服务名
- CSV_FILE_PATH:要导入的csv文件的路径
- TABLE_NAME:要导入数据的表名
同时,需要创建一个名为loader.ctl的控制文件,内容如下:
```
LOAD DATA
INFILE '%CSV_FILE_PATH%'
INTO TABLE %TABLE_NAME%
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
COLUMN1,
COLUMN2,
COLUMN3,
...
)
```
其中,需要将%CSV_FILE_PATH%和%TABLE_NAME%替换为实际的值,以及指定要导入的列名和数据类型。
bat脚本实现oracle数据生成excel
可以使用以下脚本来实现将 Oracle 数据导出到 Excel 文件中:
```
@echo off
set ORACLE_SID=your_oracle_sid
set ORACLE_HOME=C:\app\your_username\product\11.2.0\dbhome_1
set SQLPLUS_PATH=%ORACLE_HOME%\bin\sqlplus.exe
set EXPDP_PATH=%ORACLE_HOME%\bin\expdp.exe
set DB_USER=username
set DB_PASS=password
set DB_HOST=localhost
set DB_PORT=1521
set DB_NAME=your_database_name
set OUTPUT_FILE=output.xls
set QUERY="SELECT * FROM your_table;"
%SQLPLUS_PATH% -S %DB_USER%/%DB_PASS%@%DB_HOST%:%DB_PORT% <<EOF
set colsep ','
set pagesize 0
set trimout on
set headsep off
set linesize 1000
set termout off
spool %OUTPUT_FILE%
%QUERY%
spool off
exit;
EOF
echo "Data exported to %OUTPUT_FILE%"
```
这个脚本使用 sqlplus 连接到 Oracle 数据库,执行查询并将结果导出到 CSV 文件中。然后,使用 Excel 打开 CSV 文件并将其保存为 XLS 格式。
阅读全文