【问题标题】:How can i solve PostgreSQL JDBC org.postgresql.util.PSQLException Error:如何解决 PostgreSQL JDBC org.postgresql.util.PSQLException 错误:
【发布时间】:2013-08-23 17:27:20
【问题描述】:

我的 PostgreSQL JDBC 有问题

如果我使用 pgAdmin 执行查询,我使用 postgresql-9 和 Glassfish 我没有任何错误,但在我的应用程序中我有这个错误:

严重:org.postgresql.util.PSQLException:ERREUR:erreur de syntaxe sur ou près de « d »
职位:293
在 org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2103)
在 org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1836)
在 org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
在 org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512)
在 org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
在 org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:273)

这是我的java代码

PreparedStatement st = con.prepareStatement("SELECT d.refdossier, d.status, d.date_validation, d.date_last_update,"
                        + "d.id_dossier,d.contrat_signe, d.etat_avancement,c.nom_pre_cont, c.num_piece_id,  c.date_piece_id,"
                        + "c.lieu_piece_id,  c.dat_nai_con, c.tel_con, fax_con,  c.email_con,g.libellegouvernoratar ,del.libelledelegationar"
                        + "FROM dossier d JOIN contact c on c.id_contact=d.id_dossier JOIN gouvernorat "
                        + " g on g.codegouvernorat=c.gouv JOIN delegation del on del.codedelegation=c.delegation"
                        + " WHERE d.id_dossier="+84);

res = st.executeQuery();

【问题讨论】:

  • 我建议您打印连接的字符串以进行调试,以确保查询语法正确。在旁注中,查询中FROM 之前似乎缺少一个空格。

标签: java sql postgresql jdbc


【解决方案1】:

del.libelledelegationarFROM 之间缺少一个空格。这导致查询被解析为:

SELECT ...., del.libelledelegationarFROM dossier d ....

换句话说,它看到一个别名为dossier 的列del.libelledelegationarFROM,当解析器看到d 时,它就会跳闸,因为它要么期望, 要么FROM,所以它返回一个错误是d 附近的语法错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-19
    • 1970-01-01
    • 1970-01-01
    • 2022-10-21
    • 1970-01-01
    • 2019-07-04
    • 1970-01-01
    • 2023-04-01
    相关资源
    最近更新 更多