0

I need to use a simple Pentaho Spoon transformation to copy a table from MySQL database to OpenLink Virtuoso RDB (Virtuoso Open Source).

The table on MySQL database contains a column typed LONG VARCHAR.

This data type exists in OpenLinkVirtuoso.

The problem is that Pentaho Spoon seems not understand this data type.

I tried this SQL script directly on Openlink Virtuoso RDB:

CREATE TABLE DBTEST.GSDRB_SUB_CSN
(
  SUBCOUNTER INTEGER
, REF_CATALOGO INTEGER
, CSNC VARCHAR(5)
, CSNL VARCHAR(10)
, CSNS VARCHAR(255)
, CSNO VARCHAR(10)
, CSNN LONG VARCHAR
 )

And it works fine. So the LONG VARCHAR data type actually exists and is understood.

The same is run on Pentaho Kettle (inside Create Table action), but raises this error:

2023/01/18 11:33:35 - Create table [GSDRB_SUB_CSN] - ERROR (version 9.3.0.0-428, build 9.3.0.0-428 from 2022-04-12 04.56.25 by buildguy) : An error occurred executing this job entry : 
2023/01/18 11:33:35 - Create table [GSDRB_SUB_CSN] - Couldn't execute SQL: CREATE TABLE GSDRB_SUB_CSN
2023/01/18 11:33:35 - Create table [GSDRB_SUB_CSN] - (
2023/01/18 11:33:35 - Create table [GSDRB_SUB_CSN] -   SUBCOUNTER INTEGER
2023/01/18 11:33:35 - Create table [GSDRB_SUB_CSN] - , REF_CATALOGO INTEGER
2023/01/18 11:33:35 - Create table [GSDRB_SUB_CSN] - , CSNC VARCHAR(5)
2023/01/18 11:33:35 - Create table [GSDRB_SUB_CSN] - , CSNL VARCHAR(10)
2023/01/18 11:33:35 - Create table [GSDRB_SUB_CSN] - , CSNS VARCHAR(255)
2023/01/18 11:33:35 - Create table [GSDRB_SUB_CSN] - , CSNO VARCHAR(10)
2023/01/18 11:33:35 - Create table [GSDRB_SUB_CSN] - , CSNN LONG VARCHAR
2023/01/18 11:33:35 - Create table [GSDRB_SUB_CSN] - )
2023/01/18 11:33:35 - Create table [GSDRB_SUB_CSN] - 
2023/01/18 11:33:35 - Create table [GSDRB_SUB_CSN] - SQ074: Line 9: syntax error

I tried also with BLOB but i have the same issue.

Do you have any suggestions?

  • I can't help with Pentaho Spoon, but if you're using Virtuoso Enterprise (not Virtuoso Open Source a/k/a VOS), you can connect directly Virtuoso -> MySQL ODBC -> MySQL, and Virtuoso can import the table(s) you want. You could also use a trial license with Virtuoso Enterprise, connect it to *both* MySQL and VOS, and replicate the MySQL table(s) to VOS. – TallTed Jan 18 '23 at 17:17
  • Thank for your comment and your editing. I using VOS. – Luca Sinopoli Jan 18 '23 at 20:20

0 Answers0