Client Reference
Avatica provides a reference-implementation client in the form of a JavaJDBC client that interacts with the Avatica server over HTTP. This clientcan be used just as any other JDBC driver. There are a number of optionsthat are available for clients to specify via the JDBC connection URL.
As a reminder, the JDBC connection URL for Avatica is:
jdbc:avatica:remote:[option=value[;option=value]]
The following are a list of supported options:
- url
Description: This property is a URL which refers to the location of theAvatica Server which the driver will communicate with.
Default: This property’s default value is
null
. It is required that theuser provides a value for this property.Required: Yes.
Description: Avatica supports multiple types of serialization mechanismsto format data between the client and server. This property is used to ensurethat the client and server both use the same serialization mechanism. Validvalues presently include
json
andprotobuf
.Default:
json
is the default value.Required: No.
Description: Avatica clients can specify the means in which it authenticateswith the Avatica server. Clients who want to use a specific formof authentication should specify the appropriate value in this property. Validvalues for this property are presently:
NONE
,BASIC
,DIGEST
, andSPNEGO
.Default:
null
(implying “no authentication”, equivalent toNONE
).Required: No.
Description: The timezone that will be used for dates and times. Valid values for thisproperty are defined by RFC 822, forexample:
GMT
,GMT-3
,EST
orPDT
.Default: This property’s default value is
null
which will cause the Avatica Driver touse the default timezone as specified by the JVM, commonly overriden by theuser.timezone
system property.Required: No.
Description: The Avatica client is a “fancy” HTTP client. As such, there aremany libraries and APIs available for making HTTP calls. To determine which implementationshould be used, there is an interface
AvaticaHttpClientFactory
which can be providedto control how theAvaticaHttpClient
implementation is chosen.Default:
AvaticaHttpClientFactoryImpl
.Required: No.
Description: When using the default
AvaticaHttpClientFactoryImpl
HTTP client factoryimplementation, this factory should choose the correct client implementation for thegiven client configuration. This property can be used to override the specific HTTPclient implementation. If it is not provided, theAvaticaHttpClientFactoryImpl
willautomatically choose the HTTP client implementation.Default:
null
.Required: No.
Description: This is the username used by an Avatica client to identify itselfto the Avatica server. It is unique to the traditional “user” JDBC property. Itis only necessary if Avatica is configured for HTTP Basic or Digest authentication.
Default:
null
.Required: No.
Description: This is the password used by an Avatica client to identify itselfto the Avatica server. It is unique to the traditional “password” JDBC property. Itis only necessary if Avatica is configured for HTTP Basic or Digest authentication.
Default:
null
.Required: No.
Description: The Kerberos principal which can be used by the Avatica JDBC Driverto automatically perform a Kerberos login before attempting to contact the Avaticaserver. If this property is provided, it is also expected that
keytab
is providedand that the Avatica server is configured for SPNEGO authentication. Users can performtheir own Kerberos login; this option is provided only as a convenience.Default:
null
.Required: No.
Description: The Kerberos keytab which contains the secret material to performa Kerberos login with the
principal
. The value should be a path on the localfilesystem to a regular file.Default:
null
.Required: No.
Description: A path to a Java KeyStore (JKS) file on the local filesystemwhich contains the certificate authority to trust in a TLS handshake. Onlynecessary when using HTTPS.
Default:
null
.Required: No.
Description: The password for the Java KeyStore file specified by truststore.
Default:
null
.Required: Only if
truststore
was provided.