Thread: Right version of jdbc

Right version of jdbc

From
Raivo Rebane
Date:
Hi,
I use :
  PostgreSQL 15.2, compiled by Visual C++ build 1914, 64-bit
and
PostGIS  3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1

What versions of jdbc driver I have to use for proper work ?

Regards,
Raivo



Re: Right version of jdbc

From
Thomas Kellerer
Date:
Raivo Rebane schrieb am 25.09.2023 um 10:36:
> I use :
>   PostgreSQL 15.2, compiled by Visual C++ build 1914, 64-bit
> and
> PostGIS  3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
>
> What versions of jdbc driver I have to use for proper work ?

Use the latest, i.e. 42.6.0





Re: Right version of jdbc

From
Dave Cramer
Date:
Hi,

The latest version of the driver is usually the right answer. So 42.5.4
Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 07:03, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
I use :
  PostgreSQL 15.2, compiled by Visual C++ build 1914, 64-bit
and
PostGIS  3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1

What versions of jdbc driver I have to use for proper work ?

Regards,
Raivo



Re: Right version of jdbc

From
Dave Cramer
Date:
Sorry 42.6.0

Interesting that github still has 42.5.4 as the release

Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 07:27, Dave Cramer <davecramer@postgres.rocks> wrote:
Hi,

The latest version of the driver is usually the right answer. So 42.5.4
Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 07:03, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
I use :
  PostgreSQL 15.2, compiled by Visual C++ build 1914, 64-bit
and
PostGIS  3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1

What versions of jdbc driver I have to use for proper work ?

Regards,
Raivo



Re: Right version of jdbc

From
Raivo Rebane
Date:
Hi,
now I using following -
[INFO] Copying postgis-jdbc-2.1.7.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgis-jdbc-2.1.7.jar
[INFO] Copying postgresql-42.6.0.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgresql-42.6.0.jar
[INFO] Copying checker-qual-3.31.0.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\checker-qual-3.31.0.jar
but on executions I got -
Exception in thread "main" java.lang.NoClassDefFoundError: org/postgis/PGgeometry
        at backendproject.ProcQueryMushrooms.ProcQuery(ProcQueryMushrooms.java:41)
        at backendproject.BackendMain.main(BackendMain.java:81)
Caused by: java.lang.ClassNotFoundException: org.postgis.PGgeometry
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)

What I have to do ?

I use following -
PostgreSQL 15.2, compiled by Visual C++ build 1914, 64-bit
PostGIS  3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
Regards
Raivo

On Mon, Sep 25, 2023 at 2:29 PM Dave Cramer <davecramer@postgres.rocks> wrote:
Sorry 42.6.0

Interesting that github still has 42.5.4 as the release

Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 07:27, Dave Cramer <davecramer@postgres.rocks> wrote:
Hi,

The latest version of the driver is usually the right answer. So 42.5.4
Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 07:03, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
I use :
  PostgreSQL 15.2, compiled by Visual C++ build 1914, 64-bit
and
PostGIS  3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1

What versions of jdbc driver I have to use for proper work ?

Regards,
Raivo



Re: Right version of jdbc

From
Dave Cramer
Date:
The missing class is from the postgis jar. Are you sure it is on your classpath ?

Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 08:26, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
now I using following -
[INFO] Copying postgis-jdbc-2.1.7.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgis-jdbc-2.1.7.jar
[INFO] Copying postgresql-42.6.0.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgresql-42.6.0.jar
[INFO] Copying checker-qual-3.31.0.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\checker-qual-3.31.0.jar
but on executions I got -
Exception in thread "main" java.lang.NoClassDefFoundError: org/postgis/PGgeometry
        at backendproject.ProcQueryMushrooms.ProcQuery(ProcQueryMushrooms.java:41)
        at backendproject.BackendMain.main(BackendMain.java:81)
Caused by: java.lang.ClassNotFoundException: org.postgis.PGgeometry
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)

What I have to do ?

I use following -
PostgreSQL 15.2, compiled by Visual C++ build 1914, 64-bit
PostGIS  3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
Regards
Raivo

On Mon, Sep 25, 2023 at 2:29 PM Dave Cramer <davecramer@postgres.rocks> wrote:
Sorry 42.6.0

Interesting that github still has 42.5.4 as the release

Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 07:27, Dave Cramer <davecramer@postgres.rocks> wrote:
Hi,

The latest version of the driver is usually the right answer. So 42.5.4
Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 07:03, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
I use :
  PostgreSQL 15.2, compiled by Visual C++ build 1914, 64-bit
and
PostGIS  3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1

What versions of jdbc driver I have to use for proper work ?

Regards,
Raivo



Re: Right version of jdbc

From
Raivo Rebane
Date:
Hi, now I use -
  <dependencies>
    <dependency>
        <groupId>org.postgis</groupId>
        <artifactId>postgis-jdbc</artifactId>
        <version>1.3.3</version>
    </dependency>
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>42.5.4</version> <!-- Kasuta kõige uuemat versiooni -->
    </dependency>
  </dependencies>
But I got error -
Exception in thread "main" java.lang.NoSuchMethodError: 'org.postgresql.core.Encoding org.postgresql.core.BaseConnection.getEncoding()'
        at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getString(AbstractJdbc2ResultSet.java:1889)
        at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp(AbstractJdbc2ResultSet.java:438)
        at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp(AbstractJdbc2ResultSet.java:2406)
        at backendproject.BackendMain.main(BackendMain.java:64)

Whats wrong ?

Raivo

On Mon, Sep 25, 2023 at 3:26 PM Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
now I using following -
[INFO] Copying postgis-jdbc-2.1.7.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgis-jdbc-2.1.7.jar
[INFO] Copying postgresql-42.6.0.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgresql-42.6.0.jar
[INFO] Copying checker-qual-3.31.0.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\checker-qual-3.31.0.jar
but on executions I got -
Exception in thread "main" java.lang.NoClassDefFoundError: org/postgis/PGgeometry
        at backendproject.ProcQueryMushrooms.ProcQuery(ProcQueryMushrooms.java:41)
        at backendproject.BackendMain.main(BackendMain.java:81)
Caused by: java.lang.ClassNotFoundException: org.postgis.PGgeometry
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)

What I have to do ?

I use following -
PostgreSQL 15.2, compiled by Visual C++ build 1914, 64-bit
PostGIS  3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
Regards
Raivo

On Mon, Sep 25, 2023 at 2:29 PM Dave Cramer <davecramer@postgres.rocks> wrote:
Sorry 42.6.0

Interesting that github still has 42.5.4 as the release

Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 07:27, Dave Cramer <davecramer@postgres.rocks> wrote:
Hi,

The latest version of the driver is usually the right answer. So 42.5.4
Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 07:03, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
I use :
  PostgreSQL 15.2, compiled by Visual C++ build 1914, 64-bit
and
PostGIS  3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1

What versions of jdbc driver I have to use for proper work ?

Regards,
Raivo



Re: Right version of jdbc

From
Raivo Rebane
Date:
And target/lib is s following :
Directory of C:\Users\Raivo\eclipse-workspace\backendproject\target\lib

25.09.2023  15:35    <DIR>          .
25.09.2023  15:33    <DIR>          ..
25.09.2023  15:33           214 381 checker-qual-3.5.0.jar
25.09.2023  13:14            75 847 postgis-jdbc-1.3.3.jar
25.09.2023  13:14             2 833 postgis-stubs-1.3.3.jar
25.09.2023  15:33         1 049 651 postgresql-42.5.4.jar
25.09.2023  13:14           474 746 postgresql-8.3-603.jdbc4.jar

Raivo


On Mon, Sep 25, 2023 at 3:38 PM Raivo Rebane <raivore55@gmail.com> wrote:
Hi, now I use -
  <dependencies>
    <dependency>
        <groupId>org.postgis</groupId>
        <artifactId>postgis-jdbc</artifactId>
        <version>1.3.3</version>
    </dependency>
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>42.5.4</version> <!-- Kasuta kõige uuemat versiooni -->
    </dependency>
  </dependencies>
But I got error -
Exception in thread "main" java.lang.NoSuchMethodError: 'org.postgresql.core.Encoding org.postgresql.core.BaseConnection.getEncoding()'
        at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getString(AbstractJdbc2ResultSet.java:1889)
        at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp(AbstractJdbc2ResultSet.java:438)
        at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp(AbstractJdbc2ResultSet.java:2406)
        at backendproject.BackendMain.main(BackendMain.java:64)

Whats wrong ?

Raivo

On Mon, Sep 25, 2023 at 3:26 PM Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
now I using following -
[INFO] Copying postgis-jdbc-2.1.7.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgis-jdbc-2.1.7.jar
[INFO] Copying postgresql-42.6.0.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgresql-42.6.0.jar
[INFO] Copying checker-qual-3.31.0.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\checker-qual-3.31.0.jar
but on executions I got -
Exception in thread "main" java.lang.NoClassDefFoundError: org/postgis/PGgeometry
        at backendproject.ProcQueryMushrooms.ProcQuery(ProcQueryMushrooms.java:41)
        at backendproject.BackendMain.main(BackendMain.java:81)
Caused by: java.lang.ClassNotFoundException: org.postgis.PGgeometry
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)

What I have to do ?

I use following -
PostgreSQL 15.2, compiled by Visual C++ build 1914, 64-bit
PostGIS  3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
Regards
Raivo

On Mon, Sep 25, 2023 at 2:29 PM Dave Cramer <davecramer@postgres.rocks> wrote:
Sorry 42.6.0

Interesting that github still has 42.5.4 as the release

Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 07:27, Dave Cramer <davecramer@postgres.rocks> wrote:
Hi,

The latest version of the driver is usually the right answer. So 42.5.4
Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 07:03, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
I use :
  PostgreSQL 15.2, compiled by Visual C++ build 1914, 64-bit
and
PostGIS  3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1

What versions of jdbc driver I have to use for proper work ?

Regards,
Raivo



Re: Right version of jdbc

From
Dave Cramer
Date:
remove the postgresql-8.3-603.jdbc4.jar
Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 08:43, Raivo Rebane <raivore55@gmail.com> wrote:
And target/lib is s following :
Directory of C:\Users\Raivo\eclipse-workspace\backendproject\target\lib

25.09.2023  15:35    <DIR>          .
25.09.2023  15:33    <DIR>          ..
25.09.2023  15:33           214 381 checker-qual-3.5.0.jar
25.09.2023  13:14            75 847 postgis-jdbc-1.3.3.jar
25.09.2023  13:14             2 833 postgis-stubs-1.3.3.jar
25.09.2023  15:33         1 049 651 postgresql-42.5.4.jar
25.09.2023  13:14           474 746 postgresql-8.3-603.jdbc4.jar

Raivo


On Mon, Sep 25, 2023 at 3:38 PM Raivo Rebane <raivore55@gmail.com> wrote:
Hi, now I use -
  <dependencies>
    <dependency>
        <groupId>org.postgis</groupId>
        <artifactId>postgis-jdbc</artifactId>
        <version>1.3.3</version>
    </dependency>
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>42.5.4</version> <!-- Kasuta kõige uuemat versiooni -->
    </dependency>
  </dependencies>
But I got error -
Exception in thread "main" java.lang.NoSuchMethodError: 'org.postgresql.core.Encoding org.postgresql.core.BaseConnection.getEncoding()'
        at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getString(AbstractJdbc2ResultSet.java:1889)
        at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp(AbstractJdbc2ResultSet.java:438)
        at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp(AbstractJdbc2ResultSet.java:2406)
        at backendproject.BackendMain.main(BackendMain.java:64)

Whats wrong ?

Raivo

On Mon, Sep 25, 2023 at 3:26 PM Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
now I using following -
[INFO] Copying postgis-jdbc-2.1.7.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgis-jdbc-2.1.7.jar
[INFO] Copying postgresql-42.6.0.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgresql-42.6.0.jar
[INFO] Copying checker-qual-3.31.0.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\checker-qual-3.31.0.jar
but on executions I got -
Exception in thread "main" java.lang.NoClassDefFoundError: org/postgis/PGgeometry
        at backendproject.ProcQueryMushrooms.ProcQuery(ProcQueryMushrooms.java:41)
        at backendproject.BackendMain.main(BackendMain.java:81)
Caused by: java.lang.ClassNotFoundException: org.postgis.PGgeometry
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)

What I have to do ?

I use following -
PostgreSQL 15.2, compiled by Visual C++ build 1914, 64-bit
PostGIS  3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
Regards
Raivo

On Mon, Sep 25, 2023 at 2:29 PM Dave Cramer <davecramer@postgres.rocks> wrote:
Sorry 42.6.0

Interesting that github still has 42.5.4 as the release

Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 07:27, Dave Cramer <davecramer@postgres.rocks> wrote:
Hi,

The latest version of the driver is usually the right answer. So 42.5.4
Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 07:03, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
I use :
  PostgreSQL 15.2, compiled by Visual C++ build 1914, 64-bit
and
PostGIS  3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1

What versions of jdbc driver I have to use for proper work ?

Regards,
Raivo



Re: Right version of jdbc

From
Dave Cramer
Date:
It must be a dependency to something. postgis ?


Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 09:25, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
postgresql-8.3-603.jdbc4.jar is added by maven maven install. How to avoid it ?

Re: Right version of jdbc

From
Rob Sargent
Date:
On 9/25/23 06:38, Raivo Rebane wrote:
> Hi, now I use -
>   <dependencies>
>     <dependency>
>         <groupId>org.postgis</groupId>
>         <artifactId>postgis-jdbc</artifactId>
>         <version>1.3.3</version>
>     </dependency>
>     <dependency>
>         <groupId>org.postgresql</groupId>
>         <artifactId>postgresql</artifactId>
>         <version>42.5.4</version> <!-- Kasuta kõige uuemat versiooni -->
>     </dependency>
>   </dependencies>
> But I got error -
> Exception in thread "main" java.lang.NoSuchMethodError: 
> 'org.postgresql.core.Encoding 
> org.postgresql.core.BaseConnection.getEncoding()'
>         at 
> org.postgresql.jdbc2.AbstractJdbc2ResultSet.getString(AbstractJdbc2ResultSet.java:1889)
>         at 
> org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp(AbstractJdbc2ResultSet.java:438)
>         at 
> org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp(AbstractJdbc2ResultSet.java:2406)
>         at backendproject.BackendMain.main(BackendMain.java:64)
>
> Whats wrong ?

Show your application CLASSPATH.




Re: Right version of jdbc

From
Dave Cramer
Date:
You should probably be using the latest version of postgis-jdbc


Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 08:43, Raivo Rebane <raivore55@gmail.com> wrote:
And target/lib is s following :
Directory of C:\Users\Raivo\eclipse-workspace\backendproject\target\lib

25.09.2023  15:35    <DIR>          .
25.09.2023  15:33    <DIR>          ..
25.09.2023  15:33           214 381 checker-qual-3.5.0.jar
25.09.2023  13:14            75 847 postgis-jdbc-1.3.3.jar
25.09.2023  13:14             2 833 postgis-stubs-1.3.3.jar
25.09.2023  15:33         1 049 651 postgresql-42.5.4.jar
25.09.2023  13:14           474 746 postgresql-8.3-603.jdbc4.jar

Raivo


On Mon, Sep 25, 2023 at 3:38 PM Raivo Rebane <raivore55@gmail.com> wrote:
Hi, now I use -
  <dependencies>
    <dependency>
        <groupId>org.postgis</groupId>
        <artifactId>postgis-jdbc</artifactId>
        <version>1.3.3</version>
    </dependency>
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>42.5.4</version> <!-- Kasuta kõige uuemat versiooni -->
    </dependency>
  </dependencies>
But I got error -
Exception in thread "main" java.lang.NoSuchMethodError: 'org.postgresql.core.Encoding org.postgresql.core.BaseConnection.getEncoding()'
        at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getString(AbstractJdbc2ResultSet.java:1889)
        at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp(AbstractJdbc2ResultSet.java:438)
        at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp(AbstractJdbc2ResultSet.java:2406)
        at backendproject.BackendMain.main(BackendMain.java:64)

Whats wrong ?

Raivo

On Mon, Sep 25, 2023 at 3:26 PM Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
now I using following -
[INFO] Copying postgis-jdbc-2.1.7.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgis-jdbc-2.1.7.jar
[INFO] Copying postgresql-42.6.0.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgresql-42.6.0.jar
[INFO] Copying checker-qual-3.31.0.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\checker-qual-3.31.0.jar
but on executions I got -
Exception in thread "main" java.lang.NoClassDefFoundError: org/postgis/PGgeometry
        at backendproject.ProcQueryMushrooms.ProcQuery(ProcQueryMushrooms.java:41)
        at backendproject.BackendMain.main(BackendMain.java:81)
Caused by: java.lang.ClassNotFoundException: org.postgis.PGgeometry
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)

What I have to do ?

I use following -
PostgreSQL 15.2, compiled by Visual C++ build 1914, 64-bit
PostGIS  3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
Regards
Raivo

On Mon, Sep 25, 2023 at 2:29 PM Dave Cramer <davecramer@postgres.rocks> wrote:
Sorry 42.6.0

Interesting that github still has 42.5.4 as the release

Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 07:27, Dave Cramer <davecramer@postgres.rocks> wrote:
Hi,

The latest version of the driver is usually the right answer. So 42.5.4
Dave Cramer
www.postgres.rocks


On Mon, 25 Sept 2023 at 07:03, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
I use :
  PostgreSQL 15.2, compiled by Visual C++ build 1914, 64-bit
and
PostGIS  3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1

What versions of jdbc driver I have to use for proper work ?

Regards,
Raivo



Re: Right version of jdbc

From
Dave Cramer
Date:
First of all please use reply all so that everyone sees the answers.


I suggest at this point you provide a test project on github that you can share.

There is something wrong with the classpath

Dave Cramer
www.postgres.rocks


On Wed, 27 Sept 2023 at 01:52, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
Thanks for response, but if I using following dependencies :

<dependencies>

<dependency>

<groupId>net.postgis</groupId>

<artifactId>postgis-jdbc</artifactId>

<version>2021.1.0</version>

</dependency>

<dependency>

<groupId>org.postgresql</groupId>

<artifactId>postgresql</artifactId>

<version>42.6.0</version> <!-- Kasuta kõige uuemat versiooni -->

</dependency>

</dependencies>

I have error :

The type org.postgresql.util.PGobject cannot be resolved. It is indirectly referenced from required type org.postgis.PGgeometry


What is wrong with me ?


Raivo

Re: Right version of jdbc

From
Raivo Rebane
Date:
Hi,

I made a new Java application Eclipse Dynamic WEB application and want to use Postgres - PostgreSQL 10.14 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0, 64-bit and Postgis - 2.4 USE_GEOS=1 USE_PROJ=1 USE_STATS=1.

I added some jdbc-s in my project webapps/WEB-INF/lib directory which now contains - javax.servlet-api.jar  postgis-jdbc-2.2.1.jar  postgresql-42.2.5.jre7.jar.

But they don't fit the needs and I got from tomcat -
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/mushroom_database
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
at MushroomAPIs.AddMushrooms.doGet(AddMushrooms.java:30)

What's wrong. Or is better to use more newer postgres. And then which jdbc-I need to use ?

Regards
Raivo



On Wed, Sep 27, 2023 at 12:43 PM Dave Cramer <davecramer@postgres.rocks> wrote:
First of all please use reply all so that everyone sees the answers.


I suggest at this point you provide a test project on github that you can share.

There is something wrong with the classpath

Dave Cramer
www.postgres.rocks


On Wed, 27 Sept 2023 at 01:52, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
Thanks for response, but if I using following dependencies :

<dependencies>

<dependency>

<groupId>net.postgis</groupId>

<artifactId>postgis-jdbc</artifactId>

<version>2021.1.0</version>

</dependency>

<dependency>

<groupId>org.postgresql</groupId>

<artifactId>postgresql</artifactId>

<version>42.6.0</version> <!-- Kasuta kõige uuemat versiooni -->

</dependency>

</dependencies>

I have error :

The type org.postgresql.util.PGobject cannot be resolved. It is indirectly referenced from required type org.postgis.PGgeometry


What is wrong with me ?


Raivo

Re: Right version of jdbc

From
Dave Cramer
Date:

Dave Cramer
www.postgres.rocks


On Thu, 28 Sept 2023 at 02:18, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,

I made a new Java application Eclipse Dynamic WEB application and want to use Postgres - PostgreSQL 10.14 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0, 64-bit and Postgis - 2.4 USE_GEOS=1 USE_PROJ=1 USE_STATS=1.

I added some jdbc-s in my project webapps/WEB-INF/lib directory which now contains - javax.servlet-api.jar  postgis-jdbc-2.2.1.jar  postgresql-42.2.5.jre7.jar.

  postgresql-42.2.5.jre7.jar. is for java 7. 
I suggest you use the latest versions of postgis and postgres jdbc

Dave

But they don't fit the needs and I got from tomcat -
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/mushroom_database
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
at MushroomAPIs.AddMushrooms.doGet(AddMushrooms.java:30)

What's wrong. Or is better to use more newer postgres. And then which jdbc-I need to use ?

Regards
Raivo



On Wed, Sep 27, 2023 at 12:43 PM Dave Cramer <davecramer@postgres.rocks> wrote:
First of all please use reply all so that everyone sees the answers.


I suggest at this point you provide a test project on github that you can share.

There is something wrong with the classpath

Dave Cramer
www.postgres.rocks


On Wed, 27 Sept 2023 at 01:52, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
Thanks for response, but if I using following dependencies :

<dependencies>

<dependency>

<groupId>net.postgis</groupId>

<artifactId>postgis-jdbc</artifactId>

<version>2021.1.0</version>

</dependency>

<dependency>

<groupId>org.postgresql</groupId>

<artifactId>postgresql</artifactId>

<version>42.6.0</version> <!-- Kasuta kõige uuemat versiooni -->

</dependency>

</dependencies>

I have error :

The type org.postgresql.util.PGobject cannot be resolved. It is indirectly referenced from required type org.postgis.PGgeometry


What is wrong with me ?


Raivo

Re: Right version of jdbc

From
Raivo Rebane
Date:
Now I changed the Postgres Server to version 15 and making Tomcat 9.0 project.
Now I am using postgresql-42.6.0.jar driver, but Tomcat gives error :
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/mushroom_database
What driver I have to use for suitable driver.
Or must I downgrade my postgres version ?

Regards
Raivo

On Thu, Sep 28, 2023 at 12:32 PM Dave Cramer <davecramer@postgres.rocks> wrote:

Dave Cramer
www.postgres.rocks


On Thu, 28 Sept 2023 at 02:18, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,

I made a new Java application Eclipse Dynamic WEB application and want to use Postgres - PostgreSQL 10.14 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0, 64-bit and Postgis - 2.4 USE_GEOS=1 USE_PROJ=1 USE_STATS=1.

I added some jdbc-s in my project webapps/WEB-INF/lib directory which now contains - javax.servlet-api.jar  postgis-jdbc-2.2.1.jar  postgresql-42.2.5.jre7.jar.

  postgresql-42.2.5.jre7.jar. is for java 7. 
I suggest you use the latest versions of postgis and postgres jdbc

Dave

But they don't fit the needs and I got from tomcat -
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/mushroom_database
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
at MushroomAPIs.AddMushrooms.doGet(AddMushrooms.java:30)

What's wrong. Or is better to use more newer postgres. And then which jdbc-I need to use ?

Regards
Raivo



On Wed, Sep 27, 2023 at 12:43 PM Dave Cramer <davecramer@postgres.rocks> wrote:
First of all please use reply all so that everyone sees the answers.


I suggest at this point you provide a test project on github that you can share.

There is something wrong with the classpath

Dave Cramer
www.postgres.rocks


On Wed, 27 Sept 2023 at 01:52, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
Thanks for response, but if I using following dependencies :

<dependencies>

<dependency>

<groupId>net.postgis</groupId>

<artifactId>postgis-jdbc</artifactId>

<version>2021.1.0</version>

</dependency>

<dependency>

<groupId>org.postgresql</groupId>

<artifactId>postgresql</artifactId>

<version>42.6.0</version> <!-- Kasuta kõige uuemat versiooni -->

</dependency>

</dependencies>

I have error :

The type org.postgresql.util.PGobject cannot be resolved. It is indirectly referenced from required type org.postgis.PGgeometry


What is wrong with me ?


Raivo

Re: Right version of jdbc

From
Rob Sargent
Date:
On 9/28/23 09:41, Raivo Rebane wrote:
> Now I changed the Postgres Server to version 15 and making Tomcat 9.0 
> project.
> Now I am using postgresql-42.6.0.jar driver, but Tomcat gives error :
> java.sql.SQLException: No suitable driver found for 
> jdbc:postgresql://localhost:5432/mushroom_database
> What driver I have to use for suitable driver.
> Or must I downgrade my postgres version ?
>

Can you show the code you use to make the database connection?





Re: Right version of jdbc

From
Raivo Rebane
Date:
Or may be I am using wrong version of Java - java version "17.0.8" 2023-07-18 LTS

Raivo

On Thu, Sep 28, 2023 at 6:41 PM Raivo Rebane <raivore55@gmail.com> wrote:
Now I changed the Postgres Server to version 15 and making Tomcat 9.0 project.
Now I am using postgresql-42.6.0.jar driver, but Tomcat gives error :
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/mushroom_database
What driver I have to use for suitable driver.
Or must I downgrade my postgres version ?

Regards
Raivo

On Thu, Sep 28, 2023 at 12:32 PM Dave Cramer <davecramer@postgres.rocks> wrote:

Dave Cramer
www.postgres.rocks


On Thu, 28 Sept 2023 at 02:18, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,

I made a new Java application Eclipse Dynamic WEB application and want to use Postgres - PostgreSQL 10.14 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0, 64-bit and Postgis - 2.4 USE_GEOS=1 USE_PROJ=1 USE_STATS=1.

