postgresql - 尝试执行sql时出错

标签 postgresql log4j mule mule-studio

我正在使用 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”)时,我不会收到任何错误。

我该如何解决这个问题?

最佳答案

您确定您已连接到数据库吗?

尝试将字段名称放入您的 sql 中,然后检查我们是否获得更好的错误日志:

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

关于postgresql - 尝试执行sql时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17870951/

相关文章:

php - 如何从 postgres 数据库中搜索带有单引号的字段?

java - Log4j创建动态文件

Mule 属性窗口未显示

c++ - pqxx 重用/重新激活工作事务

postgresql - 性能方面,为 INSERT、DELETE 和 UPDATE 事件创建一个单独的触发器还是为所有事件创建一个更好?

PostgreSQL 性能调整和最大连接数(实际上)

log4j - 为什么我们在 log4j.xml 中需要 root 和 logger

java - 不同类的 Log4J 记录器

soap - 在 Mule 中添加用户并传递到 SOAP header

ssl - Mule 2 方式 HTTPS 身份验证