shp2pgsql generates fake fail full of zeroes
I am usingPS F:\3D-data\Kataster> shp2pgsql -g piirid SHP_KATASTRIYKSUS kataster > kataster.sql under Windows 10 And it’s output is full of zeroe Cygwin helps to find them out, Raivo@DESKTOP-69FUU49 /cygdrive/f/3D-data/Kataster$ cat kataster.sql | less S^@E^@T^@ ^@C^@L^@I^@E^@N^@T^@_^@E^@N^@C^@O^@D^@I^@N^@G^@ ^@T^@O^@ ^@U^@T^@F^@8^@;^@^M^@^@S^@E^@T^@ ^@S^@T^@A^@N^@D^@A^@R^@D^@_^@C^@O^@N^@F^@O^@R^@M^@I^@N^@G^@_^@S^@T^@R^@I^@N^@G^@S^@ ^@T^@O^@ ^@O^@N^@;^@^M^@^@B^@E^@G^@I^@N^@;^@^M^@^@C^@R^@E^@A^@T^@E^@ ^@T^@A^@B^@L^@E^@ ^@"^@k^@a^@t^@a^@s^@t^@e^@r^@"^@ ^@(^@g^@i^@d^@ ^@s^@e^@r^@i^@a^@l^@,^@^M^@^@"^@t^@u^@n^@n^@u^@s^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@2^@5^@)^@,^@^M^@^@"^@h^@k^@o^@o^@d^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@4^@)^@,^@^M^@^@"^@m^@k^@_^@n^@i^@m^@i^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@1^@0^@0^@)^@,^@^M^@^@"^@o^@v^@_^@n^@i^@m^@i^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@1^@0^@0^@)^@,^@^M^@^@"^@a^@y^@_^@n^@i^@m^@i^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@1^@0^@0^@)^@,^@^M^@^@"^@l^@_^@a^@a^@d^@r^@e^@s^@s^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@2^@4^@0^@)^@,^@^M^@^@"^@r^@e^@g^@i^@s^@t^@r^@"^@ ^@d^@a^@t^@e^@,^@^M^@^@"^@m^@u^@u^@d^@e^@t^@"^@ ^@d^@a^@t^@e^@,^@^M^@^@"^@s^@i^@h^@t^@1^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@4^@5^@)^@,^@^M^@^@"^@s^@i^@h^@t^@2^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@4^@5^@)^@,^@^M^@^@"^@s^@i^@h^@t^@3^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@4^@5 How to generate proper sql output Regards Raivo Sent from Mail for Windows
shp2pgsql error under windows
Hi I am usingPS F:\3D-data\Kataster> shp2pgsql -g piirid SHP_KATASTRIYKSUS kataster > kataster.sql under Windows 10 And it’s output is full of zeroe Cygwin helps to find them out, Raivo@DESKTOP-69FUU49 /cygdrive/f/3D-data/Kataster $ cat kataster.sql | less S^@E^@T^@ ^@C^@L^@I^@E^@N^@T^@_^@E^@N^@C^@O^@D^@I^@N^@G^@ ^@T^@O^@ ^@U^@T^@F^@8^@;^@^M^@ ^@S^@E^@T^@ ^@S^@T^@A^@N^@D^@A^@R^@D^@_^@C^@O^@N^@F^@O^@R^@M^@I^@N^@G^@_^@S^@T^@R^@I^@N^@G^@S^@ ^@T^@O^@ ^@O^@N^@;^@^M^@ ^@B^@E^@G^@I^@N^@;^@^M^@ ^@C^@R^@E^@A^@T^@E^@ ^@T^@A^@B^@L^@E^@ ^@"^@k^@a^@t^@a^@s^@t^@e^@r^@"^@ ^@(^@g^@i^@d^@ ^@s^@e^@r^@i^@a^@l^@,^@^M^@ ^@"^@t^@u^@n^@n^@u^@s^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@2^@5^@)^@,^@^M^@ ^@"^@h^@k^@o^@o^@d^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@4^@)^@,^@^M^@ ^@"^@m^@k^@_^@n^@i^@m^@i^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@1^@0^@0^@)^@,^@^M^@ ^@"^@o^@v^@_^@n^@i^@m^@i^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@1^@0^@0^@)^@,^@^M^@ ^@"^@a^@y^@_^@n^@i^@m^@i^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@1^@0^@0^@)^@,^@^M^@ ^@"^@l^@_^@a^@a^@d^@r^@e^@s^@s^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@2^@4^@0^@)^@,^@^M^@ ^@"^@r^@e^@g^@i^@s^@t^@r^@"^@ ^@d^@a^@t^@e^@,^@^M^@ ^@"^@m^@u^@u^@d^@e^@t^@"^@ ^@d^@a^@t^@e^@,^@^M^@ ^@"^@s^@i^@h^@t^@1^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@4^@5^@)^@,^@^M^@ ^@"^@s^@i^@h^@t^@2^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@4^@5^@)^@,^@^M^@ ^@"^@s^@i^@h^@t^@3^@"^@ ^@v^@a^@r^@c^@h^@a^@r^@(^@4^@5 How to generate proper sql output Regards Raivo
Binary large object processing problems
Hi I am novice in pogres C API user and I want to store Binary Large Object into database from C language program. I am using following source : Oid nloid = lo_import(conn, FileFUllName.c_str()); if (nloid == 0) { std::cerr << "Error importing large object: " << PQerrorMessage(conn) << std::endl; return -1; } else { std::cout << "Large object imported successfully with fd " << nloid << std::endl; } And I seadely get 0 from lo_import. I tried to create it previously an send oid to lo_impor_with_oid, but with error Can anybody help me find where is my mistake an what is working solution ? Regards, Raivo
Re: Binary large object processing problems
Thank for answer, but I was also readed this manual and found there : 35.3.2. Importing a Large Object To import an operating system file as a large object, call Oid lo_import(PGconn *conn, const char *filename); *filename* specifies the operating system name of the file to be imported as a large object. The return value is the OID that was assigned to the new large object, or InvalidOid (zero) on failure. Note that the file is read by the client interface library, not by the server; so it must exist in the client file system and be readable by the client application. This file what I want to import is readable, I just tested it. So I expected that lo_import doesn't work properly. It answers to my - invalid large-object descriptor: 0 why ? I try now by creating, opening, writing and closing sequence or are there alternatives ? Regards Raivo On Mon, Mar 13, 2023 at 5:26 PM Christoph Moench-Tegeder wrote: > ## Raivo Rebane (raivor...@gmail.com): > > > Can anybody help me find where is my mistake an what is working solution > ? > > The documentation clearly states "All large object manipulation using > these functions must take place within an SQL transaction block" > https://www.postgresql.org/docs/current/lo-interfaces.html > but I couldn't see anything of thank kind in your code. > > Regards, > Christoph > > -- > Spare Space. >
Re: Binary large object processing problems
Ok, I will do that. ANd it works now in both way Regards Raivo On Mon, Mar 13, 2023 at 6:18 PM Tom Lane wrote: > Raivo Rebane writes: > > Thank for answer, but I was also readed this manual and found there : > > 35.3.2. Importing a Large Object > > You need to read the start of that section, which says > > All large object manipulation using these functions > must take place within an SQL transaction block, > > As Christoph said, you're responsible for supplying a BEGIN and COMMIT > around the call. > > regards, tom lane >
How to behive if I remove password from postgres role
HI I wanted to install PostGIS Bundle so that it builds a sample spatial database, but got error - createdb: error: connection to server at "localhost" (::1), port 5432 failed: FATAL: password authentication failed for user "postgres" Then I altered role of postgres so, that password = NULL. Now I am in situation that I can't run any postgres command. What I must to do ? Regards, Raivo
jdbc problem
Hi, I hav postgresql 15 installed in my windows computer. I have maven java project, wich works temporarly in Eclipse, but mvn install did'nt work. Now it works, but I have 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) backendproject.BackendMain.main(BackendMain.java:64) line is following - Timestamp oldest_timestamp= resultSet.getTimestamp("oldest_timestamp"); Query from Java is following - String query= "SELECT timestamp AS oldest_timestamp FROM mushrooms"; PreparedStatement statement= connection.prepareStatement(query); ResultSet resultSet= statement.executeQuery(); And pom.xml contains - org.postgis postgis-jdbc 1.3.3 org.postgresql postgresql 42.2.0 and mvn install gives - [INFO] --- dependency:3.6.0:copy-dependencies (copy-dependencies) @ backendproject --- [INFO] Copying postgis-jdbc-1.3.3.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgis-jdbc-1.3.3.jar [INFO] Copying postgis-stubs-1.3.3.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgis-stubs-1.3.3.jar [INFO] Copying postgresql-8.3-603.jdbc4.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgresql-8.3-603.jdbc4.jar [INFO] Copying postgresql-42.2.0.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgresql-42.2.0.jar What is reason of this error and how to resolv it ? Regards Raivo
jdbc problem
Hi, I hav postgresql 15 installed in my windows computer. I have maven java project, wich works temporarly in Eclipse, but mvn install did'nt work. Now it works, but I have 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) backendproject.BackendMain.main(BackendMain.java:64) line is following - Timestamp oldest_timestamp = resultSet.getTimestamp("oldest_timestamp"); Query from Java is following - String query = "SELECT timestamp AS oldest_timestamp FROM mushrooms"; PreparedStatement statement = connection.prepareStatement(query); ResultSet resultSet = statement.executeQuery(); And pom.xml contains - org.postgis postgis-jdbc 1.3.3 org.postgresql postgresql 42.2.0 and mvn install gives - [INFO] --- dependency:3.6.0:copy-dependencies (copy-dependencies) @ backendproject --- [INFO] Copying postgis-jdbc-1.3.3.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgis-jdbc-1.3.3.jar [INFO] Copying postgis-stubs-1.3.3.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgis-stubs-1.3.3.jar [INFO] Copying postgresql-8.3-603.jdbc4.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgresql-8.3-603.jdbc4.jar [INFO] Copying postgresql-42.2.0.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgresql-42.2.0.jar What is reason of this error and how to resolv it ? Regards Raivo
Right version of jdbc
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
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 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 > 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 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
Hi, now I use - org.postgis postgis-jdbc 1.3.3 org.postgresql postgresql 42.5.4 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 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 > 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 >> 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 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
And target/lib is s following : Directory of C:\Users\Raivo\eclipse-workspace\backendproject\target\lib 25.09.2023 15:35 . 25.09.2023 15:33 .. 25.09.2023 15:33 214 381 checker-qual-3.5.0.jar 25.09.2023 13:1475 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 wrote: > Hi, now I use - > > > org.postgis > postgis-jdbc > 1.3.3 > > > org.postgresql > postgresql > 42.5.4 > > > 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 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 >> 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 >>> 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 >>>> 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
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 wrote: > First of all please use reply all so that everyone sees the answers. > > Not sure since PgObject is certainly in the jdbc jar. > pgjdbc/pgjdbc/src/main/java/org/postgresql/util/PGobject.java > at 5709a20fbef453749d2394e11502527e4a3ab5bb · pgjdbc/pgjdbc (github.com) > <https://github.com/pgjdbc/pgjdbc/blob/5709a20fbef453749d2394e11502527e4a3ab5bb/pgjdbc/src/main/java/org/postgresql/util/PGobject.java#L19> > > 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 wrote: > >> Hi, >> Thanks for response, but if I using following dependencies : >> >> >> >> >> >> net.postgis >> >> postgis-jdbc >> >> 2021.1.0 >> >> >> >> >> >> org.postgresql >> >> postgresql >> >> 42.6.0 >> >> >> >> >> >> 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
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 wrote: > > Dave Cramer > www.postgres.rocks > > > On Thu, 28 Sept 2023 at 02:18, Raivo Rebane 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 >> wrote: >> >>> First of all please use reply all so that everyone sees the answers. >>> >>> Not sure since PgObject is certainly in the jdbc jar. >>> pgjdbc/pgjdbc/src/main/java/org/postgresql/util/PGobject.java >>> at 5709a20fbef453749d2394e11502527e4a3ab5bb · pgjdbc/pgjdbc (github.com) >>> <https://github.com/pgjdbc/pgjdbc/blob/5709a20fbef453749d2394e11502527e4a3ab5bb/pgjdbc/src/main/java/org/postgresql/util/PGobject.java#L19> >>> >>> 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 wrote: >>> >>>> Hi, >>>> Thanks for response, but if I using following dependencies : >>>> >>>> >>>> >>>> >>>> >>>> net.postgis >>>> >>>> postgis-jdbc >>>> >>>> 2021.1.0 >>>> >>>> >>>> >>>> >>>> >>>> org.postgresql >>>> >>>> postgresql >>>> >>>> 42.6.0 >>>> >>>> >>>> >>>> >>>> >>>> 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
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 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 > wrote: > >> >> Dave Cramer >> www.postgres.rocks >> >> >> On Thu, 28 Sept 2023 at 02:18, Raivo Rebane 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 >>> wrote: >>> >>>> First of all please use reply all so that everyone sees the answers. >>>> >>>> Not sure since PgObject is certainly in the jdbc jar. >>>> pgjdbc/pgjdbc/src/main/java/org/postgresql/util/PGobject.java >>>> at 5709a20fbef453749d2394e11502527e4a3ab5bb · pgjdbc/pgjdbc (github.com) >>>> <https://github.com/pgjdbc/pgjdbc/blob/5709a20fbef453749d2394e11502527e4a3ab5bb/pgjdbc/src/main/java/org/postgresql/util/PGobject.java#L19> >>>> >>>> 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 >>>> wrote: >>>> >>>>> Hi, >>>>> Thanks for response, but if I using following dependencies : >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> net.postgis >>>>> >>>>> postgis-jdbc >>>>> >>>>> 2021.1.0 >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> org.postgresql >>>>> >>>>> postgresql >>>>> >>>>> 42.6.0 >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> 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 >>>>> >>>>
Right version of jdbc
Hi, The same problem of postgres-jdbc compatibility remains and I pushed it to github - https://github.com/raaivore/APIexperiment. I am using Postgres 15 and Java 1.8 and Tomcat9. Maybe somebody can help me to solve the problem. Regards Raivo
Re: Right version of jdbc
If I use this jar i give errors - Description Resource Path Location Type PGgeometry cannot be resolved to a type ProcAddMushrooms.java /KatseAPIs/src/main/java/MushroomAPIs line 22 Java Problem PGgeometry cannot be resolved to a type ProcAddMushrooms.java /KatseAPIs/src/main/java/MushroomAPIs line 46 Java Problem PGgeometry cannot be resolved to a type ProcAddMushrooms.java /KatseAPIs/src/main/java/MushroomAPIs line 46 Java Problem Point cannot be resolved to a type ProcAddMushrooms.java /KatseAPIs/src/main/java/MushroomAPIs line 14 Java Problem Point cannot be resolved to a type ProcAddMushrooms.java /KatseAPIs/src/main/java/MushroomAPIs line 35 Java Problem Point cannot be resolved to a type ProcAddMushrooms.java /KatseAPIs/src/main/java/MushroomAPIs line 47 Java Problem Point cannot be resolved to a type ProcAddMushrooms.java /KatseAPIs/src/main/java/MushroomAPIs line 47 Java Problem Point cannot be resolved to a type ProcAddMushrooms.java /KatseAPIs/src/main/java/MushroomAPIs line 83 Java Problem Point cannot be resolved to a type Utils.java /KatseAPIs/src/main/java/MushroomAPIs line 9 Java Problem Point cannot be resolved to a type Utils.java /KatseAPIs/src/main/java/MushroomAPIs line 22 Java Problem Raivo On Thu, Sep 28, 2023 at 11:06 PM Dave Cramer wrote: > The latest version of postgis-jdbc is Maven Repository: net.postgis » > postgis-jdbc » 2021.1.0 (mvnrepository.com) > <https://mvnrepository.com/artifact/net.postgis/postgis-jdbc/2021.1.0> > Dave Cramer > www.postgres.rocks > > > On Thu, 28 Sept 2023 at 14:51, Raivo Rebane wrote: > >> Hi, >> >> The same problem of postgres-jdbc compatibility remains and I pushed it >> to github - https://github.com/raaivore/APIexperiment. >> >> I am using Postgres 15 and Java 1.8 and Tomcat9. >> Maybe somebody can help me to solve the problem. >> >> Regards >> Raivo >> >
Re: Right version of jdbc
It goes better, if I add postgis-geometry-2.5.0.jar and Eclipse founds import org.postgis.Point; Raivo On Fri, Sep 29, 2023 at 7:18 AM Raivo Rebane wrote: > If I use this jar i give errors - Description Resource Path Location Type > PGgeometry cannot be resolved to a type ProcAddMushrooms.java > /KatseAPIs/src/main/java/MushroomAPIs line 22 Java Problem > PGgeometry cannot be resolved to a type ProcAddMushrooms.java > /KatseAPIs/src/main/java/MushroomAPIs line 46 Java Problem > PGgeometry cannot be resolved to a type ProcAddMushrooms.java > /KatseAPIs/src/main/java/MushroomAPIs line 46 Java Problem > Point cannot be resolved to a type ProcAddMushrooms.java > /KatseAPIs/src/main/java/MushroomAPIs line 14 Java Problem > Point cannot be resolved to a type ProcAddMushrooms.java > /KatseAPIs/src/main/java/MushroomAPIs line 35 Java Problem > Point cannot be resolved to a type ProcAddMushrooms.java > /KatseAPIs/src/main/java/MushroomAPIs line 47 Java Problem > Point cannot be resolved to a type ProcAddMushrooms.java > /KatseAPIs/src/main/java/MushroomAPIs line 47 Java Problem > Point cannot be resolved to a type ProcAddMushrooms.java > /KatseAPIs/src/main/java/MushroomAPIs line 83 Java Problem > Point cannot be resolved to a type Utils.java > /KatseAPIs/src/main/java/MushroomAPIs line 9 Java Problem > Point cannot be resolved to a type Utils.java > /KatseAPIs/src/main/java/MushroomAPIs line 22 Java Problem > > Raivo > > On Thu, Sep 28, 2023 at 11:06 PM Dave Cramer > wrote: > >> The latest version of postgis-jdbc is Maven Repository: net.postgis » >> postgis-jdbc » 2021.1.0 (mvnrepository.com) >> <https://mvnrepository.com/artifact/net.postgis/postgis-jdbc/2021.1.0> >> Dave Cramer >> www.postgres.rocks >> >> >> On Thu, 28 Sept 2023 at 14:51, Raivo Rebane wrote: >> >>> Hi, >>> >>> The same problem of postgres-jdbc compatibility remains and I pushed it >>> to github - https://github.com/raaivore/APIexperiment. >>> >>> I am using Postgres 15 and Java 1.8 and Tomcat9. >>> Maybe somebody can help me to solve the problem. >>> >>> Regards >>> Raivo >>> >>
Re: Right version of jdbc
But goes worst if I am using postgis-geometry-2021.1.0.jar Raivo On Fri, Sep 29, 2023 at 8:14 AM Raivo Rebane wrote: > It goes better, if I add postgis-geometry-2.5.0.jar and Eclipse founds > > import org.postgis.Point; > > > Raivo > > On Fri, Sep 29, 2023 at 7:18 AM Raivo Rebane wrote: > >> If I use this jar i give errors - Description Resource Path Location Type >> PGgeometry cannot be resolved to a type ProcAddMushrooms.java >> /KatseAPIs/src/main/java/MushroomAPIs line 22 Java Problem >> PGgeometry cannot be resolved to a type ProcAddMushrooms.java >> /KatseAPIs/src/main/java/MushroomAPIs line 46 Java Problem >> PGgeometry cannot be resolved to a type ProcAddMushrooms.java >> /KatseAPIs/src/main/java/MushroomAPIs line 46 Java Problem >> Point cannot be resolved to a type ProcAddMushrooms.java >> /KatseAPIs/src/main/java/MushroomAPIs line 14 Java Problem >> Point cannot be resolved to a type ProcAddMushrooms.java >> /KatseAPIs/src/main/java/MushroomAPIs line 35 Java Problem >> Point cannot be resolved to a type ProcAddMushrooms.java >> /KatseAPIs/src/main/java/MushroomAPIs line 47 Java Problem >> Point cannot be resolved to a type ProcAddMushrooms.java >> /KatseAPIs/src/main/java/MushroomAPIs line 47 Java Problem >> Point cannot be resolved to a type ProcAddMushrooms.java >> /KatseAPIs/src/main/java/MushroomAPIs line 83 Java Problem >> Point cannot be resolved to a type Utils.java >> /KatseAPIs/src/main/java/MushroomAPIs line 9 Java Problem >> Point cannot be resolved to a type Utils.java >> /KatseAPIs/src/main/java/MushroomAPIs line 22 Java Problem >> >> Raivo >> >> On Thu, Sep 28, 2023 at 11:06 PM Dave Cramer >> wrote: >> >>> The latest version of postgis-jdbc is Maven Repository: net.postgis » >>> postgis-jdbc » 2021.1.0 (mvnrepository.com) >>> <https://mvnrepository.com/artifact/net.postgis/postgis-jdbc/2021.1.0> >>> Dave Cramer >>> www.postgres.rocks >>> >>> >>> On Thu, 28 Sept 2023 at 14:51, Raivo Rebane wrote: >>> >>>> Hi, >>>> >>>> The same problem of postgres-jdbc compatibility remains and I pushed it >>>> to github - https://github.com/raaivore/APIexperiment. >>>> >>>> I am using Postgres 15 and Java 1.8 and Tomcat9. >>>> Maybe somebody can help me to solve the problem. >>>> >>>> Regards >>>> Raivo >>>> >>>
Re: Right version of jdbc
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 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
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 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 > wrote: > >> >> Dave Cramer >> www.postgres.rocks >> >> >> On Fri, 29 Sept 2023 at 06:19, Raivo Rebane 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 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
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 - -- -a28.09.2023 14:401081604 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 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. > > [1] > https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html#DriverManager,_the_service_provider_mechanism_and_memory_leaks > [2] > https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html#PostgreSQL > > Craig > >>
Re: Right version of jdbc
May be I have to copy PostGis draiver also to tomcat/lib ? Raivo On Sat, Sep 30, 2023 at 8:01 AM Raivo Rebane 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 > - -- > -a28.09.2023 14:401081604 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 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. >> >> [1] >> https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html#DriverManager,_the_service_provider_mechanism_and_memory_leaks >> [2] >> https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html#PostgreSQL >> >> Craig >> >>>
Re: Right version of jdbc
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 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 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 >> - -- >> -a28.09.2023 14:401081604 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 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. >>> >>> [1] >>> https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html#DriverManager,_the_service_provider_mechanism_and_memory_leaks >>> [2] >>> https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html#PostgreSQL >>> >>> Craig >>> >>>>
Re: Right version of jdbc
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 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 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 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 >>> - -- >>> -a28.09.2023 14:401081604 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 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. >>>> >>>> [1] >>>> https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html#DriverManager,_the_service_provider_mechanism_and_memory_leaks >>>> [2] >>>> https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html#PostgreSQL >>>> >>>> Craig >>>> >>>>>
Re: Right version of jdbc
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 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 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 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 >>> 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 >>>> - -- >>>> -a28.09.2023 14:401081604 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 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. >>>>> >>>>> [1] >>>>> https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html#DriverManager,_the_service_provider_mechanism_and_memory_leaks >>>>> [2] >>>>> https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html#PostgreSQL >>>>> >>>>> Craig >>>>> >>>>>>
Re: Right version of jdbc
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 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 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 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 >>> 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 >>>> 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 >>>>> - -- >>>>> -a28.09.2023 14:401081604 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 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. >>>>>> >>>>>> [1] >>>>>> https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html#DriverManager,_the_service_provider_mechanism_and_memory_leaks >>>>>> [2] >>>>>> https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html#PostgreSQL >>>>>> >>>>>> Craig >>>>>> >>>>>>>
Re: Right version of jdbc
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 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 > 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
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 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 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 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 >>> 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 >>> >>> >>>