JDBC driver properties
The JDBC driver for YDB supports the following configuration properties, which can be specified in the JDBC URL or passed via additional properties:
-
saFile— service account key for authentication. The valid value is either the content of the JSON file or a file reference. -
iamEndpoint— custom IAM endpoint for authentication using a service account key. -
token— token value for authentication. The valid value is either the token content or a token file reference. -
useMetadata— indicates whether to use metadata authentication. Valid values are:true— use metadata authentication.false— do not use metadata authentication.
Default value:
false. -
metadataURL— custom metadata endpoint. -
localDatacenter— the name of the data center local to the application being connected. -
secureConnection— indicates whether to use TLS. Valid values are:true— enforce TLS.false— do not enforce TLS.
The primary way to indicate whether a connection is secure or not is by using the
grpcs://scheme for secure connections andgrpc://for insecure connections in the JDBC URL. This property allows overriding it. -
secureConnectionCertificate— custom CA certificate for TLS connections. The valid value is either the certificate content or a certificate file reference.
Note
File references for saFile, token, or secureConnectionCertificate must be prefixed with the file: URL scheme, for example:
saFile=file:~/mysakey1.jsontoken=file:/opt/secret/token-filesecureConnectionCertificate=file:/etc/ssl/cacert.cer
Using the QueryService mode
By default, the JDBC driver currently uses a legacy API for running queries to be compatible with a broader range of YDB versions. However, that API has some extra limitations. To turn off this behavior and use a modern API called "Query Service", add the useQueryService=true property to the JDBC URL.
JDBC URL examples
- Local Docker container with anonymous authentication and without TLS:
jdbc:ydb:grpc://localhost:2136/local - Remote self-hosted cluster:
jdbc:ydb:grpcs://<host>:2135/Root/<testdb>?secureConnectionCertificate=file:~/<myca>.cer - A cloud database instance with a token:
jdbc:ydb:grpcs://<host>:2135/<path/to/database>?token=file:~/my_token - A cloud database instance with a service account:
jdbc:ydb:grpcs://<host>:2135/<path/to/database>?saFile=file:~/sa_key.json