코드에서이 오류가 발생하는 이유는 무엇입니까? 이것은 SQuirreL에서 실행되지만 Groovy에서는 "ORA-00933: SQL command not properly ended"
이됩니다. Arrrrrrgh! 제발 저를 도와주세요, 지식은 크게 감사 드리며 탐낼 것입니다. 파일에 출력을 쓸 때 내 오류가 발생합니다. 올바른 테이블을 선택하려면 어떻게해야합니까?Groovy - ORA-00933 : SQL 명령이 제대로 종료되지 않았습니다.
file.write("")
db.eachRow(sql) {
file.append(it.MOPID + "\t" + it.TYPE + "\n")
}
import groovy.sql.Sql
def db = Sql.newInstance(
'jdbc:oracle:thin:@10.10.47.193:1521:ORCL',
'reporter', 'r3p0rt3r', 'oracle.jdbc.pool.OracleDataSource')
def sql = """
DROP TABLE TEMPXMOP24
CREATE TABLE TEMPXMOP24
(
MOPID VARCHAR2(12),
TYPE VARCHAR2(200),
MOPSTART DATE,
MOPAPPROVEDTIME DATE,
TIME_DIF VARCHAR2(45),
TIME_ORDER NUMBER(10),
FIXED_MOP VARCHAR2(12),
MOP_HR VARCHAR2(2)
);
INSERT INTO TEMPXMOP24 (MOPID,TYPE,MOPSTART,MOPAPPROVEDTIME,TIME_DIF,TIME_ORDER,FIXED_MOP,MOP_HR)
SELECT MOPACTIVITY.MOPID,
MOPACTIVITY.MOPSERVICEIMPACTED "TYPE",
MOPACTIVITY.MOPSTART,
MOPACTIVITY.MOPAPPROVEDTIME,
ROUND(MOPACTIVITY.MOPSTART - MOPACTIVITY.MOPAPPROVEDTIME,2)||' days' "TIME_DIF",
ROUND(MOPACTIVITY.MOPSTART - MOPACTIVITY.MOPAPPROVEDTIME,0) "TIME_ORDER",
(CASE
WHEN SUBSTR(MOPACTIVITY.MOPID, 7, 2) = '24' THEN SUBSTR(MOPACTIVITY.MOPID, 1, 6)||'00'||SUBSTR(MOPACTIVITY.MOPID, 9, 4)
ELSE MOPACTIVITY.MOPID
END) FIXED_MOP,
(CASE
WHEN SUBSTR(MOPACTIVITY.MOPID, 7, 2) = '24' THEN SUBSTR(MOPACTIVITY.MOPID, 7, 2)
ELSE SUBSTR(MOPACTIVITY.MOPID, 7, 2)
END) MOP_HR
FROM MOPUSER.MOPACTIVITY
WHERE MOPACTIVITY.MOPSTART - MOPACTIVITY.MOPAPPROVEDTIME BETWEEN 0 and 14;
SELECT * FROM TEMPXMOP24
WHERE TRUNC(TO_DATE(FIXED_MOP, 'MMDDYYHH24MISS'))
BETWEEN TRUNC(SYSDATE-90) AND TRUNC(SYSDATE)
ORDER BY "TIME_ORDER"
def date = new Date()
def dts = date.format("yyyy-MM-dd-HH-mm-ss")
File file = new File('C:/Documents and Settings/e0148840/Desktop/' + dts + ' Caries 14 Day and Out.xls')
file.write("")
db.eachRow(sql) {
file.append(it.MOPID + "\t" + it.TYPE + "\n")
}
이 문항은 사소한 구문 오류/오타 –