IMPORT/EXPORT using a LOCAL FILE could fail with Java 16+
Details
| Detail name | Value |
|---|---|
| Changelog Number | 12087 |
| Type | Bug |
| Status | Resolved |
| Affected Versions | Exasol 7.0.0, Exasol 7.1.0 |
| Fix Versions | Exasol 7.1.1 |
| Resolution Date | 2021-09-14 |
Description
Using IMPORT or EXPORT with a LOCAL FILE may fail if the local Java version is 16+
Example:
$ jdk-16/bin/java -jar EXASOL_JDBC-7.1.0/exaplus.jar -u user -P pw -c exasol:8563 -sql 'export select 1 into local csv file '\''test.csv'\'';' EXA: export select 1 into local csv file 'test.csv'; Error: [42636] java.sql.SQLException: ETL-5106: Following error occured while writing data to external connection [https://10.48.106.72:36578/2a4ada25-c96e-451f-928e-39f53949471c failed after 0 bytes. [OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 10.48.106.72:36578 ],[35],[SSL connect error]] while executing 'export select 1 into CSV AT 'https://10.48.106.72:36578' FILE '2a4ada25-c96e-451f-928e-39f53949471c' ;'; 04509 java.sql.SQLException: java.io.IOException: Exception in connect: java.lang.IllegalAccessError: class com.exasol.jdbc.importExport.KeyManager (in unnamed module @0x2d1f8d76) cannot access class sun.security.x509.X500Name (in module java.base) because module java.base does not export sun.security.x509 to unnamed module @0x2d1f8d76
Workaround
There is no workaround
Fix
IMPORT and EXPORT using a LOCAL FILE is supported for Java 16+