keeps / dbptk-ui

DBPTK base UI for both Desktop and Enterprise
https://database-preservation.com
GNU Lesser General Public License v3.0
23 stars 9 forks source link

Error when parsing/analyzing table name containing a forward slash #352

Open arnovdk opened 1 year ago

arnovdk commented 1 year ago

Description: When connecting to an Oracle Database schema to create a SIARD export file from it, an exception occurs when it encounters a table that contains a forward slash (/) in its name.

Context:

Steps required to reproduce the bug:

  1. Make sure that the schema contains a table with a name like SYS_NTjkfjdjsdf/fsdkjdfhjks (these are generated automatically by the RDBMS)
  2. Connect to the schema and let DBPTK analyze it
  3. Wait till the error occurs

Relevant log lines:

2023-08-25 07:55:50,694 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.RESERVERINGSREGELS
2023-08-25 07:55:51,690 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.RRL_ORDER_STATUSSEN
2023-08-25 07:55:52,580 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.RRL_STATUSSEN
2023-08-25 07:55:53,518 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.RRL_VERZOEKEN
2023-08-25 07:55:54,498 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SCHERMAKTIES
2023-08-25 07:55:55,409 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SOORTEN_ONDER_SOORT
2023-08-25 07:55:56,300 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SOORTEN_PER_BLOK
2023-08-25 07:55:57,222 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SOORTEN_PER_UITVOERDOCUMENT
2023-08-25 07:55:58,151 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SORTEERMETHODEN
2023-08-25 07:55:59,112 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SORTEERVELDEN
2023-08-25 07:56:00,009 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.STANDARD_AUTH
2023-08-25 07:56:00,929 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYNC_FVD_AWE
2023-08-25 07:56:01,841 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTAPNEA4R49N#1GHEN$8BRMS=N
2023-08-25 07:56:02,725 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTARK=2=3U0TVNO9TY$8BRMS=N
2023-08-25 07:56:03,582 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTC813E0N-+UP2#PCT$8BRMS=N
2023-08-25 07:56:04,482 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NT+DGCAXK6NE5$J-_R$8BRMS=N
2023-08-25 07:56:05,418 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTEJDSXK_LFWJBV#0N$8BRMS=N
2023-08-25 07:56:06,303 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTG2RB2G+SG32BLFZT$8BRMS=N
2023-08-25 07:56:07,211 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTG4O#NSFJ$8L3S7_4$8BRMS=N
2023-08-25 07:56:08,236 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTID95E7U9Q4WQ91HO$8BRMS=N
2023-08-25 07:56:09,120 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTKWHPJ3QAS-=RZ+FU$8BRMS=N
2023-08-25 07:56:10,024 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTM$YD2NBR2#95HR4O$8BRMS=N
2023-08-25 07:56:10,985 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTOQ$26J$X3DN6$Z2U$8BRMS=N
2023-08-25 07:56:11,891 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NT_$-PXD7NZMCNY0VS$8BRMS=N
2023-08-25 07:56:12,788 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTqxArxXLiTLjgU8oAqMAFHw==
2023-08-25 07:56:13,699 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTqxArxXLjTLjgU8oAqMAFHw==
2023-08-25 07:56:14,641 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTqxArxXLkTLjgU8oAqMAFHw==
2023-08-25 07:56:15,547 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTqxArxXLlTLjgU8oAqMAFHw==
2023-08-25 07:56:16,453 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTqxArxXLmTLjgU8oAqMAFHw==
2023-08-25 07:56:17,318 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTqxArxXLnTLjgU8oAqMAFHw==
2023-08-25 07:56:18,187 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTqxArxXLoTLjgU8oAqMAFHw==
2023-08-25 07:56:19,073 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTqxArxXLpTLjgU8oAqMAFHw==
2023-08-25 07:56:19,983 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTqxArxXLqTLjgU8oAqMAFHw==
2023-08-25 07:56:20,869 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTqxArxXLrTLjgU8oAqMAFHw==
2023-08-25 07:56:21,773 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTqxArxXLsTLjgU8oAqMAFHw==
2023-08-25 07:56:22,732 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTqxArxXL+TLjgU8oAqMAFHw==
2023-08-25 07:56:23,615 [http-nio-auto-1-exec-3] INFO  c.d.modules.jdbc.in.JDBCImportModule - Obtaining table structure for ONTWFLEXIS.SYS_NTqxArxXL/TLjgU8oAqMAFHw==
2023-08-25 07:56:23,655 [http-nio-auto-1-exec-7] ERROR c.d.c.c.c.utils.AsyncCallbackUtils - [0:0:0:0:0:0:0:1] AsyncCallback error - RESTException: Remote exception caused by GenericException: ORA-01424: Na het Escapeteken ontbreekt een teken of volgt een ongeldig teken.2023-08-25 07:56:23,655 [http-nio-auto-1-exec-7] ERROR c.d.c.c.c.utils.AsyncCallbackUtils - [0:0:0:0:0:0:0:1] AsyncCallback error - RESTException: Remote exception caused by GenericException: ORA-01424: missing or illegal character following the escape character.

As you can see, the process appears to stop at the table containing a / in its name. I have tried to reproduce this in various schemas, all of which contain various SYS_NT-tables, all with a random name. Every time the process seems to stop at the first table it encounters, that has a / in its name.