2013-07-26 2 views
2

Mulestudio를 사용 중이며 Postgres 데이터베이스에 데이터를 삽입하려고합니다.SQL에 실행하려고 할 때 오류가 발생했습니다.

log4j.rootLogger = DEBUG, postgres 
# 
log4j.appender.postgres=org.apache.log4j.jdbc.JDBCAppender 
log4j.appender.postgres.layout=org.apache.log4j.PatternLayout 
log4j.appender.postgres.driver=org.postgresql.Driver 
log4j.appender.postgres.URL=jdbc:postgresql://127.0.0.1:5432/testing 
log4j.appender.postgres.user=postgres 
log4j.appender.postgres.password=pw 
log4j.appender.postgres.sql=INSERT INTO LOGS VALUES ('%x', '%d{yyyy-MM-dd}','%C','%p','%m'); 

내가 오류 메시지가

log4j:ERROR Failed to excute sql 
org.postgresql.util.PSQLException: ERROR: syntax error at or near "edu" 

는 '에듀가'내 프로젝트 이름의 첫 번째 부분 (에듀입니다 : 나는 아래에 모습 어떻게되어있는 log4j.properties 파일을 수정하고 있어요 -stream-ucdnews). 'edu'의 인스턴스는 내 데이터가 아니라 제목 이름에만 나타납니다. 데이터를 삽입하려고 할 때 '% m'을 ​​(를) 가질 때 오류가 발생한다는 것을 알고 있습니다. 'Hello'와 같은 하드 코딩 된 메시지로 변경하면 오류가 발생하지 않기 때문입니다.

이 문제를 어떻게 해결할 수 있습니까?

답변

1

데이터베이스에 연결되어 있습니까?

당신의 SQL의 필드 이름을 넣어 시도하고 우리가 더 나은 오류 로그를 얻을 수 있는지 확인 할 수 있습니다 :

log4j.appender.postgres.sql=INSERT INTO LOGS (field1, field2, ...) VALUES ('%x', '%d{yyyy-MM-dd}','%C','%p','%m');