I added some jdbc-s in my project webapps/WEB-INF/lib directory which now contains - javax.servlet-api.jar  postgis-jdbc-2.2.1.jar  postgresql-42.2.5.jre7.jar.

  postgresql-42.2.5.jre7.jar. is for java 7. 
I suggest you use the latest versions of postgis and postgres jdbc

Dave

But they don't fit the needs and I got from tomcat -
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/mushroom_database
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
at MushroomAPIs.AddMushrooms.doGet(AddMushrooms.java:30)

What's wrong. Or is better to use more newer postgres. And then which jdbc-I need to use ?

Regards
Raivo



On Wed, Sep 27, 2023 at 12:43 PM Dave Cramer <davecramer@postgres.rocks> wrote:
First of all please use reply all so that everyone sees the answers.


I suggest at this point you provide a test project on github that you can share.

There is something wrong with the classpath

Dave Cramer
www.postgres.rocks


On Wed, 27 Sept 2023 at 01:52, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
Thanks for response, but if I using following dependencies :

<dependencies>

<dependency>

<groupId>net.postgis</groupId>

<artifactId>postgis-jdbc</artifactId>

<version>2021.1.0</version>

</dependency>

<dependency>

<groupId>org.postgresql</groupId>

<artifactId>postgresql</artifactId>

<version>42.6.0</version> <!-- Kasuta kõige uuemat versiooni -->

</dependency>

</dependencies>

I have error :

The type org.postgresql.util.PGobject cannot be resolved. It is indirectly referenced from required type org.postgis.PGgeometry


What is wrong with me ?


Raivo

Re: Right version of jdbc

From
Dave Cramer
Date:
Please put this project on github so we can see it.

Thanks
Dave Cramer
www.postgres.rocks


On Thu, 28 Sept 2023 at 11:53, Raivo Rebane <raivore55@gmail.com> wrote:
Or may be I am using wrong version of Java - java version "17.0.8" 2023-07-18 LTS

Raivo

On Thu, Sep 28, 2023 at 6:41 PM Raivo Rebane <raivore55@gmail.com> wrote:
Now I changed the Postgres Server to version 15 and making Tomcat 9.0 project.
Now I am using postgresql-42.6.0.jar driver, but Tomcat gives error :
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/mushroom_database
What driver I have to use for suitable driver.
Or must I downgrade my postgres version ?

Regards
Raivo

On Thu, Sep 28, 2023 at 12:32 PM Dave Cramer <davecramer@postgres.rocks> wrote:

Dave Cramer
www.postgres.rocks


On Thu, 28 Sept 2023 at 02:18, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,

I made a new Java application Eclipse Dynamic WEB application and want to use Postgres - PostgreSQL 10.14 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0, 64-bit and Postgis - 2.4 USE_GEOS=1 USE_PROJ=1 USE_STATS=1.

I added some jdbc-s in my project webapps/WEB-INF/lib directory which now contains - javax.servlet-api.jar  postgis-jdbc-2.2.1.jar  postgresql-42.2.5.jre7.jar.

  postgresql-42.2.5.jre7.jar. is for java 7. 
I suggest you use the latest versions of postgis and postgres jdbc

Dave

But they don't fit the needs and I got from tomcat -
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/mushroom_database
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
at MushroomAPIs.AddMushrooms.doGet(AddMushrooms.java:30)

What's wrong. Or is better to use more newer postgres. And then which jdbc-I need to use ?

Regards
Raivo



On Wed, Sep 27, 2023 at 12:43 PM Dave Cramer <davecramer@postgres.rocks> wrote:
First of all please use reply all so that everyone sees the answers.


I suggest at this point you provide a test project on github that you can share.

There is something wrong with the classpath

Dave Cramer
www.postgres.rocks


On Wed, 27 Sept 2023 at 01:52, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
Thanks for response, but if I using following dependencies :

<dependencies>

<dependency>

<groupId>net.postgis</groupId>

<artifactId>postgis-jdbc</artifactId>

<version>2021.1.0</version>

</dependency>

<dependency>

<groupId>org.postgresql</groupId>

<artifactId>postgresql</artifactId>

<version>42.6.0</version> <!-- Kasuta kõige uuemat versiooni -->

</dependency>

</dependencies>

I have error :

The type org.postgresql.util.PGobject cannot be resolved. It is indirectly referenced from required type org.postgis.PGgeometry


What is wrong with me ?


Raivo

Re: Right version of jdbc

From
Ron
Date:
On 9/28/23 01:18, Raivo Rebane wrote:
[snip]
I made a new Java application Eclipse Dynamic WEB application and want to use Postgres - PostgreSQL 10.14
[snip]
What's wrong. Or is better to use more newer postgres. And then which jdbc-I need to use ?

https://www.postgresql.org/support/versioning/

Pg 10 will be EOL in 6 weeks.  Thus, "yes, use a newer version of Postgresql" (unless, like me, you're constrained by circumstances like "the business won't let us upgrade").

Pg 15 and the latest JDBC are in the repositories: https://www.postgresql.org/download/

--
Born in Arizona, moved to Babylonia.

Re: Right version of jdbc

From
Raivo Rebane
Date:
Hi,

The code is :
package MushroomAPIs;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;

@WebServlet("/AddMushrooms")
public class AddMushrooms extends HttpServlet implements java.io.Serializable {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

final String DB_URL = "jdbc:postgresql://localhost:5432/mushroom_database";
final String USER = "mushroomer";
final String PASSWORD = "";

Connection connection = null;
Timestamp LastModifiedTS = Timestamp.valueOf("1970-01-01 00:00:00");

try {
connection = DriverManager.getConnection(DB_URL, USER, PASSWORD);

// SQL päring vanima timestamp-i leidmiseks
String query = "SELECT timestamp AS oldest_timestamp FROM mushrooms";
PreparedStatement statement = connection.prepareStatement(query);
ResultSet resultSet = statement.executeQuery();

while (resultSet.next()) {
Timestamp oldest_timestamp = resultSet.getTimestamp("oldest_timestamp");
if (oldest_timestamp.after(LastModifiedTS))
LastModifiedTS = oldest_timestamp;
}
System.out.println("Vanim timestamp: " + LastModifiedTS);

} catch (SQLException e) {
e.printStackTrace();
}

int count = ProcAddMushrooms.GetAddMushrooms(connection, LastModifiedTS);

response.getWriter().println("Added " + count + " mushrooms");
}
}
and available from github - https://github.com/raaivore/APIexperiment

May be somebody can help me to solve the problem ?

Raivo

On Fri, Sep 29, 2023 at 6:44 AM Ron <ronljohnsonjr@gmail.com> wrote:
On 9/28/23 01:18, Raivo Rebane wrote:
[snip]
I made a new Java application Eclipse Dynamic WEB application and want to use Postgres - PostgreSQL 10.14
[snip]
What's wrong. Or is better to use more newer postgres. And then which jdbc-I need to use ?

https://www.postgresql.org/support/versioning/

Pg 10 will be EOL in 6 weeks.  Thus, "yes, use a newer version of Postgresql" (unless, like me, you're constrained by circumstances like "the business won't let us upgrade").

Pg 15 and the latest JDBC are in the repositories: https://www.postgresql.org/download/

--
Born in Arizona, moved to Babylonia.

Re: Right version of jdbc

From
Dave Cramer
Date:

Dave Cramer
www.postgres.rocks


On Fri, 29 Sept 2023 at 06:19, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,

The code is :
package MushroomAPIs;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;

@WebServlet("/AddMushrooms")
public class AddMushrooms extends HttpServlet implements java.io.Serializable {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

final String DB_URL = "jdbc:postgresql://localhost:5432/mushroom_database";
final String USER = "mushroomer";
final String PASSWORD = "";

Connection connection = null;
Timestamp LastModifiedTS = Timestamp.valueOf("1970-01-01 00:00:00");

try {
connection = DriverManager.getConnection(DB_URL, USER, PASSWORD);

// SQL päring vanima timestamp-i leidmiseks
String query = "SELECT timestamp AS oldest_timestamp FROM mushrooms";
PreparedStatement statement = connection.prepareStatement(query);
ResultSet resultSet = statement.executeQuery();

while (resultSet.next()) {
Timestamp oldest_timestamp = resultSet.getTimestamp("oldest_timestamp");
if (oldest_timestamp.after(LastModifiedTS))
LastModifiedTS = oldest_timestamp;
}
System.out.println("Vanim timestamp: " + LastModifiedTS);

} catch (SQLException e) {
e.printStackTrace();
}

int count = ProcAddMushrooms.GetAddMushrooms(connection, LastModifiedTS);

response.getWriter().println("Added " + count + " mushrooms");
}
}
and available from github - https://github.com/raaivore/APIexperiment

