我正在使用Mulestudio,并尝试在Postgres数据库中插入一些数据。我正在修改log4j.properties文件,下面是它的样子:
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"
'edu'是我项目名称的第一部分(edu-stream-ucdnews)。 'edu'的实例只出现在标题名称中,而不是出现在我的数据中。我知道当我尝试插入数据时有'%m'时会出现错误,因为当我将其更改为像'Hello'这样的硬编码消息时,我没有收到任何错误。
如何解决此问题?
答案 0 :(得分:1)
您确定已连接到数据库吗?
尝试将字段名称放在sql中,然后检查我们是否获得了更好的错误日志:
log4j.appender.postgres.sql=INSERT INTO LOGS (field1, field2, ...) VALUES ('%x', '%d{yyyy-MM-dd}','%C','%p','%m');