SUPPORT / SAMPLES & SAS NOTES
 

Support

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

DetailsHotfixAboutRate It

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:

  1. Copy the postgresql.jar file from the following location:

    SAS-configuration-directory\LevX\Web\WebAppServer\SASServer1_1\lib
     
  2. 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.
     
  3. 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:

  1. 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');
     
  2. 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

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Business Data NetworkMicrosoft® Windows® for x643.39.4 TS1M7
Solaris for x643.39.4 TS1M7
64-bit Enabled Solaris3.39.4 TS1M7
HP-UX IPF3.39.4 TS1M7
Linux for x643.39.4 TS1M7
64-bit Enabled AIX3.39.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.