This is a plugin for Trino 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 for information on development process.
Limitation
It supports read/write Timestamp data type up to precision 9
while
higher precision will not be preserved.
Create new properties file like <catalog-name>.properties
inside etc/catalog
dir:
connector.name=db2
connection-url=jdbc:db2:https://ip:port/database
connection-user=myuser
connection-password=mypassword
For a connection with SSL, uses following JDBC URL strings as connection-url
:
connection-url=jdbc:db2:https://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.
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.
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.
- configure this for the Db2 connector catalog properties file:
user-credential-name=db2_user
password-credential-name=db2_password
- passing credentials directly to Db2 server:
trino --extra-credential db2_user=user1 --extra-credential db2_password=secret
See details from this answer.