Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/IBM/trino-db2
Db2 JDBC connector for Trino
https://github.com/IBM/trino-db2
db2 presto prestosql trino trino-plugin
Last synced: 3 months ago
JSON representation
Db2 JDBC connector for Trino
- Host: GitHub
- URL: https://github.com/IBM/trino-db2
- Owner: IBM
- License: apache-2.0
- Archived: true
- Created: 2018-12-17T04:21:58.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-01-06T08:34:57.000Z (over 1 year ago)
- Last Synced: 2024-01-18T12:24:40.884Z (5 months ago)
- Topics: db2, presto, prestosql, trino, trino-plugin
- Language: Java
- Homepage:
- Size: 128 KB
- Stars: 18
- Watchers: 9
- Forks: 30
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-presto - Db2 JDBC connector for Trino - Trino Connector for IBM DB2 (Plugins)
- awesome-trino - trino DB2 Connector - trino Connector for IBM DB2 (Plugins)
README
# Trino Db2 connector [![Actions Status](https://github.com/IBM/trino-db2/workflows/Java%20CI/badge.svg)](https://github.com/IBM/trino-db2/actions)
This is a plugin for [Trino](https://trino.io/) that allow you to use IBM Db2 Jdbc Connection
Notice that it requires the connected database to be Db2 10 or Db2 LUW 9.7+ or greater versions to meet the precision need of the timestamp data type.
See [DEVELOPMENT](DEVELOPMENT.md) for information on development process.
**Limitation**
It supports read/write Timestamp data type up to precision `9` while
higher precision will not be preserved.## Connection Configuration
Create new properties file like `.properties` inside `etc/catalog` dir:
connector.name=db2
connection-url=jdbc:db2://ip:port/database
connection-user=myuser
connection-password=mypasswordFor a connection with SSL, uses following JDBC URL strings as `connection-url`:
connection-url=jdbc:db2://ip:port/database:sslConnection=true;
**Notices**:
* the trailing semi-colon is required. Or it will throw SQLException `Invalid database URL syntax`.
* You can use `db2.iam-api-key` to specify API Key instead of user/password if IAM authentication is supported.See the official document of Db2 JDBC details from the article [Connecting programmatically with JDBC](https://www.ibm.com/support/knowledgecenter/en/SS6NHC/com.ibm.swg.im.dashdb.doc/connecting/connect_connecting_jdbc_applications.html).
## Configuration Properties
| Property Name | Description |
|---------------|-------------|
|`db2.varchar-max-length` | max length of VARCHAR type in a CREATE TABLE or ALTER TABLE command. default is `32672`|
|`db2.iam-api-key` | API Key of IBM Cloud IAM. Use this when choosing IAM authentication instead of user/password |**Notice**: you may need to customize value of `db2.varchar-max-length` to `32592` when using Db2 warehouse.
## _Extra credentials_ Support
Since release `324`, it starts to support the idea of _extra credentials_ where it allows trino client user to provide Db2 username and password as extra credentials that are passed directly to the backend Db2 server when running a query.
1. configure this for the Db2 connector catalog properties file:
```
user-credential-name=db2_user
password-credential-name=db2_password
```
2. passing credentials directly to Db2 server:
```
trino --extra-credential db2_user=user1 --extra-credential db2_password=secret
```See details from [this answer](https://stackoverflow.com/a/58634432/914967).