dbeaver / dbeaver/dbeaver

Support remote source creation

Open
#12,011 2 comments 0 reactions 0 assignees View on GitHub
xf:metadata
Dominant language
Java
Stars
51.8k
Forks
4.4k
Avg merge
3d 8h
Merged PRs (30d)
188

Description

A very important feature of many databases is data federation: The ability to point to external databases and execute federated queries. As all of this is handled within the database, querying such external tables is no problem for DBeaver. The creation of such tables is.

In SAP Hana this is a very important feature and it would be a huge plus for DBeaver if the creation of remote sources would be supported via an UI.
https://blogs.sap.com/2014/12/08/hana-sps09-smart-data-integration-adapters/

I know that Oracle and DB2 supports similar.

**Phase 1**: Dialog for creating remote source objects

Ultimately a `create remote source` statement must be executed. But as the properties used there depend on the remote database type, this statement is very dynamic. Essentially an XML is provided as one parameter.
The structure of the XML can be queried from the data dictionary, what is missing is a UI element that renders the controls so the user can enter the values properly.
The list of remote sources is one more entry in the schema tree similar to tables.
As it is typical that the user specifies a wrong username or other setting, a validation of the input should be added as well.

**Phase 2**: Property activators
One additional complexity is that some properties can enable/disable other properties. But even without it would make sense.

**Phase 3**: Browsing
The remote source can be queried to see all available objects. When expanding a remote source this info should be added. Any object can be selected and turned into a virtual table using the "create virtual table" statement.

**Phase 4**: Procedures
Not only virtual tables exist but virtual procedures as well. Far less important though.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.