命令从cmd运行,但不在批处理文件

时间:2016-01-13 10:23:19

标签: windows batch-file cmd sql-loader

我有一个.bat文件,我使用sqlldr将数据从csv插入到oracle但是当我双击.bat文件时没有任何反应。 但是当我在cmd中复制它并运行它时会执行数据。 我不知道任何路径错误或任何事情会发生什么。

批处理文件

P:\Users\ashique.sheikh\VMI>sqlldr upi/upi  DATA=P:\Users\ashique.sheikh\VMI\test.csv CONTROL=Insert.ctl LOG=Insert.log.

CTL档案

OPTIONs(SKIP=1)
LOAD DATA 
INFILE "P:\Users\ashique.sheikh\VMI\test.csv"
INSERT into table DETAIL 
REPLACE
fields terminated by ','
(ID,NAME,ADDRESS,CITY,MOBILE)

2 个答案:

答案 0 :(得分:1)

尝试添加ctl参数的路径。我担心windows会在路径中搜索insert.ctl而它找不到它。

答案 1 :(得分:1)

尝试在bat文件中使用此行:

start "" cmd.exe /c sqlldr upi/upi DATA=P:\Users\ashique.sheikh\VMI\test.csv CONTROL=Insert.ctl LOG=Insert.log

某些WinodwsXP在运行cmd.exe时会出现不同的SET变量,而在运行.bat文件时会出现另一个问题。它是防病毒沙箱或其他东西等。