May be somebody can help me to solve the problem ?

Raivo

On Fri, Sep 29, 2023 at 6:44 AM Ron <ronljohnsonjr@gmail.com> wrote:
On 9/28/23 01:18, Raivo Rebane wrote:
[snip]
I made a new Java application Eclipse Dynamic WEB application and want to use Postgres - PostgreSQL 10.14
[snip]
What's wrong. Or is better to use more newer postgres. And then which jdbc-I need to use ?

https://www.postgresql.org/support/versioning/

Pg 10 will be EOL in 6 weeks.  Thus, "yes, use a newer version of Postgresql" (unless, like me, you're constrained by circumstances like "the business won't let us upgrade").

Pg 15 and the latest JDBC are in the repositories: https://www.postgresql.org/download/ 
--
Born in Arizona, moved to Babylonia.



I loaded your project in IDEA and it was referring to jdk1.7 
It also looks like you still have the postgis-geometry-2.5.0.jar in the webapp/lib dir remove it

Dave 

Re: Right version of jdbc

From
Raivo Rebane
Date:
I removed this recommended jar.
I am using Eclipse and there Java 1.8 is setted.
What I have to do ?

Raivo

On Fri, Sep 29, 2023 at 2:05 PM Dave Cramer <davecramer@postgres.rocks> wrote:

Dave Cramer
www.postgres.rocks


On Fri, 29 Sept 2023 at 06:19, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,

The code is :
package MushroomAPIs;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;

@WebServlet("/AddMushrooms")
public class AddMushrooms extends HttpServlet implements java.io.Serializable {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

final String DB_URL = "jdbc:postgresql://localhost:5432/mushroom_database";
final String USER = "mushroomer";
final String PASSWORD = "";

Connection connection = null;
Timestamp LastModifiedTS = Timestamp.valueOf("1970-01-01 00:00:00");

try {
connection = DriverManager.getConnection(DB_URL, USER, PASSWORD);

// SQL päring vanima timestamp-i leidmiseks
String query = "SELECT timestamp AS oldest_timestamp FROM mushrooms";
PreparedStatement statement = connection.prepareStatement(query);
ResultSet resultSet = statement.executeQuery();

while (resultSet.next()) {
Timestamp oldest_timestamp = resultSet.getTimestamp("oldest_timestamp");
if (oldest_timestamp.after(LastModifiedTS))
LastModifiedTS = oldest_timestamp;
}
System.out.println("Vanim timestamp: " + LastModifiedTS);

} catch (SQLException e) {
e.printStackTrace();
}

int count = ProcAddMushrooms.GetAddMushrooms(connection, LastModifiedTS);

response.getWriter().println("Added " + count + " mushrooms");
}
}
and available from github - https://github.com/raaivore/APIexperiment

May be somebody can help me to solve the problem ?

Raivo

On Fri, Sep 29, 2023 at 6:44 AM Ron <ronljohnsonjr@gmail.com> wrote:
On 9/28/23 01:18, Raivo Rebane wrote:
[snip]
I made a new Java application Eclipse Dynamic WEB application and want to use Postgres - PostgreSQL 10.14
[snip]
What's wrong. Or is better to use more newer postgres. And then which jdbc-I need to use ?

https://www.postgresql.org/support/versioning/

Pg 10 will be EOL in 6 weeks.  Thus, "yes, use a newer version of Postgresql" (unless, like me, you're constrained by circumstances like "the business won't let us upgrade").

Pg 15 and the latest JDBC are in the repositories: https://www.postgresql.org/download/ 
--
Born in Arizona, moved to Babylonia.



I loaded your project in IDEA and it was referring to jdk1.7 
It also looks like you still have the postgis-geometry-2.5.0.jar in the webapp/lib dir remove it

Dave 
Attachment

Re: Right version of jdbc

From
Raivo Rebane
Date:
Thanks,

there was really JDK 17 in use.
I changed it to Java 1.8
PS C:\Program Files\Apache Software Foundation\Tomcat 9.0\bin> java -version
java version "1.8.0_381"
Java(TM) SE Runtime Environment (build 1.8.0_381-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.381-b09, mixed mode)

but the same error occured :
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/mushroom_database
        at java.sql.DriverManager.getConnection(DriverManager.java:689)
        at java.sql.DriverManager.getConnection(DriverManager.java:247)
        at MushroomAPIs.AddMushrooms.doGet(AddMushrooms.java:30)
 why  java.sql gives that error ?

Raivo

On Fri, Sep 29, 2023 at 4:03 PM Raivo Rebane <raivore55@gmail.com> wrote:
I removed this recommended jar.
I am using Eclipse and there Java 1.8 is setted.
What I have to do ?

Raivo

On Fri, Sep 29, 2023 at 2:05 PM Dave Cramer <davecramer@postgres.rocks> wrote:

Dave Cramer
www.postgres.rocks


On Fri, 29 Sept 2023 at 06:19, Raivo Rebane <raivore55@gmail.com> wrote:
Hi,

The code is :
package MushroomAPIs;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;

@WebServlet("/AddMushrooms")
public class AddMushrooms extends HttpServlet implements java.io.Serializable {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

final String DB_URL = "jdbc:postgresql://localhost:5432/mushroom_database";
final String USER = "mushroomer";
final String PASSWORD = "";

Connection connection = null;
Timestamp LastModifiedTS = Timestamp.valueOf("1970-01-01 00:00:00");

try {
connection = DriverManager.getConnection(DB_URL, USER, PASSWORD);

// SQL päring vanima timestamp-i leidmiseks
String query = "SELECT timestamp AS oldest_timestamp FROM mushrooms";
PreparedStatement statement = connection.prepareStatement(query);
ResultSet resultSet = statement.executeQuery();

while (resultSet.next()) {
Timestamp oldest_timestamp = resultSet.getTimestamp("oldest_timestamp");
if (oldest_timestamp.after(LastModifiedTS))
LastModifiedTS = oldest_timestamp;
}
System.out.println("Vanim timestamp: " + LastModifiedTS);

} catch (SQLException e) {
e.printStackTrace();
}

int count = ProcAddMushrooms.GetAddMushrooms(connection, LastModifiedTS);

response.getWriter().println("Added " + count + " mushrooms");
}
}
and available from github - https://github.com/raaivore/APIexperiment

May be somebody can help me to solve the problem ?

Raivo

On Fri, Sep 29, 2023 at 6:44 AM Ron <ronljohnsonjr@gmail.com> wrote:
On 9/28/23 01:18, Raivo Rebane wrote:
[snip]
I made a new Java application Eclipse Dynamic WEB application and want to use Postgres - PostgreSQL 10.14
[snip]
What's wrong. Or is better to use more newer postgres. And then which jdbc-I need to use ?

https://www.postgresql.org/support/versioning/

