Table of Contents
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) |
Teradata | ODBC / Native | |
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
- 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.