Problem Note 67223: SAS® Business Data Network 3.3 reports the error "Could not open JDBC Connection for transaction…" after a Postgres 12.x update
After you upgrade to SAS Business Data Network 3.3, for the SAS® 9.4M7 (TS1M7) release, and you also manually update Postgres to version 12.x, the UI reports the following error message after you log on:
Could not open JDBC Connection for transaction; nested exception is org.postgresql.util.PSQLException: This ResultSet is closed.
This error occurs because the postgresql.jar file is not updated properly for SASServer13_1.
Work around this issue by taking these steps:
- Copy the postgresql.jar file from the following location:
SAS-configuration-directory\LevX\Web\WebAppServer\SASServer1_1\lib
- Add the copied file to this location:
SAS-configuration-directory\LevX\Web\WebAppServer\SASServer13_1\lib
By doing that, you replace the incorrect postgresql.jar file in that folder.
- After you replace the file, restart SASServer13_1.
If the UI then reports the following error message after you log on, you need to take a further step:
org.springframework.jdbc.BadSqlGrammarException occurred
This error is more likely to occur on Microsoft Windows Server platforms.
Here is the workaround to apply to remove that second error:
- Use either the psql command or the pgAdmin 4 tool to execute the following statements on the Postgres instance "SASDataManagementDataServer" and the database "dmbdndb." This instance is typically on port 10442 with the default owner "dmowner" and a set password. (Note: The pgAdmin 4 tool is not provided by SAS but is available from https://www.pgadmin.org/download/.):
CREATE COLLATION pg_catalog."en_US" (LC_COLLATE = 'en-US', LC_CTYPE = 'en-US');
- Include a statement for any additional locale that is being used for the UI. The example here is for the German locale:
CREATE COLLATION pg_catalog."de_DE" (LC_COLLATE = 'de-DE', LC_CTYPE = 'de-DE');
If the above statements do not work as expected, the issue is related to Windows OS localization and Postgres 12.x on Windows platforms. The next two alternative statements can then work in some cases:
CREATE COLLATION pg_catalog."en_US" (LOCALE = "en-US-x-icu");
This accompanying statement is for the additional locale:
CREATE COLLATION pg_catalog."de_DE" (LOCALE = "de-DE-x-icu");
Click the Hot Fix tab in this note to access the hot fix for this issue.
Operating System and Release Information
SAS System | SAS Business Data Network | Microsoft® Windows® for x64 | 3.3 | | 9.4 TS1M7 | |
Solaris for x64 | 3.3 | | 9.4 TS1M7 | |
64-bit Enabled Solaris | 3.3 | | 9.4 TS1M7 | |
HP-UX IPF | 3.3 | | 9.4 TS1M7 | |
Linux for x64 | 3.3 | | 9.4 TS1M7 | |
64-bit Enabled AIX | 3.3 | | 9.4 TS1M7 | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
SAS Business Data Network 3.3 reports "Could not open JDBC Connection for transaction; nested exception is org.postgresql.util.PSQLException: This ResultSet is closed" after upgrading and also following the instructions to manually apply the Postgres 12.x update.
Type: | Problem Note |
Priority: | high |
Date Modified: | 2021-02-19 14:40:22 |
Date Created: | 2021-01-14 04:54:54 |