2016-11-29 58 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