Pg 10 will be EOL in 6 weeks.  Thus, "yes, use a newer version of Postgresql" (unless, like me, you're constrained by circumstances like "the business won't let us upgrade").

Pg 15 and the latest JDBC are in the repositories: https://www.postgresql.org/download/ 
--
Born in Arizona, moved to Babylonia.



I loaded your project in IDEA and it was referring to jdk1.7 
It also looks like you still have the postgis-geometry-2.5.0.jar in the webapp/lib dir remove it

Dave 

Re: Right version of jdbc

From
Dave Cramer
Date:


On Fri, 29 Sept 2023 at 14:22, Raivo Rebane <raivore55@gmail.com> wrote:
Thanks,

there was really JDK 17 in use.
I changed it to Java 1.8
PS C:\Program Files\Apache Software Foundation\Tomcat 9.0\bin> java -version
java version "1.8.0_381"
Java(TM) SE Runtime Environment (build 1.8.0_381-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.381-b09, mixed mode)

but the same error occured :
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/mushroom_database
        at java.sql.DriverManager.getConnection(DriverManager.java:689)
        at java.sql.DriverManager.getConnection(DriverManager.java:247)
        at MushroomAPIs.AddMushrooms.doGet(AddMushrooms.java:30)
 why  java.sql gives that error ?

for some reason the postgresql jar is not in the classpath.

Dave

Re: Right version of jdbc

From
postgresql439848@heinz-it.de
Date:
Am 29.09.23 um 20:42 schrieb Dave Cramer:
> On Fri, 29 Sept 2023 at 14:22, Raivo Rebane <raivore55@gmail.com> wrote:
>
>> Thanks,
>>
>> there was really JDK 17 in use.
>> I changed it to Java 1.8
>> PS C:\Program Files\Apache Software Foundation\Tomcat 9.0\bin> java
>> -version
>> java version "1.8.0_381"
>> Java(TM) SE Runtime Environment (build 1.8.0_381-b09)
>> Java HotSpot(TM) 64-Bit Server VM (build 25.381-b09, mixed mode)
>>
>> but the same error occured :
>> java.sql.SQLException: No suitable driver found for
>> jdbc:postgresql://localhost:5432/mushroom_database
>>          at java.sql.DriverManager.getConnection(DriverManager.java:689)
>>          at java.sql.DriverManager.getConnection(DriverManager.java:247)
>>          at MushroomAPIs.AddMushrooms.doGet(AddMushrooms.java:30)
>>   why  java.sql gives that error ?
>>
> for some reason the postgresql jar is not in the classpath.
>
> Dave
try to call "Class.forName("org.postgresql.Driver");" before "connection 
= DriverManager.getConnection(DB_URL, USER, PASSWORD);"
i had some issues with getConnection() some time ago and this was the 
solution. no idea why.



Re: Right version of jdbc

From
Craig McIlwee
Date:
> for some reason the postgresql jar is not in the classpath.

This is due to the way that Tomcat loads drivers, which is documented at [1].  In short, the JDBC driver should be placed in the tomcat/lib directory and removed from the application's WEB-INF/lib directory.  After doing that, I was able to get past the "No suitable driver" exception.

OP, you should read that entire page, and in particular the portion at [2].  By registering a "Resource" with Tomcat, you can let it manage a connection pool for you (if you aren't already using something like PgBouncer or pgpool) and, if registered at the container level, in the future you can share that pool across all of your web applications in the container.


Craig

Re: Right version of jdbc

From
Raivo Rebane
Date:
Hi,
I copied the postgres driver to Tomcat/lib.
PS C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib> dir post*
    Directory: C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        28.09.2023     14:40        1081604 postgresql-42.6.0.jar
but Tomcat remains to give error -
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/mushroom_database
I am using Postgres 15. May be I have to use more older one ?
 

Raivo

On Sat, Sep 30, 2023 at 6:32 AM Craig McIlwee <craigm@vt.edu> wrote:
> for some reason the postgresql jar is not in the classpath.

This is due to the way that Tomcat loads drivers, which is documented at [1].  In short, the JDBC driver should be placed in the tomcat/lib directory and removed from the application's WEB-INF/lib directory.  After doing that, I was able to get past the "No suitable driver" exception.

OP, you should read that entire page, and in particular the portion at [2].  By registering a "Resource" with Tomcat, you can let it manage a connection pool for you (if you aren't already using something like PgBouncer or pgpool) and, if registered at the container level, in the future you can share that pool across all of your web applications in the container.


Craig

Re: Right version of jdbc

From
Raivo Rebane
Date:
May be I have to copy PostGis draiver also to tomcat/lib ?

Raivo

On Sat, Sep 30, 2023 at 8:01 AM Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
I copied the postgres driver to Tomcat/lib.
PS C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib> dir post*
    Directory: C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        28.09.2023     14:40        1081604 postgresql-42.6.0.jar
but Tomcat remains to give error -
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/mushroom_database
I am using Postgres 15. May be I have to use more older one ?
 

Raivo

On Sat, Sep 30, 2023 at 6:32 AM Craig McIlwee <craigm@vt.edu> wrote:
> for some reason the postgresql jar is not in the classpath.

This is due to the way that Tomcat loads drivers, which is documented at [1].  In short, the JDBC driver should be placed in the tomcat/lib directory and removed from the application's WEB-INF/lib directory.  After doing that, I was able to get past the "No suitable driver" exception.

OP, you should read that entire page, and in particular the portion at [2].  By registering a "Resource" with Tomcat, you can let it manage a connection pool for you (if you aren't already using something like PgBouncer or pgpool) and, if registered at the container level, in the future you can share that pool across all of your web applications in the container.


Craig

Re: Right version of jdbc

From
Raivo Rebane
Date:
Sorry. I accidentally usin postgres 16, which was empty
Many thanks for advise !!!

Raivo

On Sat, Sep 30, 2023 at 8:18 AM Raivo Rebane <raivore55@gmail.com> wrote:
May be I have to copy PostGis draiver also to tomcat/lib ?

Raivo

On Sat, Sep 30, 2023 at 8:01 AM Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
I copied the postgres driver to Tomcat/lib.
PS C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib> dir post*
    Directory: C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        28.09.2023     14:40        1081604 postgresql-42.6.0.jar
but Tomcat remains to give error -
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/mushroom_database
I am using Postgres 15. May be I have to use more older one ?
 

Raivo

On Sat, Sep 30, 2023 at 6:32 AM Craig McIlwee <craigm@vt.edu> wrote:
> for some reason the postgresql jar is not in the classpath.

This is due to the way that Tomcat loads drivers, which is documented at [1].  In short, the JDBC driver should be placed in the tomcat/lib directory and removed from the application's WEB-INF/lib directory.  After doing that, I was able to get past the "No suitable driver" exception.

OP, you should read that entire page, and in particular the portion at [2].  By registering a "Resource" with Tomcat, you can let it manage a connection pool for you (if you aren't already using something like PgBouncer or pgpool) and, if registered at the container level, in the future you can share that pool across all of your web applications in the container.


Craig

Re: Right version of jdbc

From
Raivo Rebane
Date:
Hi,
sometimes I am lucky and don't get the old error, but sometime not.

I tried to use PreparedStatement, but I got error -
org.postgresql.util.PSQLException: Can't use query methods that take a query string on a PreparedStatement.
        at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:145)
        at MushroomAPIs.Clean.deleteAllRecordsFromTable(Clean.java:34)
 and java code is -

String deleteQuery = "DELETE FROM " + tableNam

System.out.println(deleteQuery);

PreparedStatement statement = connection.prepareStatement(deleteQuery);

May be it's easy for me to use normal statement ?


Raivo



On Sat, Sep 30, 2023 at 8:27 AM Raivo Rebane <raivore55@gmail.com> wrote:
Sorry. I accidentally usin postgres 16, which was empty
Many thanks for advise !!!

Raivo

On Sat, Sep 30, 2023 at 8:18 AM Raivo Rebane <raivore55@gmail.com> wrote:
May be I have to copy PostGis draiver also to tomcat/lib ?

Raivo

On Sat, Sep 30, 2023 at 8:01 AM Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
I copied the postgres driver to Tomcat/lib.
PS C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib> dir post*
    Directory: C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        28.09.2023     14:40        1081604 postgresql-42.6.0.jar
but Tomcat remains to give error -
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/mushroom_database
I am using Postgres 15. May be I have to use more older one ?
 

Raivo

On Sat, Sep 30, 2023 at 6:32 AM Craig McIlwee <craigm@vt.edu> wrote:
> for some reason the postgresql jar is not in the classpath.

This is due to the way that Tomcat loads drivers, which is documented at [1].  In short, the JDBC driver should be placed in the tomcat/lib directory and removed from the application's WEB-INF/lib directory.  After doing that, I was able to get past the "No suitable driver" exception.

OP, you should read that entire page, and in particular the portion at [2].  By registering a "Resource" with Tomcat, you can let it manage a connection pool for you (if you aren't already using something like PgBouncer or pgpool) and, if registered at the container level, in the future you can share that pool across all of your web applications in the container.


Craig

Re: Right version of jdbc

From
Raivo Rebane
Date:
I fix previous error what was my bad knowledge,
But new error occur which is related to postgres postgis jars.
If You are kind to answer me more;

Java code is :

public static boolean CheckIsNewInMushrooms(Connection connection, Point AddLocation, String AddDescription) {

boolean IsNew = true;


try {

String sqlQuery = "SELECT location, description FROM mushrooms";

try (PreparedStatement preparedStatement = connection.prepareStatement(sqlQuery)) {

ResultSet resultSet = preparedStatement.executeQuery();


while (resultSet.next()) {

Point point = (Point) resultSet.getObject("location");

String description = resultSet.getString("description");


if (AddLocation.x == point.x && AddLocation.y == point.y && AddDescription.equals(description))

IsNew = false;

}

}

} catch (SQLException e) {

e.printStackTrace();

}


return IsNew;

}

and at line

Point point = (Point) resultSet.getObject("location");


java.lang.ClassCastException: org.postgresql.util.PGobject cannot be cast to org.postgis.Point
                at MushroomAPIs.ProcAddMushrooms.CheckIsNewInMushrooms(ProcAddMushrooms.java:45)
How to get Point from resultset ?
Is it related to postgis driver ?

Regards
Raivo 

On Sat, Sep 30, 2023 at 9:33 AM Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
sometimes I am lucky and don't get the old error, but sometime not.

I tried to use PreparedStatement, but I got error -
org.postgresql.util.PSQLException: Can't use query methods that take a query string on a PreparedStatement.
        at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:145)
        at MushroomAPIs.Clean.deleteAllRecordsFromTable(Clean.java:34)
 and java code is -

String deleteQuery = "DELETE FROM " + tableNam

System.out.println(deleteQuery);

PreparedStatement statement = connection.prepareStatement(deleteQuery);

May be it's easy for me to use normal statement ?


Raivo



On Sat, Sep 30, 2023 at 8:27 AM Raivo Rebane <raivore55@gmail.com> wrote:
Sorry. I accidentally usin postgres 16, which was empty
Many thanks for advise !!!

Raivo

On Sat, Sep 30, 2023 at 8:18 AM Raivo Rebane <raivore55@gmail.com> wrote:
May be I have to copy PostGis draiver also to tomcat/lib ?

Raivo

On Sat, Sep 30, 2023 at 8:01 AM Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
I copied the postgres driver to Tomcat/lib.
PS C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib> dir post*
    Directory: C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        28.09.2023     14:40        1081604 postgresql-42.6.0.jar
but Tomcat remains to give error -
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/mushroom_database
I am using Postgres 15. May be I have to use more older one ?
 

Raivo

On Sat, Sep 30, 2023 at 6:32 AM Craig McIlwee <craigm@vt.edu> wrote:
> for some reason the postgresql jar is not in the classpath.

This is due to the way that Tomcat loads drivers, which is documented at [1].  In short, the JDBC driver should be placed in the tomcat/lib directory and removed from the application's WEB-INF/lib directory.  After doing that, I was able to get past the "No suitable driver" exception.

OP, you should read that entire page, and in particular the portion at [2].  By registering a "Resource" with Tomcat, you can let it manage a connection pool for you (if you aren't already using something like PgBouncer or pgpool) and, if registered at the container level, in the future you can share that pool across all of your web applications in the container.


Craig

Re: Right version of jdbc

From
postgresql439848@heinz-it.de
Date:
Am 30.09.23 um 08:33 schrieb Raivo Rebane:
> Hi,
> sometimes I am lucky and don't get the old error, but sometime not.
>
> I tried to use PreparedStatement, but I got error -
> org.postgresql.util.PSQLException: Can't use query methods that take a
> query string on a PreparedStatement.
>          at
> org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:145)
>          at MushroomAPIs.Clean.deleteAllRecordsFromTable(Clean.java:34)
>   and java code is -
>
> String deleteQuery = "DELETE FROM " + tableNam
>
> System.out.println(deleteQuery);
>
> PreparedStatement statement = connection.prepareStatement(deleteQuery);
if your statement is already prepared with query, use 
statement.exequte(); or statement.executeQuery() without querystring;
if you have a new statement without query, use execute and such with 
query string.
>
> May be it's easy for me to use normal statement ?
>
>
> Raivo
>
>
> On Sat, Sep 30, 2023 at 8:27 AM Raivo Rebane <raivore55@gmail.com> wrote:
[snip]


Am 30.09.23 um 09:18 schrieb Raivo Rebane:
> I fix previous error what was my bad knowledge,
> But new error occur which is related to postgres postgis jars.
> If You are kind to answer me more;
>
> Java code is :
>
> public static boolean CheckIsNewInMushrooms(Connection connection, Point
> AddLocation, String AddDescription) {
>
> boolean IsNew = true;
>
>
> try {
>
> String sqlQuery = "SELECT location, description FROM mushrooms";
>
> try (PreparedStatement preparedStatement = connection.prepareStatement(
> sqlQuery)) {
>
> ResultSet resultSet = preparedStatement.executeQuery();
>
>
> while (resultSet.next()) {
>
> Point point = (Point) resultSet.getObject("location");
>
> String description = resultSet.getString("description");
>
>
> if (AddLocation.x == point.x && AddLocation.y == point.y && AddDescription
> .equals(description))
>
> IsNew = false;
>
> }
>
> }
>
> } catch (SQLException e) {
>
> e.printStackTrace();
>
> }
>
>
> return IsNew;
>
> }
>
> and at line
>
> Point point = (Point) resultSet.getObject("location");
>
>
> java.lang.ClassCastException: org.postgresql.util.PGobject cannot be cast
> to org.postgis.Point
>                  at
> MushroomAPIs.ProcAddMushrooms.CheckIsNewInMushrooms(ProcAddMushrooms.java:45)
> How to get Point from resultset ?
> Is it related to postgis driver ?
try another way to cast to Point.
look for the way over PGgeometry like here 
https://postgis.net/docs/manual-3.3/ch07.html#idm3092
>
> Regards
> Raivo



Re: Right version of jdbc

From
Raivo Rebane
Date:
It seems so, that if my WEB-INF/lib contains postgres driver then Tomcat gives - No suitable driver found

Raivo

On Sat, Sep 30, 2023 at 10:18 AM Raivo Rebane <raivore55@gmail.com> wrote:
I fix previous error what was my bad knowledge,
But new error occur which is related to postgres postgis jars.
If You are kind to answer me more;

Java code is :

public static boolean CheckIsNewInMushrooms(Connection connection, Point AddLocation, String AddDescription) {

boolean IsNew = true;


try {

String sqlQuery = "SELECT location, description FROM mushrooms";

try (PreparedStatement preparedStatement = connection.prepareStatement(sqlQuery)) {

ResultSet resultSet = preparedStatement.executeQuery();


while (resultSet.next()) {

Point point = (Point) resultSet.getObject("location");

String description = resultSet.getString("description");


if (AddLocation.x == point.x && AddLocation.y == point.y && AddDescription.equals(description))

IsNew = false;

}

}

} catch (SQLException e) {

e.printStackTrace();

}


return IsNew;

}

and at line

Point point = (Point) resultSet.getObject("location");


java.lang.ClassCastException: org.postgresql.util.PGobject cannot be cast to org.postgis.Point
                at MushroomAPIs.ProcAddMushrooms.CheckIsNewInMushrooms(ProcAddMushrooms.java:45)
How to get Point from resultset ?
Is it related to postgis driver ?

Regards
Raivo 

On Sat, Sep 30, 2023 at 9:33 AM Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
sometimes I am lucky and don't get the old error, but sometime not.

I tried to use PreparedStatement, but I got error -
org.postgresql.util.PSQLException: Can't use query methods that take a query string on a PreparedStatement.
        at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:145)
        at MushroomAPIs.Clean.deleteAllRecordsFromTable(Clean.java:34)
 and java code is -

String deleteQuery = "DELETE FROM " + tableNam

System.out.println(deleteQuery);

PreparedStatement statement = connection.prepareStatement(deleteQuery);

May be it's easy for me to use normal statement ?


Raivo



On Sat, Sep 30, 2023 at 8:27 AM Raivo Rebane <raivore55@gmail.com> wrote:
Sorry. I accidentally usin postgres 16, which was empty
Many thanks for advise !!!

Raivo

On Sat, Sep 30, 2023 at 8:18 AM Raivo Rebane <raivore55@gmail.com> wrote:
May be I have to copy PostGis draiver also to tomcat/lib ?

Raivo

On Sat, Sep 30, 2023 at 8:01 AM Raivo Rebane <raivore55@gmail.com> wrote:
Hi,
I copied the postgres driver to Tomcat/lib.
PS C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib> dir post*
    Directory: C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        28.09.2023     14:40        1081604 postgresql-42.6.0.jar
but Tomcat remains to give error -
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/mushroom_database
I am using Postgres 15. May be I have to use more older one ?
 

Raivo

On Sat, Sep 30, 2023 at 6:32 AM Craig McIlwee <craigm@vt.edu> wrote:
> for some reason the postgresql jar is not in the classpath.

This is due to the way that Tomcat loads drivers, which is documented at [1].  In short, the JDBC driver should be placed in the tomcat/lib directory and removed from the application's WEB-INF/lib directory.  After doing that, I was able to get past the "No suitable driver" exception.

OP, you should read that entire page, and in particular the portion at [2].  By registering a "Resource" with Tomcat, you can let it manage a connection pool for you (if you aren't already using something like PgBouncer or pgpool) and, if registered at the container level, in the future you can share that pool across all of your web applications in the container.


Craig

Re: Right version of jdbc

From
Raivo Rebane
Date:
Thanks for very much for help.
It seems that I can do the test project for new job.
In future I use help of chat.gpt

Regards
Raivo

On Sat, Sep 30, 2023 at 11:15 AM <postgresql439848@heinz-it.de> wrote:
Am 30.09.23 um 08:33 schrieb Raivo Rebane:
> Hi,
> sometimes I am lucky and don't get the old error, but sometime not.
>
> I tried to use PreparedStatement, but I got error -
> org.postgresql.util.PSQLException: Can't use query methods that take a
> query string on a PreparedStatement.
>          at
> org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:145)
>          at MushroomAPIs.Clean.deleteAllRecordsFromTable(Clean.java:34)
>   and java code is -
>
> String deleteQuery = "DELETE FROM " + tableNam
>
> System.out.println(deleteQuery);
>
> PreparedStatement statement = connection.prepareStatement(deleteQuery);
if your statement is already prepared with query, use
statement.exequte(); or statement.executeQuery() without querystring;
if you have a new statement without query, use execute and such with
query string.
>
> May be it's easy for me to use normal statement ?
>
>
> Raivo
>
>
> On Sat, Sep 30, 2023 at 8:27 AM Raivo Rebane <raivore55@gmail.com> wrote:
[snip]


Am 30.09.23 um 09:18 schrieb Raivo Rebane:
> I fix previous error what was my bad knowledge,
> But new error occur which is related to postgres postgis jars.
> If You are kind to answer me more;
>
> Java code is :
>
> public static boolean CheckIsNewInMushrooms(Connection connection, Point
> AddLocation, String AddDescription) {
>
> boolean IsNew = true;
>
>
> try {
>
> String sqlQuery = "SELECT location, description FROM mushrooms";
>
> try (PreparedStatement preparedStatement = connection.prepareStatement(
> sqlQuery)) {
>
> ResultSet resultSet = preparedStatement.executeQuery();
>
>
> while (resultSet.next()) {
>
> Point point = (Point) resultSet.getObject("location");
>
> String description = resultSet.getString("description");
>
>
> if (AddLocation.x == point.x && AddLocation.y == point.y && AddDescription
> .equals(description))
>
> IsNew = false;
>
> }
>
> }
>
> } catch (SQLException e) {
>
> e.printStackTrace();
>
> }
>
>
> return IsNew;
>
> }
>
> and at line
>
> Point point = (Point) resultSet.getObject("location");
>
>
> java.lang.ClassCastException: org.postgresql.util.PGobject cannot be cast
> to org.postgis.Point
>                  at
> MushroomAPIs.ProcAddMushrooms.CheckIsNewInMushrooms(ProcAddMushrooms.java:45)
> How to get Point from resultset ?
> Is it related to postgis driver ?
try another way to cast to Point.
look for the way over PGgeometry like here
https://postgis.net/docs/manual-3.3/ch07.html#idm3092
>
> Regards
> Raivo


Re: Right version of jdbc

From
Dave Cramer
Date:
Again, can you please post the solution so others can learn as well ?

Dave Cramer
www.postgres.rocks


On Sat, 30 Sept 2023 at 06:49, Raivo Rebane <raivore55@gmail.com> wrote:
Thanks for very much for help.
It seems that I can do the test project for new job.
In future I use help of chat.gpt

Regards
Raivo

On Sat, Sep 30, 2023 at 11:15 AM <postgresql439848@heinz-it.de> wrote:
Am 30.09.23 um 08:33 schrieb Raivo Rebane:
> Hi,
> sometimes I am lucky and don't get the old error, but sometime not.
>
> I tried to use PreparedStatement, but I got error -
> org.postgresql.util.PSQLException: Can't use query methods that take a
> query string on a PreparedStatement.
>          at
> org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:145)
>          at MushroomAPIs.Clean.deleteAllRecordsFromTable(Clean.java:34)
>   and java code is -
>
> String deleteQuery = "DELETE FROM " + tableNam
>
> System.out.println(deleteQuery);
>
> PreparedStatement statement = connection.prepareStatement(deleteQuery);
if your statement is already prepared with query, use
statement.exequte(); or statement.executeQuery() without querystring;
if you have a new statement without query, use execute and such with
query string.
>
> May be it's easy for me to use normal statement ?
>
>
> Raivo
>
>
> On Sat, Sep 30, 2023 at 8:27 AM Raivo Rebane <raivore55@gmail.com> wrote:
[snip]


Am 30.09.23 um 09:18 schrieb Raivo Rebane:
> I fix previous error what was my bad knowledge,
> But new error occur which is related to postgres postgis jars.
> If You are kind to answer me more;
>
> Java code is :
>
> public static boolean CheckIsNewInMushrooms(Connection connection, Point
> AddLocation, String AddDescription) {
>
> boolean IsNew = true;
>
>
> try {
>
> String sqlQuery = "SELECT location, description FROM mushrooms";
>
> try (PreparedStatement preparedStatement = connection.prepareStatement(
> sqlQuery)) {
>
> ResultSet resultSet = preparedStatement.executeQuery();
>
>
> while (resultSet.next()) {
>
> Point point = (Point) resultSet.getObject("location");
>
> String description = resultSet.getString("description");
>
>
> if (AddLocation.x == point.x && AddLocation.y == point.y && AddDescription
> .equals(description))
>
> IsNew = false;
>
> }
>
> }
>
> } catch (SQLException e) {
>
> e.printStackTrace();
>
> }
>
>
> return IsNew;
>
> }
>
> and at line
>
> Point point = (Point) resultSet.getObject("location");
>
>
> java.lang.ClassCastException: org.postgresql.util.PGobject cannot be cast
> to org.postgis.Point
>                  at
> MushroomAPIs.ProcAddMushrooms.CheckIsNewInMushrooms(ProcAddMushrooms.java:45)
> How to get Point from resultset ?
> Is it related to postgis driver ?
try another way to cast to Point.
look for the way over PGgeometry like here
https://postgis.net/docs/manual-3.3/ch07.html#idm3092
>
> Regards
> Raivo


Re: Right version of jdbc

From
Raivo Rebane
Date:
I have put it to github in the old place -  https://github.com/raaivore/APIexperiment.git

Raivo

On Sat, Sep 30, 2023 at 1:53 PM Dave Cramer <davecramer@postgres.rocks> wrote:
Again, can you please post the solution so others can learn as well ?

Dave Cramer
www.postgres.rocks


On Sat, 30 Sept 2023 at 06:49, Raivo Rebane <raivore55@gmail.com> wrote:
Thanks for very much for help.
It seems that I can do the test project for new job.
In future I use help of chat.gpt

Regards
Raivo

On Sat, Sep 30, 2023 at 11:15 AM <postgresql439848@heinz-it.de> wrote:
Am 30.09.23 um 08:33 schrieb Raivo Rebane:
> Hi,
> sometimes I am lucky and don't get the old error, but sometime not.
>
> I tried to use PreparedStatement, but I got error -
> org.postgresql.util.PSQLException: Can't use query methods that take a
> query string on a PreparedStatement.
>          at
> org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:145)
>          at MushroomAPIs.Clean.deleteAllRecordsFromTable(Clean.java:34)
>   and java code is -
>
> String deleteQuery = "DELETE FROM " + tableNam
>
> System.out.println(deleteQuery);
>
> PreparedStatement statement = connection.prepareStatement(deleteQuery);
if your statement is already prepared with query, use
statement.exequte(); or statement.executeQuery() without querystring;
if you have a new statement without query, use execute and such with
query string.
>
> May be it's easy for me to use normal statement ?
>
>
> Raivo
>
>
> On Sat, Sep 30, 2023 at 8:27 AM Raivo Rebane <raivore55@gmail.com> wrote:
[snip]


Am 30.09.23 um 09:18 schrieb Raivo Rebane:
> I fix previous error what was my bad knowledge,
> But new error occur which is related to postgres postgis jars.
> If You are kind to answer me more;
>
> Java code is :
>
> public static boolean CheckIsNewInMushrooms(Connection connection, Point
> AddLocation, String AddDescription) {
>
> boolean IsNew = true;
>
>
> try {
>
> String sqlQuery = "SELECT location, description FROM mushrooms";
>
> try (PreparedStatement preparedStatement = connection.prepareStatement(
> sqlQuery)) {
>
> ResultSet resultSet = preparedStatement.executeQuery();
>
>
> while (resultSet.next()) {
>
> Point point = (Point) resultSet.getObject("location");
>
> String description = resultSet.getString("description");
>
>
> if (AddLocation.x == point.x && AddLocation.y == point.y && AddDescription
> .equals(description))
>
> IsNew = false;
>
> }
>
> }
>
> } catch (SQLException e) {
>
> e.printStackTrace();
>
> }
>
>
> return IsNew;
>
> }
>
> and at line
>
> Point point = (Point) resultSet.getObject("location");
>
>
> java.lang.ClassCastException: org.postgresql.util.PGobject cannot be cast
> to org.postgis.Point
>                  at
> MushroomAPIs.ProcAddMushrooms.CheckIsNewInMushrooms(ProcAddMushrooms.java:45)
> How to get Point from resultset ?
> Is it related to postgis driver ?
try another way to cast to Point.
look for the way over PGgeometry like here
https://postgis.net/docs/manual-3.3/ch07.html#idm3092
>
> Regards
> Raivo