Skip to main content
Announcements
Qlik Acquires Upsolver to Advance Iceberg Solutions: READ MORE
EdwardOst
Employee
Employee

DBeaver is a popular and powerful SQL editor available built as an Eclipse Rich Client Platform (RCP) just like Qlik Talend Studio.  The  DBeaver Plugin is also available in the Eclipse Marketplace so it can be incorporated directly into your Studio environment.  This document provides a step-by-step guide to extend Talend Studio with DBeaver.

DBeaver is a SQL editor available in both community and enterprise editions.  It is available as a web application or a traditional application.  The DBeaver application is built as an Eclipse Rich Client Platform (RCP) and also supports a DBeaver Plugin on the Eclipse Marketplace.

It is a great SQL toolbench that supports navigating schemas and database metadata, viewing data, DDL, and a very good sql editor. Integrations with Git for version control are available and even a prompt-to-sql AI plugin.

Since Dbeaver is available as an Eclipse Plugin it is compatible with Eclipse RCP applications like Talend Studio. The only challenge is that Talend Studio is based on Eclipse 2023-12 (4.30). When Studio is upgraded to a more recent version of Eclipse this problem will go away.

Fortunately, the actual problem is limited to only a single library. DBeaver expects a more recent org.eclipse.text plugin. This is very easy to add and should have minimal risk to the rest of the existing Talend product.

This document provides detailed analysis of the problem as well as simple steps to fix it so you can have DBeaver running in Talend Studio today.  It must be emphasized that using the DBeaver plugin in Studio is NOT officially supported.

Installing DBeaver

Start by installing the DBeaver Eclipse plugin from the update site in Talend Studio.  Although DBeaver is available in the Eclipse Marketplace, Talend Studio has removed the Marketplace plugin in order to minimize the size of Studio.  So you must use the Feature Manager and then click the “Go to the wizard” link.  This is equivalent to selecting Help->Install New Software in regular Eclipse installations.

EdwardOst_0-1731895705137.png

Add the DBeaver update site to the list of repositories.  The DBeaver update site url is https://dbeaver.io/update/ce/latest/.  If you are running Talend Studio in a restricted location without access to the internet, see the appendix for instructions on creating a local copy of the dbeaver update site as a zip file.

EdwardOst_1-1731895733701.png

Select the DBeaver IDE feature from the list of features offering in the DBeaver update.

EdwardOst_2-1731895755189.png

Review the list of features that will be installed and click Next.

EdwardOst_3-1731895773737.png

The plugin jars are signed.  Review and trust the cert authorities.  There will be two such dialog windows.

EdwardOst_4-1731895797181.pngEdwardOst_5-1731895807908.png

Click through the remaining dialog screens to accept the licenses and install DBeaver into Studio.

Accept the dialog option to restart Studio.  At this point DBeaver has been installed in Studio.

Testing DBeaver in Studio

Although the DBeaver Eclipse Marketplace web page lists DBeaver as compatible with many older versions of Eclipse, it is in fact not compatible with the 2023-12 (4.30) version of Eclipse that Talend Studio is built upon.  But most of DBeaver will still work with Studio and it is a simple manner to fix the one compatibility bug.

Before we fix it, let’s test DBeaver in Studio.  Most of the functionality is working.  The Studio Window-Perspective menu is more limited than Eclipse and does not show an option for Open Perspective for other perspectives.  So you must use the obscure Open Perspective button in the upper right on the toolbar.

EdwardOst_6-1731895861366.png

Select the DBeaver Perspective.

EdwardOst_7-1731895878242.png

Create a Database Project by right clicking on Database Navigator in the left-hand pane and selecting Create->Other.

EdwardOst_8-1731895901371.png

Select Database Project in the dialog window.

EdwardOst_9-1731895920775.png

Give the database project a meaningful name.

EdwardOst_10-1731895939080.png

Accept the default resource folder locations.

EdwardOst_11-1731895967033.png

You may want to select a different location for your project or resources rather than the default locations if you wish to apply source control to your sql independently from your Talend project.

Click on the Projects tab in the left-hand pane and then right click and select Create -> Connection to create a new database connection.

EdwardOst_12-1731896013518.png

