sql >> Databáze >  >> RDS >> PostgreSQL

Způsobeno:java.lang.NoSuchMethodError:org.postgresql.core.BaseConnection.getEncoding()Lorg/postgresql/core/Encoding;

Nevysvětlili jste úplně kontext, ve kterém dostáváte výjimku, ale udělám pár předpokladů.

K chybě dochází, když používáte ovladač postgres 8 oproti postgres 9 DB. Běžným případem je, že je vtažen jako tranzitivní závislost prostřednictvím jakéhokoli systému sestavení, který používáte. Abychom ještě více předpokládali, velmi častým případem je, že při přidávání postgis dep je zahrnut starší ovladač, např. přes maven. Řešením je vyloučit dep, kupř. jako

<dependency>
   <groupId>org.postgis</groupId>
   <artifactId>postgis-jdbc</artifactId>
   <version>1.3.3</version>
   <scope>compile</scope>
   <exclusions>
      <exclusion>
         <groupId>org.postgis</groupId>
         <artifactId>postgis-stubs</artifactId>
      </exclusion>
   </exclusions>
</dependency>

každopádně to může být jiná závislost nebo jiný systém sestavování, ale měla by platit podstata odpovědi, zjistit, co přináší chybu dep do vaší třídy, a vyloučit ji




  1. Analytické funkce LEAD a LAG

  2. SQL Server DELETE – odstranění jednoho nebo více řádků z tabulky s mírně pokročilými scénáři

  3. Ovladač Google BigQuery ODBC

  4. oracle -- Rozdělte více hodnot oddělených čárkou v tabulce Oracle na více řádků