User Tools

Site Tools


connectors

Connectors

A connector in EasyMorph holds information about connection settings required to connect to an external system, such as a database, cloud service, email, enterprise application, or REST API.

Connectors can be embedded into a project or can be stored in a shared repository. Connectors can be copied/pasted from any location to any location, e.g. from one project to another project, from project to a repository, from one repository to another repository, etc.

Embedded connectors

Embedded connectors are stored right in the project. It allows using projects on different computers using the same connection settings without relying on a shared repository. However, if connection settings change (e.g. credentials changed), all embedded connectors should be changed manually.

Shared connector repository

Shared connector repositories can be used in cases when many users need to use the same connection settings in a controllable, centralized fashion.

An empty shared repository is created automatically by EasyMorph upon the first run. It can also be created manually from Connector Manager invoked by menu Project → Manage connectors, or by pressing F7. It is possible to have several repositories, but only one repository can be active in EasyMorph. Switching to another repository can be done through the Connector Manager. Shared connectors are referenced in projects by name. Therefore, if you switch between two repositories (e.g. one for development and one for production), make sure that the connector name is the same in both repositories.

To reduce the chance of human error, a shared repository can be protected with a password requested for adding new or modifying existing connectors. Using a connector for importing data doesn't require a password. Passwords can be set up and changed in Connector Manager.

Having shared repositories is also convenient for migrating projects from dev to test/prod environments as shared connectors are referenced by name. I.e. a project can query a database that is specified by connector "Customers". In a test environment, a connector named "Customers" can point to a test database. At the same time, in a production environment, a connector also named "Customers" points to a production database. When moved from one environment to another, the project will use the necessary connector automatically.

Server-hosted connector repository

A shared repository can be served to Desktop users from EasyMorph Server. This ensures stronger security:

  • The repository files are not exposed to users
  • Connectors can be protected from copying and thus embedding
  • If a repository is provided from a Server space with the Active Directory authentication mode, then only the users that are whitelisted in the space settings can access and use the repository
  • EasyMorph Server allows locking and encrypting repositories
  • User tasks (projects) on EasyMorph Server can be forced to run under Windows accounts that don't have access to the system folder that contains repositories.

To use a Server-hosted repository, the Server Link must be configured in the Desktop. Please read the "EasyMorph Server Administrator Guide" which comes with the Server installer, for more details.

Database connectors

Currently, EasyMorph supports these database types and SQL dialects:

Database type Driver type Notes
SQL Server / Azure SQL Database ODBC / Native Bulk export supported (only for the native driver)
Oracle ODBC / Native Bulk export supported.
MySQL ODBC / Native Bulk export supported.
PostgreSQL ODBC / Native Bulk export supported (only for the native driver). Tested with versions 10,12, and 15
MariaDB ODBC / Native
SQLite ODBC / Native
Amazon Redshift ODBC / Native
Snowflake ODBC / Native Bulk export supported (only for the ODBC driver)
Google BigQuery ODBC only Bulk export is supported.
MS Access ODBC only
Amazon Athena ODBC only
DB2 ODBC only
DB2 for iSeries (AS/400) ODBC only
Exasol ODBC only
SAP HANA ODBC only
Sybase IQ ODBC only
Vertica ODBC only
Apache Hive ODBC only Import via visual queries only, custom SQL statements.
Denodo ODBC only Import via visual queries only, custom SQL statements.
Databricks ODBC only
Generic SQL:2003 ODBC only Custom SQL only
Other SQL ODBC only A generic connector for any ODBC driver. Custom SQL only.

Database ODBC connections are configured in EasyMorph by creating an ODBC connector, selecting a 64-bit ODBC DSN configured in Windows, and specifying the required SQL dialect (if it wasn't auto-detected) in the connector settings.

Email connectors

System connectors

  • SSH (used also for SFTP/SCP transfers)
  • Web location (used also for REST API)

Enterprise applications

Cloud services/applications

Security considerations

While EasyMorph encrypts connection passwords stored in projects and repositories, this can't be considered a strong security measure. Therefore for additional security, consider the following:

  • Use Server-hosted connector repositories when possible; otherwise limit access to shared repositories using standard Windows file system permissions
  • For Server repositories, consider using the option for locking and encrypting repository; the option is described in the "EasyMorph Server Administrator Guide" that comes with the Server installer
  • In connectors, use read-only accounts and don't expose unnecessary objects (e.g. schemas, tables, etc.)
  • Don't use embedded connectors for accessing sensitive information because they can be easily copied unless dynamic authentication is used (such as "Windows integrated")
  • Keep in mind that users may perform various operations (e.g. write and execute custom SQL queries/statements) using connectors without knowing the credentials stored in the connectors
  • SQL-related actions (such as "Import from database") and commands (such as "Custom SQL statement") insert parameters as plain text into the generated SQL statement which can make them vulnerable to SQL injection. Don't use parameters in such actions when parameter values can't be trusted or sanitized.
connectors.txt · Last modified: 2024/02/15 15:01 by dmitry

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki