2016-11-29 34 views
0
@echo off 
REM Build YYYYMMDD_hhmmss format date/time stamp for new file name 
set Stamp=%DATE:~-4%%DATE:~-10,2%%DATE:~-7,2%_%TIME:~0,8% 
set Stamp=%Stamp::=% 
set Stamp=%Stamp: =0% 
set data_file=D:\Oracle\XML\Dump\XMLBusiness-%Stamp%.xml 
set log_file=D:\Oracle\XML\Log\XMLBusiness-%Stamp%.log 
set SUBJECT_AREA='ENITITY' 
set STATUS='COMPLETED' 



exit | sqlplus -S xx/[email protected] @"C:\Documents and Settings\Desktop\XML\insert_audit_table.sql" %SUBJECT_AREA %STATUS% "SYSTIMESTAMP" > %log_file% 

我使用上面的代碼從批處理文件值傳遞到SQL,但我收到此錯誤SQL文件取值中沒有報價

old 1: INSERT INTO XML_AUDIT VALUES(&1,&2,&3) 
new 1: INSERT INTO XML_AUDIT VALUES(BUSINESS_ENTITY,COMPLETED,SYSTIMESTAMP) 
INSERT INTO XML_AUDIT VALUES(BUSINESS_ENTITY,COMPLETED,SYSTIMESTAMP) 
              * 
ERROR at line 1: 
ORA-00984: column not allowed here 

請幫我在這。我怎麼能在單引號括本

+0

這是不是你問1小時前的一個辦法更好的問題!你有你的腳本,你有一些真正的輸出中!良好的改進! – geisterfurz007

+0

你必須接受並投票的任何人提供的答案顯示,如果提供的答案真的幫與否。看了這麼使用http://stackoverflow.com/help/someone-answers – XING

回答

0

沒有完全理解你的問題,但按照錯誤消息,因爲你給它不能插入文本。您應該使用單引號吧。確保值來如下

INSERT INTO XML_AUDIT VALUES('BUSINESS_ENTITY','COMPLETED',SYSTIMESTAMP)

+0

他要求他的問題到底這樣做的方式......這恰恰是他的問題,以及在[他的其他職位(HTTP ://stackoverflow.com/questions/40858687/how-to-pass-single-quote-around-string-in-batch-file)今天上午 – geisterfurz007