Select your database type for the connection.  The screenshot shows Mysql but you can select whatever database you use.

EdwardOst_13-1731896034057.png

Configure your database connection and then test it with the Test Connection button.

EdwardOst_14-1731896051958.png

Back in the Projects tab in the left-hand pane, drill into your new connection to see table details.  Expand the new connection you created and drill into Databases, then a specific database, and then Tables.  Double click on a table and select the Data tab in the right-hand pane to see a tabular view of the data.

EdwardOst_15-1731896070260.png

You can try other features of DBeaver, but the most important one will not work (yet).  Click on the SQL toolbar to open a sql script. 

EdwardOst_16-1731896085871.png

Either nothing happens or you may see an error message such as

java.lang.ClassNotFoundException: org.eclipse.jface.text.rules.RuleBasedPartitionScanner cannot be found

This is expected albeit not desired behavior which we will fix in the next sections.

Talend Studio and DBeaver Library Problem

Although the DBeaver Eclipse Marketplace web page lists DBeaver as compatible with many older versions of Eclipse, it is in fact not compatible with the 2023-12 (4.30) version of Eclipse that Talend Studio is built upon.

The root cause of the problem is that a number of classes including the RuleBasedPartitionScanner were originally located in the org.eclipse.jface.text.rules package in the org.eclipse.text.jface plugin.  But those files were moved to the org.eclipse.text plugin in version 3.14.  This is where DBeaver expects to find them, but it is not available in the org.eclilpse.text 3.13 version used by the Eclipse 2023-12 baseline upon which Studio is based.

So we just need to install the org.ecilpse.text 3.14 plugin into Studio using one of the approaches discussed in the next two sections.

Installing org.eclipse.text Plugin into Studio

The most direct way to register the org.eclipse.text_3.14.100.v20240524-2010.jar with Studio is to add the file to the studio/plugins folder.

First, download the plugin file by going to the Eclipse project downloads archive and selecting a recent version of Eclipse such as the Eclipse 2024-9 release which is version 4.33.  The links above are in human readable format and have lots of other information.  But all you need is the link to the Eclipse 2024-09 repo zip file.

Unzip the file and go to the plugins folder and you will find the org.eclipse.text_3.14.100.v20240524-2010.jar file.  Copy this to the plugins folder of your Talend Studio.

Stop Studio if it is running.  Now modify the Studio configuration/org.eclipse.equinox.simpleconfigurator/bundles.info file located in

Studio/configuration/org.eclipse.equinox.simpleconfigurator/ bundles.info

Find the following line.

org.eclipse.text,3.13.100.v20230801-1334,plugins/org.eclipse.text_3.13.100.v20230801-1334.jar,4,false

Add a similar line immediately after it.

org.eclipse.text,3.14.100.v20240524-2010,plugins/org.eclipse.text_3.14.100.v20240524-2010.jar,4,false

You should now have two lines different versions of org.eclipse.text in the bundles.info file.

org.eclipse.text,3.14.100.v20240524-2010,plugins/org.eclipse.text_3.14.100.v20240524-2010.jar,4,false
org.eclipse.text,3.13.100.v20230801-1334,plugins/org.eclipse.text_3.13.100.v20230801-1334.jar,4,false

Note that there may be a carriage return shown in this document, but it is a single line in the  bundle.info file.

Testing the DBeaver Plugin in Studio with the Updated Libraries

First, confirm that the org.eclipse.text 3.14 plugin has been installed in Studio.  Select Help->About Talend Studio from the menu and then click Installation Details in the resulting dialog box.  Select the Plugins tab in the new dialog window and click the Plugin-Id column header to sort by that column.  Now scroll down to the entries for org.ecilpse.text.  Notice that there are two, the original 3.13 and the new 3.14 versions.  Co-existence of these libraries is handled smoothly by the Eclipse OSGI framework.

EdwardOst_17-1731896387571.png

Open the DBeaver perspective.

EdwardOst_18-1731896445847.png

 

EdwardOst_19-1731896454515.png

Click on the SQL Editor.

EdwardOst_20-1731896474176.png

This time it should open successfully and you should be able to enter and execute query.

EdwardOst_21-1731896493072.png

 

1 Comment