This article provides a brief overview of the Google BigQuery database provider for UniDAC used to access Google BigQuery from Delphi and Lazarus. You will find the description of some useful features and how to get started quickly.
Main features of Google BigQuery data access provider are:
The full list of Database provider features can be found on the UniDAC features page.
Both Professional and Standard Editions of UniDAC include the Google BigQuery provider.
Google BigQuery provider supports Google BigQuery data types and API.
Applications that use the Google BigQuery provider require Devart ODBC Driver for Google BigQuery to be installed on the client computer. The driver is sold and distributed separately from UniDAC.
When an application was built without runtime packages (Link with runtime packages set to False in Project Options), you do not need to deploy any BPL files with it. For more information, see Deployment.
Note that UniDAC Trial requires deployment of additional BPL files regardless of Link with runtime packages.
To connect to Google BigQuery using legacy authentication and Devart ODBC Driver, you should configure the driver and set up a DSN. In the TUniConnection component, specify the following parameters:
For more information on how to obtain Google BigQuery Refresh Token, see the article.
Though UniDAC is components that provide a unified interface to work with various database services, it also lets you tune behaviour for each server individually. For thin setup of a certain database service, UniDAC provides specific options. These options can be applied to such components as TUniConnection, TUniQuery, TUniTable, TUniStoredProc, TUniSQL, TUniScript via their SpecificOptions property. SpecificOptions is a sting list.
Below you will find the description of allowed options grouped by components.
Option name | Description |
---|---|
ConnectionTimeout | The time to wait for a connection to open before raising an exception. |
DataSetId | Allows referring the dataset by its name. |
PrimaryKeyColumns | Contains unique keys that are used to identify all existing rows in the table. |
ProjectID | Used to identify the projectы you have created from the existing ones. |
RefreshToken | Used to supply an API key to log in to Google BigQuery. |
UseUnicode | Enables or disables Unicode support. Affects character data fetched from the server. When set to True, all character data is stored as WideStrings, and TStringField is replaced by TWideStringField. |
UTCDates | Use the UTCDates option to return the datetime values from the data source as UTC values. |
Option name | Description |
---|---|
ProxyPassword | If Proxy User authorization is used, specify Proxy user password in this option. |
ProxyPort | Specify the Proxy port here. You can learn Proxy Port in the same way as described above for the host. |
ProxyServer |
If you are using Proxy for connection to your network, specify the Proxy server address in this option.
To learn your Proxy server address, open Control Panel->Internet Options->Connections->LAN settings. |
ProxyUser | If Proxy User authorization is used, specify Proxy user name (ID) in this option. |
Option name | Description |
---|---|
CommandTimeout | The time to wait for a statement to be executed. |
Option name | Description |
---|---|
CommandTimeout | The time to wait for a statement to be executed. |
ExtendedFieldsInfo | If True, an additional query is performed to get information about the returned fields and tables they belong to. The default value is False. |
FetchAll |
If True, all records of a query are requested from database server when the dataset is being opened.
If False, records are retrieved when a data-aware component or a program requests it. The default value is False. |
FieldsAsString | If set to True, all non-BLOB fields are handled as strings. The default value is False. |
UnknownAsString | If set to True, all Google BigQuery data types that are fetched as text and don't have the size limit, are mapped to TStringField with the default size 8192 bytes. If False (default value), such types are mapped to TMemoField. The TEXT data type is always mapped to TMemoField regardless of the value of this option. |
The TUniDump component has no Google BigQuery-specific options.
The TUniLoader component has no Google BigQuery-specific options.
The TUniDump component has no Google BigQuery-specific options.