2016-01-13 3 views
0

У меня есть файл .bat, в который я вставляю данные из csv в oracle с помощью sqlldr, но когда я дважды щелкаю файл .bat, ничего не происходит. Но когда я копирую это в cmd и запускаю, он выполняет данные. Я не знаю, что случилось с какой-либо ошибкой пути.команда запускается из 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) 
+0

, дважды щелкнув мышью, вы запускаете окно 'cmd' с помощью homedir' c: \ Windows \ system32', поэтому, вероятно, он не находит 'Insert.ctl'. – Stephan

+0

Так что я могу сделать для этого, могу ли я вставить Insert.ctl там. Когда я открываю cmd, у него есть адрес P: \ Users \ ashique.sheikh –

+0

либо предоставляют полный путь (см. Ответ Питера), либо тратят 'cd/d" P: \ Users \ ashique.sheikh \ VMI "' в ваш пакетный файл. – Stephan

ответ

1

пытаются использовать эту строку в файле летучей мыши:

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

Некоторые WinodwsXP имеет проблемы, как различные переменные SET при запуске cmd.exe, а другой при запуске .bat файл. Это была антивирусная песочница или что-то подобное.

1

Попробуйте добавить путь к параметру CTL тоже. Я боюсь, что окна ищут путь для insert.ctl, и он не находит его.

+0

Я пытаюсь использовать оба этих cd/d "P: \ Users \ ashique.sheikh \ VMI" sqlldr upi/upi DATA = P: \ Users \ ashique.sheikh \ VMI \ test. csv CONTROL = P: \ Users \ ashique.sheikh \ VMI \ Insert.ctl LOG = Insert.log, а также поместить файл Insert.ctl в P: \ Users \ ashique.sheikh, но не работает –

Смежные вопросы