dremiojs 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +14 -0
- package/.prettierrc +7 -0
- package/README.md +59 -0
- package/dremiodocs/dremio-cloud/cloud-api-reference.md +748 -0
- package/dremiodocs/dremio-cloud/dremio-cloud-about.md +225 -0
- package/dremiodocs/dremio-cloud/dremio-cloud-admin.md +3754 -0
- package/dremiodocs/dremio-cloud/dremio-cloud-bring-data.md +6098 -0
- package/dremiodocs/dremio-cloud/dremio-cloud-changelog.md +32 -0
- package/dremiodocs/dremio-cloud/dremio-cloud-developer.md +1147 -0
- package/dremiodocs/dremio-cloud/dremio-cloud-explore-analyze.md +2522 -0
- package/dremiodocs/dremio-cloud/dremio-cloud-get-started.md +300 -0
- package/dremiodocs/dremio-cloud/dremio-cloud-help-support.md +869 -0
- package/dremiodocs/dremio-cloud/dremio-cloud-manage-govern.md +800 -0
- package/dremiodocs/dremio-cloud/dremio-cloud-overview.md +36 -0
- package/dremiodocs/dremio-cloud/dremio-cloud-security.md +1844 -0
- package/dremiodocs/dremio-cloud/sql-docs.md +7180 -0
- package/dremiodocs/dremio-software/dremio-software-acceleration.md +1575 -0
- package/dremiodocs/dremio-software/dremio-software-admin.md +884 -0
- package/dremiodocs/dremio-software/dremio-software-client-applications.md +3277 -0
- package/dremiodocs/dremio-software/dremio-software-data-products.md +560 -0
- package/dremiodocs/dremio-software/dremio-software-data-sources.md +8701 -0
- package/dremiodocs/dremio-software/dremio-software-deploy-dremio.md +3446 -0
- package/dremiodocs/dremio-software/dremio-software-get-started.md +848 -0
- package/dremiodocs/dremio-software/dremio-software-monitoring.md +422 -0
- package/dremiodocs/dremio-software/dremio-software-reference.md +677 -0
- package/dremiodocs/dremio-software/dremio-software-security.md +2074 -0
- package/dremiodocs/dremio-software/dremio-software-v25-api.md +32637 -0
- package/dremiodocs/dremio-software/dremio-software-v26-api.md +36757 -0
- package/jest.config.js +10 -0
- package/package.json +25 -0
- package/src/api/catalog.ts +74 -0
- package/src/api/jobs.ts +105 -0
- package/src/api/reflection.ts +77 -0
- package/src/api/source.ts +61 -0
- package/src/api/user.ts +32 -0
- package/src/client/base.ts +66 -0
- package/src/client/cloud.ts +37 -0
- package/src/client/software.ts +73 -0
- package/src/index.ts +16 -0
- package/src/types/catalog.ts +31 -0
- package/src/types/config.ts +18 -0
- package/src/types/job.ts +18 -0
- package/src/types/reflection.ts +29 -0
- package/tests/integration_manual.ts +95 -0
- package/tsconfig.json +19 -0
|
@@ -0,0 +1,3277 @@
|
|
|
1
|
+
# Dremio Software - Client Applications
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Source: https://docs.dremio.com/current/client-applications/
|
|
8
|
+
|
|
9
|
+
Version: current [26.x]
|
|
10
|
+
|
|
11
|
+
On this page
|
|
12
|
+
|
|
13
|
+
# Connect Client Applications to Dremio
|
|
14
|
+
|
|
15
|
+
You can connect to Dremio from a variety of client applications. Connections are established using JDBC or ODBC.
|
|
16
|
+
|
|
17
|
+
Dremio supports a broad range of clients including the following applications:
|
|
18
|
+
|
|
19
|
+
* [Alteryx Designer](/current/client-applications/alteryx-designer)
|
|
20
|
+
* [DataGrip](/current/client-applications/datagrip)
|
|
21
|
+
* [DBeaver](/current/client-applications/dbeaver)
|
|
22
|
+
* [DbVisualizer](/current/client-applications/dbvisualizer)
|
|
23
|
+
* [Domo](/current/client-applications/domo)
|
|
24
|
+
* [IBM Cognos Analytics](/current/client-applications/cognos)
|
|
25
|
+
* [Looker](/current/client-applications/looker)
|
|
26
|
+
* [Microsoft Excel](/current/client-applications/microsoft-excel/)
|
|
27
|
+
* [Microsoft Excel PowerPivot](/current/client-applications/microsoft-excel/microsoft-excel-powerpivot)
|
|
28
|
+
* [Microsoft Power BI](/current/client-applications/microsoft-power-bi)
|
|
29
|
+
* [Microstrategy Workstation](/current/client-applications/microstrategy)
|
|
30
|
+
* [Preset](/current/client-applications/preset)
|
|
31
|
+
* [SAP Business Objects](/current/client-applications/business-objects)
|
|
32
|
+
* [Superset](/current/client-applications/superset)
|
|
33
|
+
* [Tableau](/current/client-applications/tableau)
|
|
34
|
+
|
|
35
|
+
## Drivers
|
|
36
|
+
|
|
37
|
+
* [Arrow Flight SQL JDBC](/current/client-applications/drivers/arrow-flight-sql-jdbc-driver)
|
|
38
|
+
* [Dremio JDBC (Legacy)](/current/client-applications/drivers/jdbc)
|
|
39
|
+
* [Arrow Flight SQL ODBC](/current/client-applications/drivers/arrow-flight-sql-odbc-driver)
|
|
40
|
+
|
|
41
|
+
## Developing Custom Applications
|
|
42
|
+
|
|
43
|
+
To create a connection to Dremio and run queries, you can use [Arrow Flight SQL JDBC](/current/client-applications/drivers/arrow-flight-sql-jdbc-driver). You can also use [PyArrow](/current/developer/python).
|
|
44
|
+
|
|
45
|
+
## Client Encryption
|
|
46
|
+
|
|
47
|
+
Transport Layer Security (TLS) communication is supported for encrypting communication between JDBC client applications and Dremio servers. See the configuration of client TLS for [Dremio on Kubernetes](/current/deploy-dremio/configuring-kubernetes/#transport-level-security) or [Dremio standalone clusters](/current/deploy-dremio/other-options/standalone/dremio-config/dremio-conf/wire-encryption-config/#legacy-jdbc-and-power-bi-clients-with-legacy-odbc-driver-enterprise) for more information.
|
|
48
|
+
|
|
49
|
+
Transport Layer Security (TLS) communication is enabled by default for Arrow Flight client applications. See the configuration of Arrow Flight encryption for [Dremio on Kubernetes](/current/deploy-dremio/configuring-kubernetes/#transport-level-security) or [Dremio standalone clusters](/current/deploy-dremio/other-options/standalone/dremio-config/dremio-conf/wire-encryption-config/#arrow-flight-encryption-enterprise-edition-only) for more information. If you want to connect via unencrypted connections, you must explicitly disable `useEncryption` by setting it to `false` in the [connection parameters](/current/client-applications/drivers/arrow-flight-sql-odbc-driver/#ssl-connection-parameters) for the Arrow Flight SQL ODBC driver.
|
|
50
|
+
|
|
51
|
+
Was this page helpful?
|
|
52
|
+
|
|
53
|
+
[Previous
|
|
54
|
+
|
|
55
|
+
Wikis and Tags](/current/data-products/govern/wikis-tags)[Next
|
|
56
|
+
|
|
57
|
+
Alteryx Designer](/current/client-applications/alteryx-designer)
|
|
58
|
+
|
|
59
|
+
* Drivers
|
|
60
|
+
* Developing Custom Applications
|
|
61
|
+
* Client Encryption
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
# Source: https://docs.dremio.com/current/client-applications/alteryx-designer
|
|
66
|
+
|
|
67
|
+
Version: current [26.x]
|
|
68
|
+
|
|
69
|
+
On this page
|
|
70
|
+
|
|
71
|
+
# Alteryx Designer
|
|
72
|
+
|
|
73
|
+
You can use Alteryx Designer to quickly prepare, blend, conform, and analyze data from datasets in Dremio.
|
|
74
|
+
|
|
75
|
+
## Supported Versions
|
|
76
|
+
|
|
77
|
+
Alteryx Designer 10.6+
|
|
78
|
+
|
|
79
|
+
## Prerequisites
|
|
80
|
+
|
|
81
|
+
* Ensure that your operating system is 64-bit Windows 10 or later.
|
|
82
|
+
* Download, install, and configure the [Arrow Flight SQL ODBC driver](/current/client-applications/drivers/arrow-flight-sql-odbc-driver/).
|
|
83
|
+
* If you want to authenticate to Dremio by using a personal access token (PAT), rather than by using a password, generate a PAT. See [Personal Access Tokens](/current/security/authentication/personal-access-tokens/) for the steps.
|
|
84
|
+
|
|
85
|
+
## Selecting Dremio as a Data Source
|
|
86
|
+
|
|
87
|
+
1. In Alteryx Designer, select **File** > **New Workflow**.
|
|
88
|
+
2. Drag the **Input Data** tool from the tool palette on to the workflow canvas.
|
|
89
|
+
3. In the configuration properties for Input Data, click the arrow on the right side of the **Connect a File or Database** field.
|
|
90
|
+
4. In the Data connections dialog, follow these steps:
|
|
91
|
+
|
|
92
|
+
a. Select **Recent** and click **Clear List** in the top-right corner if there are any entries on the page.
|
|
93
|
+
|
|
94
|
+
b. Select **Data Sources**.
|
|
95
|
+
|
|
96
|
+
c. Scroll down to the option **Generic connection**.
|
|
97
|
+
|
|
98
|
+
d. Click either **ODBC** or **OleDB**.
|
|
99
|
+
5. If you clicked **ODBC**, follow these steps in the ODBC Connection dialog:
|
|
100
|
+
|
|
101
|
+
a. In the **Data Source Name** field, select the data source name for the Arrow Flight SQL ODBC driver.
|
|
102
|
+
|
|
103
|
+
b. Specify the username to use for the connection to Dremio.
|
|
104
|
+
|
|
105
|
+
c. Specify either a password or a personal access token to use with the username.
|
|
106
|
+
|
|
107
|
+
d. Click **OK**.
|
|
108
|
+
6. If you clicked **OleDB**, follow these steps in the Data Link Properties dialog:
|
|
109
|
+
|
|
110
|
+
a. On the **Provider** tab, select **Microsoft OLE DB Provider for ODBC Drivers**.
|
|
111
|
+
|
|
112
|
+
b. Click **Next>>**.
|
|
113
|
+
|
|
114
|
+
c. For step 1 on the **Connection** tab, select **Use data source name**, and then select the data source name for the Arrow Flight SQL ODBC driver.
|
|
115
|
+
|
|
116
|
+
d. For step 2 on the **Connection** tab, specify the username to use for connections to Dremio, then specify either a password or a personal access token to use with the username.
|
|
117
|
+
|
|
118
|
+
e. (Optional) Click **Test Connection** to find out whether the info you specified on this tab is correct.
|
|
119
|
+
|
|
120
|
+
f. Click **OK**.
|
|
121
|
+
|
|
122
|
+
You can now browse and query datasets that are in Dremio.
|
|
123
|
+
|
|
124
|
+
warning
|
|
125
|
+
|
|
126
|
+
If you are using an Arrow Flight SQL ODBC driver, it only supports a single connection, and to load multiple tables (or datasets), you should do it sequentially. Otherwise, if you try to do it in parallel, the driver raises an error.
|
|
127
|
+
|
|
128
|
+
Was this page helpful?
|
|
129
|
+
|
|
130
|
+
[Previous
|
|
131
|
+
|
|
132
|
+
Connect Client Applications](/current/client-applications/)[Next
|
|
133
|
+
|
|
134
|
+
Apache Superset](/current/client-applications/superset)
|
|
135
|
+
|
|
136
|
+
* Supported Versions
|
|
137
|
+
* Prerequisites
|
|
138
|
+
* Selecting Dremio as a Data Source
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
# Source: https://docs.dremio.com/current/client-applications/superset
|
|
143
|
+
|
|
144
|
+
Version: current [26.x]
|
|
145
|
+
|
|
146
|
+
On this page
|
|
147
|
+
|
|
148
|
+
# Apache Superset
|
|
149
|
+
|
|
150
|
+
You can use [Superset](https://superset.apache.org/) to query and visualize data.
|
|
151
|
+
|
|
152
|
+
## Supported Versions
|
|
153
|
+
|
|
154
|
+
* Superset 1.5.3 and later
|
|
155
|
+
* Dremio SQLAlchemy connector 3.0.2 and later
|
|
156
|
+
|
|
157
|
+
## Supported Authentication Methods
|
|
158
|
+
|
|
159
|
+
* Use the username and password of an account in your Dremio cluster.
|
|
160
|
+
* Use the username of an account in your Dremio cluster and a personal access token (PAT) created in Dremio. To create a PAT, follow the steps in [Creating a PAT](/current/security/authentication/personal-access-tokens#creating-a-pat). After you obtain a PAT, it is recommended that you URL-encode it. To encode it locally on your system, you can follow these steps:
|
|
161
|
+
1. In a browser window, right-click an empty area of the page and select **Inspect** or **Inspect Element**, depending on your browser.
|
|
162
|
+
2. In the top bar of the inspection pane, click **Console**.
|
|
163
|
+
3. Type `encodeURIComponent("<PAT>")`, where `<PAT>` is the personal access token. The URL-encoded PAT appears in red on the next line. You can highlight it and copy it to your clipboard.
|
|
164
|
+
|
|
165
|
+
## Prerequisites
|
|
166
|
+
|
|
167
|
+
If you installed Superset according to [the instructions for installing from scratch](https://superset.apache.org/docs/installation/installing-superset-from-scratch), install the Dremio SQLAlchemy Connector on the system or in the VM where Apache Superset is running. Instructions are in the [sqlalchemy\_dremio repository](https://github.com/narendrans/sqlalchemy_dremio) in GitHub.
|
|
168
|
+
|
|
169
|
+
## Creating a Connection
|
|
170
|
+
|
|
171
|
+
1. If you are using a version of Superset earlier than 2.1.0, follow these steps:
|
|
172
|
+
1. Select **Data** > **Databases** in the menu bar at the top of the screen.
|
|
173
|
+
2. Click the **Database** button in the top-right corner of the screen.
|
|
174
|
+
2. If you are using version 2.1.0 or later of Superset, follow these steps:
|
|
175
|
+
1. Click **Datasets** in the menu bar at the top of the screen.
|
|
176
|
+
2. Click the plus (+) icon in the top-right corner.
|
|
177
|
+
3. Select **Data** > **Connect database**.
|
|
178
|
+
3. In the **Connect a Database** dialog, follow these steps:
|
|
179
|
+
1. Select **Other** from the **Supported Databases** field.
|
|
180
|
+
2. In the **Display Name** field, name the new connection.
|
|
181
|
+
3. If you want to authenticate by using a username and password, specify in the **SQLAlchemy URI** field a URI that is in this format:
|
|
182
|
+
Format of URIs with username and password authentication
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
dremio+flight://<username>:<password>@<host>:<port>/<schema>[?option1=value[&,...]]
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
* `<username>`: The username of the Dremio account to use.
|
|
189
|
+
* `<password>`: The password of the Dremio account to use.
|
|
190
|
+
* `<host>`: The hostname or IP address of the coordinator node of the Dremio cluster.
|
|
191
|
+
* `<port>`: The port to connect to on the coordinator node. Unless explicitly changed on the node, the port is 32010.
|
|
192
|
+
* `<schema>`: The name of the database schema to use by default when a schema is not given in a query. Providing a schema is optional. Specifying a schema does not prevent queries from being issued for other schemas; such queries must explicitly include the schema.
|
|
193
|
+
* `[?option1=value[&,...]]`: One or more optional properties, separated by ampersands (`&`). See SSL Connection Properties and Advanced Properties.Example URI with username and password authentication
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
dremio+flight://myUserID:myPassword@myHost:32010/Samples?UseEncryption=false
|
|
197
|
+
```
|
|
198
|
+
4. If you want to authenticate by using a personal access token, specify in the **SQLAlchemy URI** field a URI that is in this format:
|
|
199
|
+
Format of URIs with PAT authentication
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
dremio+flight://<username>:<PAT>@<host>:<port>/<schema>[?option1=value[&,...]]
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
* `<username>`: The username of the Dremio account to use.
|
|
206
|
+
* `<PAT>`: The URL-encoded personal access token that you obtained from Dremio Cloud. See Supported Authentication Methods.
|
|
207
|
+
* `<host>`: The hostname or IP address of the coordinator node of the Dremio cluster.
|
|
208
|
+
* `<port>`: The port to connect to on the coordinator node. Unless explicitly changed on the node, the port is 32010.
|
|
209
|
+
* `<schema>`: The name of the database schema to use by default when a schema is not given in a query. Providing a schema is optional. Specifying a schema does not prevent queries from being issued for other schemas; such queries must explicitly include the schema.
|
|
210
|
+
* `[?option=value[;...]]`: One or more optional properties, separated by semicolons. See SSL Connection Properties and Advanced Properties.Example URI with PAT authentication
|
|
211
|
+
|
|
212
|
+
```
|
|
213
|
+
dremio+flight://myUserID:myPAT@myHost:32010/Samples?UseEncryption=false
|
|
214
|
+
```
|
|
215
|
+
5. Test the connection. If the test fails, check the syntax and values in the connection URI.
|
|
216
|
+
6. Click **Connect**.
|
|
217
|
+
|
|
218
|
+
## SSL Connection Parameters
|
|
219
|
+
|
|
220
|
+
Use the following parameters to configure SSL encryption and verification methods:
|
|
221
|
+
|
|
222
|
+
| Name | Type | Description | Default Value |
|
|
223
|
+
| --- | --- | --- | --- |
|
|
224
|
+
| UseEncryption | integer | Forces the client to use an SSL-encrypted connection to communicate with Dremio. Accepted values: `true`, the client communicates with Dremio by using SSL encryption; `false`, the client does not communicate with Dremio by using SSL encryption. | true |
|
|
225
|
+
| disableCertificateVerification | integer | Specifies whether to verify the host certificate against the trust store. Accepted values: `false`, verifies the certificate against the trust store; `true`, does not verify the certificate against the trust store. | false |
|
|
226
|
+
| trustedCerts | string | The full path of the .pem file containing certificates trusted by a CA, for the purpose of verifying the server. If this option is not set, defaults to using the trusted CA certificates .pem file. The TLS connection fails if you do not specify a value when UseEncryption is true and disableCertificateVerification is false. | N/A |
|
|
227
|
+
|
|
228
|
+
## Advanced Parameters
|
|
229
|
+
|
|
230
|
+
| Name | Type | Description | Default Value |
|
|
231
|
+
| --- | --- | --- | --- |
|
|
232
|
+
| routing\_queue | string | Specifies the queue to route queries to during a session. Direct Routing is used to specify the exact queue and execution cluster to run queries on for a given ODBC session. With Direct Routing, workload-management (WLM) rules are not considered; instead, queries are routed directly to the specified queue. For more information, see [Workload Management](/current/admin/workloads/workload-management). | N/A |
|
|
233
|
+
| routing\_tag | string | When this parameter is set, the specified tag is associated with all queries executed within a session. Rules can check for the presence of a tag with the function "tag()". For more information, see [Workload Management](/current/admin/workloads/workload-management). | N/A |
|
|
234
|
+
|
|
235
|
+
Was this page helpful?
|
|
236
|
+
|
|
237
|
+
[Previous
|
|
238
|
+
|
|
239
|
+
Alteryx Designer](/current/client-applications/alteryx-designer)[Next
|
|
240
|
+
|
|
241
|
+
DataGrip](/current/client-applications/datagrip)
|
|
242
|
+
|
|
243
|
+
* Supported Versions
|
|
244
|
+
* Supported Authentication Methods
|
|
245
|
+
* Prerequisites
|
|
246
|
+
* Creating a Connection
|
|
247
|
+
* SSL Connection Parameters
|
|
248
|
+
* Advanced Parameters
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
# Source: https://docs.dremio.com/current/client-applications/datagrip
|
|
253
|
+
|
|
254
|
+
Version: current [26.x]
|
|
255
|
+
|
|
256
|
+
On this page
|
|
257
|
+
|
|
258
|
+
# DataGrip
|
|
259
|
+
|
|
260
|
+
You can run SQL from [DataGrip](https://www.jetbrains.com/datagrip/) to explore your data through Dremio. DataGrip supports connections to Dremio through the Arrow Flight SQL JDBC driver.
|
|
261
|
+
|
|
262
|
+
## Supported Versions
|
|
263
|
+
|
|
264
|
+
Dremio connectivity is supported from DataGrip running on Windows, macOS, or Linux. It is recommended that you use the latest available version of DataGrip.
|
|
265
|
+
|
|
266
|
+
## Supported Authentication Methods
|
|
267
|
+
|
|
268
|
+
You can authenticate your connection to Dremio using your Dremio username and password.
|
|
269
|
+
|
|
270
|
+
## Prerequisites
|
|
271
|
+
|
|
272
|
+
Download the [Arrow Flight SQL JDBC driver](https://www.dremio.com/drivers/jdbc/).
|
|
273
|
+
|
|
274
|
+
## Connecting to Dremio
|
|
275
|
+
|
|
276
|
+
Follow the steps below to connect to Dremio:
|
|
277
|
+
|
|
278
|
+
1. Create a project in DataGrip (see [Quick start with DataGrip](https://www.jetbrains.com/help/datagrip/quick-start-with-datagrip.html#step-1-configure-initial-settings) for more information).
|
|
279
|
+
2. Open the Database Explorer, click the **+** icon, then click **Driver and Data Source**.
|
|
280
|
+
|
|
281
|
+

|
|
282
|
+
3. Select the **Drivers** tab, then click **+** to add a new driver.
|
|
283
|
+
4. Fill in the following details for the new driver:
|
|
284
|
+
|
|
285
|
+
* **Name:** Provide a name to identify the driver in DataGrip (e.g., Arrow Flight SQL 10).
|
|
286
|
+
* **Driver Files:** Click **+**, click **Custom JARs…**, then select the Arrow Flight SQL driver (*flight-sql-jdbc-driver-10.0.0.jar*) from the location where you downloaded it.
|
|
287
|
+
* **Class:** org.apache.arrow.driver.jdbc.ArrowFlightJdbcDriver
|
|
288
|
+
|
|
289
|
+

|
|
290
|
+
5. At the bottom of the Data Sources and Drivers panel, click **Create Data Source**.
|
|
291
|
+
6. Ensure that the driver you just created is selected under **Project Data Sources**.
|
|
292
|
+
7. For Authentication, select **User & Password**, and provide the Dremio username and password to send for authentication.
|
|
293
|
+
8. For URL, follow the guidance under [Connecting to Databases](/current/client-applications/drivers/arrow-flight-sql-jdbc-driver/#connecting-to-databases).
|
|
294
|
+
|
|
295
|
+
The following is an example URL for a local Dremio installation that does not use an encrypted flight port:
|
|
296
|
+
|
|
297
|
+
Example Flight SQL URL
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
jdbc:arrow-flight-sql://localhost:32010?useEncryption=false
|
|
301
|
+
```
|
|
302
|
+
9. Click **Test Connection** to confirm a valid connection to Dremio.
|
|
303
|
+
|
|
304
|
+

|
|
305
|
+
10. Click **OK** to save driver and data source.
|
|
306
|
+
11. Run a simple query to see how results are displayed in DataGrip.
|
|
307
|
+
|
|
308
|
+

|
|
309
|
+
|
|
310
|
+
note
|
|
311
|
+
|
|
312
|
+
When querying tables and views in Dremio, ensure you are using the fully qualified path. For example, `SELECT * FROM Samples."samples.dremio.com"."NYC-taxi-trips"`.
|
|
313
|
+
|
|
314
|
+
Was this page helpful?
|
|
315
|
+
|
|
316
|
+
[Previous
|
|
317
|
+
|
|
318
|
+
Apache Superset](/current/client-applications/superset)[Next
|
|
319
|
+
|
|
320
|
+
DBeaver](/current/client-applications/dbeaver)
|
|
321
|
+
|
|
322
|
+
* Supported Versions
|
|
323
|
+
* Supported Authentication Methods
|
|
324
|
+
* Prerequisites
|
|
325
|
+
* Connecting to Dremio
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
# Source: https://docs.dremio.com/current/client-applications/dbeaver
|
|
330
|
+
|
|
331
|
+
Version: current [26.x]
|
|
332
|
+
|
|
333
|
+
On this page
|
|
334
|
+
|
|
335
|
+
# DBeaver
|
|
336
|
+
|
|
337
|
+
You can run SQL from [DBeaver](https://dbeaver.io/) to explore your data in your data lakes and relational databases through Dremio and the Arrow Flight SQL JDBC driver.
|
|
338
|
+
|
|
339
|
+
note
|
|
340
|
+
|
|
341
|
+
If you want to use DBeaver with the legacy JDBC driver, see the instructions [here](/current/client-applications/dbeaver-legacy/).
|
|
342
|
+
|
|
343
|
+
## Supported Authentication Methods
|
|
344
|
+
|
|
345
|
+
You can use your Dremio username and password, or you can use a personal access token (PAT) that you obtained from Dremio.
|
|
346
|
+
|
|
347
|
+
## Prerequisites
|
|
348
|
+
|
|
349
|
+
* Download the [Arrow Flight SQL JDBC driver](https://www.dremio.com/drivers/jdbc/).
|
|
350
|
+
* If you want to authenticate your connection to Dremio by using a personal access token, see [Creating a PAT](/current/security/authentication/personal-access-tokens/#creating-a-pat) for the steps to obtain one.
|
|
351
|
+
|
|
352
|
+
## Connecting to Dremio
|
|
353
|
+
|
|
354
|
+
1. In DBeaver, add the JDBC driver as a new driver. You need to do this only once, and can skip this step if DBeaver already lists this driver in its Driver Manager dialog:
|
|
355
|
+
|
|
356
|
+
a. In the menubar, select **Database** > **Driver Manager**.
|
|
357
|
+
|
|
358
|
+
b. In the Driver Manager dialog, click **New**.
|
|
359
|
+
|
|
360
|
+
c. In the Settings section, follow these steps:
|
|
361
|
+
|
|
362
|
+
1. In the **Name** field, specify a name for the driver, such as "Arrow Flight SQL JDBC".
|
|
363
|
+
2. In the **Driver Type** field, ensure that **Generic** is the selected driver type.
|
|
364
|
+
3. In the **Class Name** field, specify `org.apache.arrow.driver.jdbc.ArrowFlightJdbcDriver`.
|
|
365
|
+
4. In the **URL Template** field, specify `jdbc:arrow-flight-sql://{host}:{port}`.
|
|
366
|
+
5. In the **Default Port** field, specify `32010`.
|
|
367
|
+
|
|
368
|
+
d. In the Libraries section, click **Add File** and select the `.jar` file for the Arrow Flight SQL JDBC.
|
|
369
|
+
|
|
370
|
+
e. Click **OK**.
|
|
371
|
+
2. Create a connection to Dremio that uses the driver:
|
|
372
|
+
|
|
373
|
+
a. Select **Database** > **New Connection from JDBC URL**.
|
|
374
|
+
|
|
375
|
+
b. In the Create New Connection from JDBC URL dialog, type `jdbc:arrow-flight-sql://<hostname>:32010`, where `<hostname>` is the hostname of your coordinator node. DBeaver lists the driver in the **Drivers** field.
|
|
376
|
+
|
|
377
|
+
c. Select the driver and click **Next**.
|
|
378
|
+
|
|
379
|
+
d. In the Connect to a Database dialog, provide your authentication credentials by following either of these sets of steps:
|
|
380
|
+
|
|
381
|
+
* To use a personal access token that you obtained from Dremio:
|
|
382
|
+
|
|
383
|
+
1. In the **Username** field, specify the username for which the PAT was generated.
|
|
384
|
+
2. In the **Password** field, paste your personal access token.
|
|
385
|
+
* To use your Dremio username and password:
|
|
386
|
+
|
|
387
|
+
1. In the **Username** field, specify your username.
|
|
388
|
+
2. In the **Password** field, your password.
|
|
389
|
+
|
|
390
|
+
e. If connections to Dremio Software will not be encrypted, add the `useEncryption` property as a driver property, and set the value to `false`. The default for this property is `true`.
|
|
391
|
+
|
|
392
|
+
f. (Optional) Click **Test Connection**. If the connection works, the **Connection Test** dialog opens and indicates that DBeaver is able to connect to Dremio. The connection is not held open. Click **OK**.
|
|
393
|
+
|
|
394
|
+
g. Click **Finish**.
|
|
395
|
+
|
|
396
|
+
Was this page helpful?
|
|
397
|
+
|
|
398
|
+
[Previous
|
|
399
|
+
|
|
400
|
+
DataGrip](/current/client-applications/datagrip)[Next
|
|
401
|
+
|
|
402
|
+
DbVisualizer](/current/client-applications/dbvisualizer)
|
|
403
|
+
|
|
404
|
+
* Supported Authentication Methods
|
|
405
|
+
* Prerequisites
|
|
406
|
+
* Connecting to Dremio
|
|
407
|
+
|
|
408
|
+
---
|
|
409
|
+
|
|
410
|
+
# Source: https://docs.dremio.com/current/client-applications/dbvisualizer
|
|
411
|
+
|
|
412
|
+
Version: current [26.x]
|
|
413
|
+
|
|
414
|
+
On this page
|
|
415
|
+
|
|
416
|
+
# DbVisualizer
|
|
417
|
+
|
|
418
|
+
[DbVisualizer](https://www.dbvis.com/) is a SQL runner that works with any JDBC-compliant data source. You can run SQL from it to explore your data in your data lakes and relational databases through Dremio and the Arrow Flight SQL JDBC driver.
|
|
419
|
+
|
|
420
|
+
## Supported Versions
|
|
421
|
+
|
|
422
|
+
You can use any version of DbVisualizer, as long as you use Dremio 21 or later.
|
|
423
|
+
|
|
424
|
+
## Supported Authentication Methods
|
|
425
|
+
|
|
426
|
+
You can use your Dremio username and password, or you can use a personal access token (PAT) that you obtained from Dremio.
|
|
427
|
+
|
|
428
|
+
## Prerequisites
|
|
429
|
+
|
|
430
|
+
* Download the [Arrow Flight SQL JDBC driver](https://www.dremio.com/drivers/jdbc/).
|
|
431
|
+
* If you want to authenticate your connection to Dremio by using a personal access token, see [Creating a PAT](/current/security/authentication/personal-access-tokens/#creating-a-pat) for the steps to obtain one.
|
|
432
|
+
|
|
433
|
+
## Connecting to Dremio
|
|
434
|
+
|
|
435
|
+
1. Add the Arrow Flight SQL JDBC driver to DbVisualizer's Driver Manager. You need to do this only once, and can skip this step if DbVisualizer already lists this driver in its Driver Manager dialog:
|
|
436
|
+
|
|
437
|
+
a. Select **Tools** > **Driver Manager**.
|
|
438
|
+
|
|
439
|
+
b. Above the **Driver Name** list of the **Driver Manager** dialog, click the plus (+) symbol.
|
|
440
|
+
|
|
441
|
+
c. In the **Name** field, name the driver.
|
|
442
|
+
|
|
443
|
+
d. Under **Driver artifacts and jar files**, click the plus icon, browse to the `.jar` file that you downloaded, select it, and click **Open**. DbVisualizer loads the `.jar` file.
|
|
444
|
+
|
|
445
|
+
e. If you are not using TLS encryption for connections to Dremio, turn off encryption:
|
|
446
|
+
|
|
447
|
+
1. Click **Properties** next to **Driver Settings**.
|
|
448
|
+
2. Click the plus icon to add a new property.
|
|
449
|
+
3. Name the parameter `useEncryption` and set the value to `false`.
|
|
450
|
+
4. Click **Apply**.
|
|
451
|
+
|
|
452
|
+
f. Close the **Driver Manager** dialog.
|
|
453
|
+
2. Create a connection to Dremio:
|
|
454
|
+
|
|
455
|
+
a. In the menubar, select **Database** > **Create Database Connection**.
|
|
456
|
+
|
|
457
|
+
b. Double-click **Custom** at the bottom of the **Driver Name** list.
|
|
458
|
+
|
|
459
|
+
c. Name the connection.
|
|
460
|
+
|
|
461
|
+
d. In the **Settings Format** field, select **Database URL**.
|
|
462
|
+
|
|
463
|
+
e. Click in the **Driver Type** field and then double-click the name that you gave to the Arrow Flight SQL JDBC driver.
|
|
464
|
+
|
|
465
|
+
f. In the **Database URL** field, specify a URL in this format, where `host` is the hostname of your coordinator node: `jdbc:arrow-flight-sql://{host}:32010`
|
|
466
|
+
|
|
467
|
+
g. In the **Database Userid** and **Database Password** fields, specify your authentication credentials:
|
|
468
|
+
|
|
469
|
+
* To use a personal access token that you obtained from Dremio:
|
|
470
|
+
|
|
471
|
+
1. In the **Database Userid** field, specify the username for which the PAT was generated.
|
|
472
|
+
2. In the **Database Password** field, paste your personal access token.
|
|
473
|
+
* To use your Dremio username and password:
|
|
474
|
+
|
|
475
|
+
1. In the **Database Userid** field, specify your username.
|
|
476
|
+
2. In the **Database Password** field, your password.
|
|
477
|
+
|
|
478
|
+
h. If you are not using TLS encryptions for connections to Dremio, click the **Properties** tab and ensure that the property `useEncryption` is listed and that the value is `false`. Then, click the **Connection** tab.
|
|
479
|
+
|
|
480
|
+
f. Click **Finish**.
|
|
481
|
+
|
|
482
|
+
DbVisualizer creates the connection and opens it.
|
|
483
|
+
|
|
484
|
+
note
|
|
485
|
+
|
|
486
|
+
If you want to use DbVisualizer with the legacy JDBC driver, see the instructions [here](/current/client-applications/dbvisualizer-legacy/).
|
|
487
|
+
|
|
488
|
+
Was this page helpful?
|
|
489
|
+
|
|
490
|
+
[Previous
|
|
491
|
+
|
|
492
|
+
DBeaver](/current/client-applications/dbeaver)[Next
|
|
493
|
+
|
|
494
|
+
Domo](/current/client-applications/domo)
|
|
495
|
+
|
|
496
|
+
* Supported Versions
|
|
497
|
+
* Supported Authentication Methods
|
|
498
|
+
* Prerequisites
|
|
499
|
+
* Connecting to Dremio
|
|
500
|
+
|
|
501
|
+
---
|
|
502
|
+
|
|
503
|
+
# Source: https://docs.dremio.com/current/client-applications/domo
|
|
504
|
+
|
|
505
|
+
Version: current [26.x]
|
|
506
|
+
|
|
507
|
+
On this page
|
|
508
|
+
|
|
509
|
+
# Domo
|
|
510
|
+
|
|
511
|
+
[Domo](https://www.domo.com/) is a cloud-based platform designed to provide direct, simplified, real-time access to business data for decision makers across the company with minimal IT involvement.
|
|
512
|
+
|
|
513
|
+
## Supported Authentication Methods
|
|
514
|
+
|
|
515
|
+
* Use the username and password of an account in your Dremio cluster.
|
|
516
|
+
* Use a username and a personal access token (PAT). To create one, see [Creating a PAT](/current/security/authentication/personal-access-tokens/#creating-a-pat).
|
|
517
|
+
|
|
518
|
+
## Creating a Cloud Integration with Dremio Software
|
|
519
|
+
|
|
520
|
+
1. Click the **Data** tab to open the Datasets page.
|
|
521
|
+
2. Click the **Federated** tab to open the **Amplify existing cloud warehouses** dialog.
|
|
522
|
+
3. Next to **Native integration**, click **Dremio**.
|
|
523
|
+
4. In the **Cloud integrations** dialog, click **Add new integration**.
|
|
524
|
+
5. In step 1 of the **Connect a Dremio cloud integration** wizard, follow these sub-steps:
|
|
525
|
+
1. In the **Integration name** field, specify a unique name for the integration.
|
|
526
|
+
2. (Optional) In the **Integration description** field, briefly describe the integration.
|
|
527
|
+
3. Select **Dremio Software** as the connection type.
|
|
528
|
+
6. Click **Next**.
|
|
529
|
+
7. In step 2 of the wizard, follow these sub-steps:
|
|
530
|
+
1. In the **Dremio connection URL** field, specify the following connection URL:
|
|
531
|
+
|
|
532
|
+
Connection URL
|
|
533
|
+
|
|
534
|
+
```
|
|
535
|
+
jdbc:dremio:direct=<hostname>:<port>;ssl=<true-or-false>
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
`ssl`: Specifies whether to encrypt communication with the Dremio cluster. Set to `true` only if encryption for communication with JDBC clients is configured in the cluster. See the configuration of client TLS for [Dremio on Kubernetes](/current/deploy-dremio/configuring-kubernetes/#transport-level-security) or [Dremio standalone clusters](/current/deploy-dremio/other-options/standalone/dremio-config/dremio-conf/wire-encryption-config/#legacy-jdbc-and-power-bi-clients-with-legacy-odbc-driver-enterprise) for more information.
|
|
539
|
+
2. In the **Username** field, specify the username of the Dremio account that you want to use for authenticating to Dremio.
|
|
540
|
+
3. In the **Password** field, specify either the password for the Dremio account or a PAT.
|
|
541
|
+
8. Click **Next**.
|
|
542
|
+
9. Select the tables that you want to use with Domo through this integration.
|
|
543
|
+
10. Click **Create Datasets**.
|
|
544
|
+
|
|
545
|
+
Datasets are created from the tables, though no data is moved or copied. Datasets in Domo are connections to data in data sources.
|
|
546
|
+
|
|
547
|
+
Was this page helpful?
|
|
548
|
+
|
|
549
|
+
[Previous
|
|
550
|
+
|
|
551
|
+
DbVisualizer](/current/client-applications/dbvisualizer)[Next
|
|
552
|
+
|
|
553
|
+
IBM Cognos Analytics](/current/client-applications/cognos)
|
|
554
|
+
|
|
555
|
+
* Supported Authentication Methods
|
|
556
|
+
* Creating a Cloud Integration with Dremio Software
|
|
557
|
+
|
|
558
|
+
---
|
|
559
|
+
|
|
560
|
+
# Source: https://docs.dremio.com/current/client-applications/cognos
|
|
561
|
+
|
|
562
|
+
Version: current [26.x]
|
|
563
|
+
|
|
564
|
+
On this page
|
|
565
|
+
|
|
566
|
+
# IBM Cognos Analytics
|
|
567
|
+
|
|
568
|
+
You can run SQL from [Cognos Analytics](https://www.ibm.com/products/cognos-analytics) to explore your data through Dremio. Cognos Analytics Dynamic Query supports connections to Dremio through the Dremio JDBC driver.
|
|
569
|
+
|
|
570
|
+
## Supported Versions
|
|
571
|
+
|
|
572
|
+
To find out which versions of Dremio are supported with IBM Cognos 11.2.x, see [DQM testing of vendor-supported client driver versions for each Cognos Analytics 11.2.x release](https://www.ibm.com/support/pages/node/6441017#11.2.4fp2r).
|
|
573
|
+
|
|
574
|
+
To find out which versions of Dremio are supported with IBM Cognos 12.0.x, see [DQM testing of vendor-supported client driver versions for each Cognos Analytics 12.0.x release](https://www.ibm.com/support/pages/node/6989513#12.0.2r).
|
|
575
|
+
|
|
576
|
+
## Supported Authentication Methods
|
|
577
|
+
|
|
578
|
+
You can use your Dremio username and password, a personal access token (PAT), or an access token from an identity provider that supports OpenID.
|
|
579
|
+
|
|
580
|
+
If you want to use a PAT, follow these steps before creating a connection to your Dremio cluster from Cognos:
|
|
581
|
+
|
|
582
|
+
1. Ensure that your Dremio administrator has followed the steps in [Enabling the Use of PATs](/current/security/authentication/personal-access-tokens/#enabling-the-use-of-pats).
|
|
583
|
+
2. [Create a PAT](/current/security/authentication/personal-access-tokens/#creating-a-pat).
|
|
584
|
+
|
|
585
|
+
If you want to use an access token from an identity provider that supports OpenID, ensure that your Dremio administrator has followed the steps in [OpenID Authentication](/current/security/authentication/identity-providers/oidc).
|
|
586
|
+
|
|
587
|
+
## Creating a Connection
|
|
588
|
+
|
|
589
|
+
1. Launch Cognos Analytics.
|
|
590
|
+
2. Navigate to **Manage** > **Data Server Connections**.
|
|
591
|
+
3. Click **Add Data Server** and select **Dremio** as the type of connection.
|
|
592
|
+
4. In the **JDBC URL** field, specify the URL for the Dremio coordinator by using this template:
|
|
593
|
+
|
|
594
|
+
JDBC URL template
|
|
595
|
+
|
|
596
|
+
```
|
|
597
|
+
jdbc:dremio:direct=<DREMIO_COORDINATOR>:31010[;schema=<OPTIONAL_SCHEMA>]
|
|
598
|
+
```
|
|
599
|
+
5. Follow one of these steps to configure a method for authenticating to Dremio:
|
|
600
|
+
|
|
601
|
+
* If you want to connect to Dremio by using a username and a password, specify the username and password.
|
|
602
|
+
* If you want to connect to Dremio by using a personal access token (PAT), specify `$token` as the username and paste the PAT into the **Password** field.
|
|
603
|
+
* If you want to connect to Dremio by using access tokens, select a Cognos namespace which has been configured to use OpenID Connect.
|
|
604
|
+
6. Save the connection definition.
|
|
605
|
+
7. Click **Test** to confirm that the connection succeeds.
|
|
606
|
+
|
|
607
|
+
Was this page helpful?
|
|
608
|
+
|
|
609
|
+
[Previous
|
|
610
|
+
|
|
611
|
+
Domo](/current/client-applications/domo)[Next
|
|
612
|
+
|
|
613
|
+
Looker](/current/client-applications/looker)
|
|
614
|
+
|
|
615
|
+
* Supported Versions
|
|
616
|
+
* Supported Authentication Methods
|
|
617
|
+
* Creating a Connection
|
|
618
|
+
|
|
619
|
+
---
|
|
620
|
+
|
|
621
|
+
# Source: https://docs.dremio.com/current/client-applications/looker
|
|
622
|
+
|
|
623
|
+
Version: current [26.x]
|
|
624
|
+
|
|
625
|
+
On this page
|
|
626
|
+
|
|
627
|
+
# Looker
|
|
628
|
+
|
|
629
|
+
You can use [Looker](https://looker.com/) to query and visualize data by means of Dremio.
|
|
630
|
+
|
|
631
|
+
## Supported Authentication Methods
|
|
632
|
+
|
|
633
|
+
There are two methods of authenticating that you can choose from when you connect from Looker to Dremio:
|
|
634
|
+
|
|
635
|
+
* Use a username and password for your Dremio cluster.
|
|
636
|
+
* Use a personal access token (PAT) obtained from Dremio. To create a PAT, follow the steps in [Creating a PAT](/current/security/authentication/personal-access-tokens#creating-a-pat).
|
|
637
|
+
|
|
638
|
+
## Creating a Connection
|
|
639
|
+
|
|
640
|
+
1. Log into Looker.
|
|
641
|
+
2. In the menu bar at the top of the page, select **Admin**, and then select **Connections** under **Database**.
|
|
642
|
+
3. Click the **Add Connection** button in the top-right corner of the page to open the Connection Settings page for creating a connection.
|
|
643
|
+
4. Specify a name for the connection.
|
|
644
|
+
5. In the **Dialect** field, select **Dremio 11+**.
|
|
645
|
+
6. In the **Remote Host:Port** fields, specify the hostname or IP address of your Dremio cluster, as well as the port to connect to. By default, the port number is 31010.
|
|
646
|
+
7. In the **Database** field, specify any value. Though Looker requires a value in this field, Dremio does not use the value.
|
|
647
|
+
8. In the **Username** and **Password** fields, specify your authentication credentials:
|
|
648
|
+
|
|
649
|
+
* If you want to authenticate by using a Dremio username and a password, specify them in the **Username** and **Password** fields.
|
|
650
|
+
* If you want to authenticate by using a personal access token, specify these values:
|
|
651
|
+
|
|
652
|
+
+ In the **Username** field, specify your Dremio username.
|
|
653
|
+
+ In the **Password** field, paste the personal access token.
|
|
654
|
+
9. If your Dremio cluster is configured to use TLS, ensure that the **SSL** check box is selected.
|
|
655
|
+
10. Click **Test These Settings** at the bottom of the page to check that the information that you specified is all valid.
|
|
656
|
+
11. Click **Add Connection** if the test of the connection is successful.
|
|
657
|
+
|
|
658
|
+
The new connection is listed on the Connections page.
|
|
659
|
+
|
|
660
|
+
Was this page helpful?
|
|
661
|
+
|
|
662
|
+
[Previous
|
|
663
|
+
|
|
664
|
+
IBM Cognos Analytics](/current/client-applications/cognos)[Next
|
|
665
|
+
|
|
666
|
+
Microsoft Excel](/current/client-applications/microsoft-excel/)
|
|
667
|
+
|
|
668
|
+
* Supported Authentication Methods
|
|
669
|
+
* Creating a Connection
|
|
670
|
+
|
|
671
|
+
---
|
|
672
|
+
|
|
673
|
+
# Source: https://docs.dremio.com/current/client-applications/microsoft-excel/
|
|
674
|
+
|
|
675
|
+
Version: current [26.x]
|
|
676
|
+
|
|
677
|
+
On this page
|
|
678
|
+
|
|
679
|
+
# Microsoft Excel
|
|
680
|
+
|
|
681
|
+
## Supported Versions
|
|
682
|
+
|
|
683
|
+
warning
|
|
684
|
+
|
|
685
|
+
Microsoft Excel version 16.95 (25030928) for Mac introduces a change that causes Excel to crash when using the Arrow Flight SQL ODBC driver. The crash occurs immediately after authentication, before the query/source selection dialog appears. This issue only affects Excel 16.95 on macOS. Excel on Windows is not impacted. See Hiding the SQL Tables Listing for a fix.
|
|
686
|
+
|
|
687
|
+
Microsoft Excel in Microsoft 365
|
|
688
|
+
|
|
689
|
+
## Prerequisites
|
|
690
|
+
|
|
691
|
+
* Ensure that you are using Dremio v22.0 or later.
|
|
692
|
+
* Ensure that your operating system is 64-bit Windows 10 or later.
|
|
693
|
+
* Download, install, and configure the [Arrow Flight SQL ODBC driver](/current/client-applications/drivers/arrow-flight-sql-odbc-driver/).
|
|
694
|
+
* If you want to authenticate to Dremio by using a personal access token (PAT), rather than by using a password, generate a PAT. See [Personal Access Tokens](/current/security/authentication/personal-access-tokens/) for the steps.
|
|
695
|
+
|
|
696
|
+
## Connecting to Dremio
|
|
697
|
+
|
|
698
|
+
1. In Excel, select **Data** from the menu bar.
|
|
699
|
+
2. Click **Get Data**.
|
|
700
|
+
3. Select **From Other Sources** > **From ODBC**.
|
|
701
|
+
4. In the From ODBC dialog, select the data source name that you specified when you configured the Arrow Flight SQL ODBC driver.
|
|
702
|
+
5. Specify the username to use for the connection to Dremio.
|
|
703
|
+
6. Specify either a password or a personal access token to use with the username
|
|
704
|
+
7. In the Navigator dialog, select a dataset.
|
|
705
|
+
8. Click **Load**.
|
|
706
|
+
|
|
707
|
+
## Hiding the SQL Tables Listing
|
|
708
|
+
|
|
709
|
+
You can prevent Excel from crashing by enabling the `hideSQLTablesListing` flag to hide the list of available sources in the query/source selection dialog. This flag can be used for Mac computers with an Apple silicon or an Intel processor.
|
|
710
|
+
|
|
711
|
+
To set the configuration:
|
|
712
|
+
|
|
713
|
+
1. Go to the **System DSN** tab of the ODBC Manager.
|
|
714
|
+
2. Click **Configure**.
|
|
715
|
+
3. Change the value of the `hideSQLTablesListing` keyword to `true`.
|
|
716
|
+
4. Click **OK**.
|
|
717
|
+
|
|
718
|
+
## Using the Extended Flight SQL Buffer
|
|
719
|
+
|
|
720
|
+
Apple Silicon Not Supported
|
|
721
|
+
|
|
722
|
+
The Extended Flight SQL Buffer feature was designed for Apple Silicon processors, but the Arrow Flight SQL ODBC driver is not supported on Apple Silicon M1, M2, and M3 processors. This feature is no longer available.
|
|
723
|
+
|
|
724
|
+
Was this page helpful?
|
|
725
|
+
|
|
726
|
+
[Previous
|
|
727
|
+
|
|
728
|
+
Looker](/current/client-applications/looker)[Next
|
|
729
|
+
|
|
730
|
+
Microsoft Excel PowerPivot](/current/client-applications/microsoft-excel/microsoft-excel-powerpivot)
|
|
731
|
+
|
|
732
|
+
* Supported Versions
|
|
733
|
+
* Prerequisites
|
|
734
|
+
* Connecting to Dremio
|
|
735
|
+
* Hiding the SQL Tables Listing
|
|
736
|
+
* Using the Extended Flight SQL Buffer
|
|
737
|
+
|
|
738
|
+
---
|
|
739
|
+
|
|
740
|
+
# Source: https://docs.dremio.com/current/client-applications/microsoft-power-bi/
|
|
741
|
+
|
|
742
|
+
Version: current [26.x]
|
|
743
|
+
|
|
744
|
+
On this page
|
|
745
|
+
|
|
746
|
+
# Microsoft Power BI
|
|
747
|
+
|
|
748
|
+
Connect [Microsoft Power BI](https://www.microsoft.com/en-us/power-platform/products/power-bi) to visualize your data and create reports.
|
|
749
|
+
|
|
750
|
+
You can connect Power BI to Dremio in one of the following ways:
|
|
751
|
+
|
|
752
|
+
* Configure a reusable connection to use in Power BI Desktop, Power BI Gateway, or Power BI Service. Power BI Service can connect to Dremio through DirectQuery or through Power BI Gateway.
|
|
753
|
+
* Connect to a specific dataset by downloading the `.pbids` file from Dremio and opening it in Power BI Desktop.
|
|
754
|
+
|
|
755
|
+
## Supported Authentication Methods
|
|
756
|
+
|
|
757
|
+
From Power BI, you can authenticate to Dremio with one of the following methods:
|
|
758
|
+
|
|
759
|
+
* **Username and password**: Use your Dremio credentials.
|
|
760
|
+
* **Personal access token (PAT)**: For details, see [Personal Access Tokens](/current/security/authentication/personal-access-tokens/).
|
|
761
|
+
* **Single sign-on (SSO) through OAuth 2.0**: For steps on how to configure SSO, see Enable SSO to Dremio from Power BI.
|
|
762
|
+
|
|
763
|
+
## Connect to Dremio from Power BI
|
|
764
|
+
|
|
765
|
+
The Power BI connector for Dremio now supports connectivity through the open-source [Arrow Database Connectivity (ADBC) driver](https://arrow.apache.org/docs/format/ADBC.html), which Dremio highly recommends using to connect to Dremio. To enable reports to use ADBC, see Enable Connectivity with ADBC.
|
|
766
|
+
|
|
767
|
+
Existing connections will continue to work, but we recommend using the embedded ADBC driver for all new reports and migrating existing reports to ADBC to benefit from improved performance and supportability.
|
|
768
|
+
|
|
769
|
+
To connect to Dremio from Power BI Desktop:
|
|
770
|
+
|
|
771
|
+
1. Click **Get data**, search for `Dremio`, select **Dremio Software**, and click **Connect**.
|
|
772
|
+
2. In the Dremio Software dialog, follow these steps:
|
|
773
|
+
|
|
774
|
+
a. Use the Flight SQL ADBC driver and in the **Server** field specify your Dremio hostname with the `adbc://` prefix. Example: `adbc://acme-company.dremio.com`
|
|
775
|
+
|
|
776
|
+
b. (Optional) Complete the other fields in the dialog as you normally would.
|
|
777
|
+
|
|
778
|
+
c. Under **Data Connectivity mode**, select either **Import** or **DirectQuery**. Click **OK**.
|
|
779
|
+
|
|
780
|
+
d. For **Authentication Method**, select **Basic** or **Key**.
|
|
781
|
+
|
|
782
|
+
* **Basic**: Enter your Dremio username and password.
|
|
783
|
+
* **Key**: Paste in the personal access token you obtained from Dremio. For details, see [Personal Access Tokens](/current/security/authentication/personal-access-tokens/).
|
|
784
|
+
3. Click **Connect**.
|
|
785
|
+
|
|
786
|
+
note
|
|
787
|
+
|
|
788
|
+
Creating Dataflows through Power BI Service is also supported. To create a dataflow, click **New** > **Dataflow**. For the data source connection, follow the steps above.
|
|
789
|
+
|
|
790
|
+
### Create a Live Connection to a Dataset from Dremio
|
|
791
|
+
|
|
792
|
+
You can generate a Microsoft Power BI Data Source (`.pbids`) file that represents a live connection to a dataset that is in Dremio. No actual data is stored in this file, and you can think of it as a shortcut to a Power BI Desktop session with a preconfigured view of your data.
|
|
793
|
+
|
|
794
|
+
note
|
|
795
|
+
|
|
796
|
+
The `.pbids` file download option must be enabled for users to have access to this feature. To enable this feature, see Enable the `.pbids` file download.
|
|
797
|
+
|
|
798
|
+
To create a live connection to a dataset:
|
|
799
|
+
|
|
800
|
+
1. In Dremio, navigate to the dataset.
|
|
801
|
+
2. Click the ellipsis (**...**) next to the dataset name.
|
|
802
|
+
3. Select **Download .pbids file**.
|
|
803
|
+
4. Open the downloaded file in Power BI Desktop.
|
|
804
|
+
5. Authenticate using your preferred method.
|
|
805
|
+
|
|
806
|
+
## Power BI Gateway
|
|
807
|
+
|
|
808
|
+
To enable Power BI users to connect to Dremio via Power BI Gateway:
|
|
809
|
+
|
|
810
|
+
1. Install and configure [Power BI Gateway](https://docs.microsoft.com/en-us/power-bi/connect-data/service-gateway-onprem) on a machine that can connect to your Dremio cluster.
|
|
811
|
+
2. In the Power BI Gateway configuration, add Dremio as a data source using the same connection details as above.
|
|
812
|
+
|
|
813
|
+
## Advanced Configuration
|
|
814
|
+
|
|
815
|
+
### Enable Connectivity with ADBC
|
|
816
|
+
|
|
817
|
+
Dremio supports connectivity through Arrow Database Connectivity (ADBC). To enable this for Power BI Service, see the following options.
|
|
818
|
+
|
|
819
|
+
#### Enable the ADBC Option for a New Connection
|
|
820
|
+
|
|
821
|
+
1. In Power BI Desktop, click **Get data**.
|
|
822
|
+
2. In the Get Data dialog, locate and select **Dremio Software**, and click **Connect**.
|
|
823
|
+
3. In the Dremio Software dialog, in the **Server** field, specify your hostname with the `adbc://` prefix. Example: `adbc://acme-company.dremio.com`
|
|
824
|
+
4. (Optional) Complete the other fields in the dialog as you normally would.
|
|
825
|
+
5. Click **OK**.
|
|
826
|
+
6. Authenticate using your preferred method, and click **Connect**.
|
|
827
|
+
|
|
828
|
+
#### Enable the ADBC Option for an Existing Connection
|
|
829
|
+
|
|
830
|
+
1. In Power BI Desktop, go to **Data source settings**, select your source, and click **Change source**.
|
|
831
|
+
2. In the Dremio Software dialog, update the **Server** field by adding the `adbc://` prefix before the hostname. Example: `adbc://acme-company.dremio.com`. If you're unable to edit the source this way, click **Transform data**, then click **Advanced Editor** in the **Home** tab. In the dialog that appears, update the hostname/server with the `adbc://` prefix, and click **Done**.
|
|
832
|
+
3. Click **OK**.
|
|
833
|
+
4. Reauthenticate using your preferred method, and click **Connect**.
|
|
834
|
+
|
|
835
|
+
### Enable the `.pbids` File Download in the Dremio Console
|
|
836
|
+
|
|
837
|
+
To enable the `.pbids` file download feature:
|
|
838
|
+
|
|
839
|
+
1. In Dremio, go to **Admin** > **Settings**.
|
|
840
|
+
2. In the **Support** section, enable **Allow downloading of .pbids files**.
|
|
841
|
+
3. Click **Save**.
|
|
842
|
+
|
|
843
|
+
### Enable SSO to Dremio from Power BI
|
|
844
|
+
|
|
845
|
+
SSO is supported only for datasets that use DirectQuery.
|
|
846
|
+
|
|
847
|
+
note
|
|
848
|
+
|
|
849
|
+
SSO only works for reports created using the Dremio Cloud connector in Power BI Desktop. Reports created with the Dremio Software connector cannot use SSO by simply changing credentials, they must be converted first.
|
|
850
|
+
|
|
851
|
+
To convert existing reports from the Dremio Software connector to the Dremio Cloud connector, you'll need to modify the connection in Power BI's Advanced Editor to change the function from `Dremio.Databases` to `DremioCloud.DatabasesByServerV370`.
|
|
852
|
+
|
|
853
|
+
Prerequisites: Configure Dremio for Microsoft Entra ID
|
|
854
|
+
|
|
855
|
+
Before enabling SSO for Power BI reports, Dremio must be configured to use Microsoft Entra ID (Azure AD) as an identity provider.
|
|
856
|
+
|
|
857
|
+
**Required configuration:**
|
|
858
|
+
|
|
859
|
+
* Set `services.coordinator.web.auth.type` to the Microsoft Entra ID / OIDC provider type configured for your deployment (for example, `azuread`)
|
|
860
|
+
* Provide the required OIDC or Azure AD configuration file (`azuread.json` or equivalent)
|
|
861
|
+
* Deploy configuration files to all coordinator nodes
|
|
862
|
+
* Restart Dremio cluster after applying changes
|
|
863
|
+
|
|
864
|
+
For complete setup steps, see [Configure Microsoft Entra ID](/current/security/authentication/identity-providers/microsoft-entra-id/).
|
|
865
|
+
|
|
866
|
+
note
|
|
867
|
+
|
|
868
|
+
All authentication setup must be done through configuration files before enabling SSO in Power BI.
|
|
869
|
+
|
|
870
|
+
The following steps configure the Power BI side of SSO. These steps assume your Dremio deployment is already configured to authenticate users via Microsoft Entra ID.
|
|
871
|
+
|
|
872
|
+
To enable SSO for Power BI reports:
|
|
873
|
+
|
|
874
|
+
#### Enable SSO for a DirectQuery Report
|
|
875
|
+
|
|
876
|
+
To enable SSO for a report that uses DirectQuery:
|
|
877
|
+
|
|
878
|
+
1. In Power BI Service, open the workspace to which you published the report.
|
|
879
|
+
2. Find the dataset that is associated with the report, click the three dots next to its name, and select **Settings**.
|
|
880
|
+
3. In the settings for the dataset, expand **Data source credentials**.
|
|
881
|
+
4. Click **Edit credentials**.
|
|
882
|
+
5. For **Authentication method**, select **OAuth2**.
|
|
883
|
+
6. In the **Privacy level setting for this data source** field, ensure that **Private** is selected.
|
|
884
|
+
7. Select the check box **Report viewers can only access this data source with their own Power BI identities using DirectQuery**.
|
|
885
|
+
8. Click **Sign in**.
|
|
886
|
+
|
|
887
|
+
#### Enable SSO for Reports with Power BI Gateway
|
|
888
|
+
|
|
889
|
+
To enable SSO when you are using Power BI Gateway:
|
|
890
|
+
|
|
891
|
+
1. In Power BI Service, open the workspace to which you published the report.
|
|
892
|
+
2. Find the dataset that is associated with the report, click the three dots next to its name, and select **Settings**.
|
|
893
|
+
3. In the settings for the dataset, expand **Gateway connection**.
|
|
894
|
+
4. Recreate your data source by following these steps:
|
|
895
|
+
|
|
896
|
+
1. Select the **Maps to** field.
|
|
897
|
+
2. Select **Manually add to gateway**.
|
|
898
|
+
3. For **Data Source Name**, enter a name for the data source.
|
|
899
|
+
4. For **Data Source Type**, select **Dremio Software**.
|
|
900
|
+
5. For **Server**, enter your Dremio hostname with the `adbc://` prefix. Example: `adbc://acme-company.dremio.com`
|
|
901
|
+
6. For **Authentication Method**, select **OAuth2**.
|
|
902
|
+
7. Click **Add**.
|
|
903
|
+
5. In the **Data source credentials** section, click **Edit credentials**.
|
|
904
|
+
6. For **Authentication method**, select **OAuth2**.
|
|
905
|
+
7. In the **Privacy level setting for this data source** field, ensure that **Private** is selected.
|
|
906
|
+
8. Select the check box **Report viewers can only access this data source with their own Power BI identities using DirectQuery**.
|
|
907
|
+
9. Click **Sign in**.
|
|
908
|
+
|
|
909
|
+
note
|
|
910
|
+
|
|
911
|
+
SSO requires the OAuth2 authentication method. Basic authentication and personal access tokens do not support SSO when used through Power BI Gateway.
|
|
912
|
+
|
|
913
|
+
## Arrow Database Connectivity (ADBC) Limitations
|
|
914
|
+
|
|
915
|
+
* ADBC is not enabled by default. It must be enabled by the owner of the report.
|
|
916
|
+
* NativeQuery is not supported.
|
|
917
|
+
* Metadata calls are not cached.
|
|
918
|
+
* Power BI Desktop occasionally caches errors that might affect future connection attempts until the cache is cleared.
|
|
919
|
+
* Complex data types such as `MAP` and `INTERVAL` are not supported.
|
|
920
|
+
* When using DirectQuery, chaining functions is supported, but some complex scenarios may not work as expected. Complex optional parameters for functions are not supported.
|
|
921
|
+
|
|
922
|
+
## Troubleshoot Power BI
|
|
923
|
+
|
|
924
|
+
### Cached Data Issues
|
|
925
|
+
|
|
926
|
+
If you have previously installed older versions of Power BI Desktop, cached data may interfere with the newer versions of the Flight SQL drivers resulting in connection errors.
|
|
927
|
+
|
|
928
|
+
#### Problem
|
|
929
|
+
|
|
930
|
+
For example, when using Flight SQL ADBC, cached connection data in Power BI could cause the following errors:
|
|
931
|
+
|
|
932
|
+
* `ADBC: IOError [] [FlightSQL] [FlightSQL] unresolved address (Unavailable; GetObjects(GetDBSchemas))`
|
|
933
|
+
* `ADBC: IOError [] [FlightSQL] [FlightSQL] connection error: desc = "transport: authentication handshake failed: credentials: cannot check peer: missing selected ALPN property. If you upgraded from a grpc-go version earlier than 1.67, your TLS connections may have stopped working due to ALPN enforcement. For more details, see: https://github.com/grpc/grpc-go/issues/434" (Unavailable; GetObjects(GetDBSchemas))"`
|
|
934
|
+
|
|
935
|
+
#### Solution
|
|
936
|
+
|
|
937
|
+
Clear the Power BI Desktop cache and any cached data source permissions involving Dremio connections by following these steps:
|
|
938
|
+
|
|
939
|
+
1. [Clear Power BI Desktop Caches](https://community.fabric.microsoft.com/t5/Desktop/How-to-clear-cache-in-Power-BI-Desktop/m-p/853389#M409501).
|
|
940
|
+
2. In Power BI Desktop, go to **File** > **Options and Settings** > **Data Source Settings**.
|
|
941
|
+
3. Select **Global Permissions**.
|
|
942
|
+
4. Clear all cached connections by clicking **Clear All Permissions**, or select specific Dremio data sources and click **Clear Permissions**.
|
|
943
|
+
|
|
944
|
+
After completing these steps, try reconnecting to Dremio using the instructions above.
|
|
945
|
+
|
|
946
|
+
### Large Result Sets
|
|
947
|
+
|
|
948
|
+
#### Problem
|
|
949
|
+
|
|
950
|
+
When fetching data from Dremio with ADBC you may see the following error:
|
|
951
|
+
|
|
952
|
+
* `Unexpected error: [FlightSQL] grpc: received message larger than max (43747370 vs. 16777216) (ResourceExhausted; DoGet: endpoint 0: [])`
|
|
953
|
+
|
|
954
|
+
#### Solution
|
|
955
|
+
|
|
956
|
+
By default, the ADBC driver accepts only messages up to 16 MiB in size. This can be fixed by updating the Power BI M expression to customize the connection as follows:
|
|
957
|
+
|
|
958
|
+
```
|
|
959
|
+
let
|
|
960
|
+
Source = DremioCloud.DatabasesByServerV370("your-server-here", [
|
|
961
|
+
MaxMessageSize = 67108864 // 64 MiB
|
|
962
|
+
])
|
|
963
|
+
in
|
|
964
|
+
Source
|
|
965
|
+
```
|
|
966
|
+
|
|
967
|
+
Replace `your-server-here` with your actual Dremio server address. The `MaxMessageSize` parameter sets the maximum message size in bytes (67108864 = 64 MiB).
|
|
968
|
+
|
|
969
|
+
Was this page helpful?
|
|
970
|
+
|
|
971
|
+
[Previous
|
|
972
|
+
|
|
973
|
+
Microsoft Excel PowerPivot](/current/client-applications/microsoft-excel/microsoft-excel-powerpivot)[Next
|
|
974
|
+
|
|
975
|
+
Microstrategy Workstation](/current/client-applications/microstrategy)
|
|
976
|
+
|
|
977
|
+
* Supported Authentication Methods
|
|
978
|
+
* Connect to Dremio from Power BI
|
|
979
|
+
+ Create a Live Connection to a Dataset from Dremio
|
|
980
|
+
* Power BI Gateway
|
|
981
|
+
* Advanced Configuration
|
|
982
|
+
+ Enable Connectivity with ADBC
|
|
983
|
+
+ Enable the `.pbids` File Download in the Dremio Console
|
|
984
|
+
+ Enable SSO to Dremio from Power BI
|
|
985
|
+
* Arrow Database Connectivity (ADBC) Limitations
|
|
986
|
+
* Troubleshoot Power BI
|
|
987
|
+
+ Cached Data Issues
|
|
988
|
+
+ Large Result Sets
|
|
989
|
+
|
|
990
|
+
---
|
|
991
|
+
|
|
992
|
+
# Source: https://docs.dremio.com/current/client-applications/microstrategy
|
|
993
|
+
|
|
994
|
+
Version: current [26.x]
|
|
995
|
+
|
|
996
|
+
On this page
|
|
997
|
+
|
|
998
|
+
# Microstrategy Workstation
|
|
999
|
+
|
|
1000
|
+
[MicroStrategy Workstation](https://www2.microstrategy.com/producthelp/Current/Workstation/en-us/Content/home_workstation.htm) makes it easy to build compelling visualizations and interactive dossiers in a matter of minutes and then easily share those dossiers with others.
|
|
1001
|
+
|
|
1002
|
+
## Supported Versions
|
|
1003
|
+
|
|
1004
|
+
Microstrategy Workstation 2021 Update 9 and later.
|
|
1005
|
+
|
|
1006
|
+
## Supported Authentication Methods
|
|
1007
|
+
|
|
1008
|
+
* Use a Dremio username and password.
|
|
1009
|
+
* Use a Dremio username and a personal access token (PAT) that you obtained from Dremio.
|
|
1010
|
+
|
|
1011
|
+
## Prerequisites
|
|
1012
|
+
|
|
1013
|
+
* Install the latest version of Dremio's legacy JDBC driver:
|
|
1014
|
+
1. [Download the driver](https://download.dremio.com/jdbc-driver/dremio-jdbc-driver-LATEST.jar).
|
|
1015
|
+
2. Move the `.jar` file to one of these locations:
|
|
1016
|
+
+ On Windows: `C:\Program Files (x86)\Common Files\MicroStrategy\JDBC`
|
|
1017
|
+
+ On Linux: `/opt/mstr/MicroStrategy/install/JDBC`
|
|
1018
|
+
* If you want to authenticate your connection to Dremio by using a PAT, see [Creating a PAT](/current/security/authentication/personal-access-tokens/#creating-a-pat) for the steps to obtain one.
|
|
1019
|
+
* In Microstrategy Workstation, select **Help** > **Enable New Data Import Experience**.
|
|
1020
|
+
|
|
1021
|
+
## Creating an Environment-level Integration with Dremio
|
|
1022
|
+
|
|
1023
|
+
You can create an integration with Dremio that can be used in more than one dossier.
|
|
1024
|
+
|
|
1025
|
+
1. In Microstrategy Workstation, connect to the environment that you plan to use.
|
|
1026
|
+
2. Under **Administration** on the left side of the screen, click the + sign to the right of **Data Sources**.
|
|
1027
|
+
3. In the Data Source Types dialog, click **Dremio**.
|
|
1028
|
+
4. In the Add Data Source - Dremio dialog, follow these steps:
|
|
1029
|
+
1. In the **Name** field, specify a name for the integration.
|
|
1030
|
+
2. (Optional) In the **Description** field, describe the integration.
|
|
1031
|
+
3. In the **Database Version** field, ensure that **Dremio** is selected.
|
|
1032
|
+
4. In the **Default Database Connection** field, either select an existing connection to a Dremio cluster, or select **Add New Database Connection**.
|
|
1033
|
+
5. If you selected **Add New Database Connection**, follow these steps in the Create New Database Connection dialog:
|
|
1034
|
+
1. In the **Name** field, specify a name for the connection.
|
|
1035
|
+
2. In the **Basic** section, follow these steps:
|
|
1036
|
+
1. In the **Host Name** field, specify the IP address or hostname of the coordinator node of the Dremio cluster that you want to use this connection with.
|
|
1037
|
+
2. In the **Port Number** field, specify the port number to use. The default port number is 31010.
|
|
1038
|
+
3. In the **Authentication Mode** field, ensure that **Standard** is selected.
|
|
1039
|
+
4. In the **Default Database Login** field, either select an existing set of authentication credentials for the Dremio Cluster, or click **Add New Database Login** to add a new set.
|
|
1040
|
+
5. If you clicked **Add New Database Login** in the previous step, specify the name to associate with the credentials, and then follow either of these steps:
|
|
1041
|
+
* Specify the username and password of the Dremio account to use.
|
|
1042
|
+
* Specify the username of the Dremio account to use and a PAT, which you can paste into the **Password** field.
|
|
1043
|
+
3. (Optional) In the **Advanced** section, set additional properties for Microstrategy Workstation to use when connecting to Dremio. See [Optional Advanced JDBC Driver Properties](/current/client-applications/drivers/jdbc/#optional-advanced-jdbc-driver-properties) for a list of the properties that you can use.
|
|
1044
|
+
4. (Optional) In the **Security** section, toggle on the **Use TLS Encryption** switch if the Dremio cluster is configured to encrypt communication between it and JDBC clients. For more information, see the configuration of client TLS for [Dremio on Kubernetes](/current/deploy-dremio/configuring-kubernetes/#transport-level-security) or [Dremio standalone clusters](/current/deploy-dremio/other-options/standalone/dremio-config/dremio-conf/wire-encryption-config/#legacy-jdbc-and-power-bi-clients-with-legacy-odbc-driver-enterprise).
|
|
1045
|
+
5. (Optional) In the **Properties** section, specify non-default values for various properties of the connection.
|
|
1046
|
+
6. Click **Save**.
|
|
1047
|
+
6. In the Add Data Source - Dremio dialog, follow these steps:
|
|
1048
|
+
1. (Optional) Click **Test** to find out whether Microstrategy Workstation can connect to the Dremio cluster by using the database connection. If the test fails, ensure that the connection is configured correctly.
|
|
1049
|
+
2. Click **Save**.
|
|
1050
|
+
|
|
1051
|
+
You can now select this database connection when you create dossiers.
|
|
1052
|
+
|
|
1053
|
+
Was this page helpful?
|
|
1054
|
+
|
|
1055
|
+
[Previous
|
|
1056
|
+
|
|
1057
|
+
Microsoft Power BI](/current/client-applications/microsoft-power-bi/)[Next
|
|
1058
|
+
|
|
1059
|
+
Preset](/current/client-applications/preset)
|
|
1060
|
+
|
|
1061
|
+
* Supported Versions
|
|
1062
|
+
* Supported Authentication Methods
|
|
1063
|
+
* Prerequisites
|
|
1064
|
+
* Creating an Environment-level Integration with Dremio
|
|
1065
|
+
|
|
1066
|
+
---
|
|
1067
|
+
|
|
1068
|
+
# Source: https://docs.dremio.com/current/client-applications/preset
|
|
1069
|
+
|
|
1070
|
+
Version: current [26.x]
|
|
1071
|
+
|
|
1072
|
+
On this page
|
|
1073
|
+
|
|
1074
|
+
# Preset
|
|
1075
|
+
|
|
1076
|
+
You can use [Preset](https://preset.io/), a cloud service for Superset, to query and visualize data.
|
|
1077
|
+
|
|
1078
|
+
## Supported Authentication Methods
|
|
1079
|
+
|
|
1080
|
+
* Use the username and password of an account in your Dremio cluster.
|
|
1081
|
+
* Use the username of an account in your Dremio cluster and a personal access token (PAT) created in Dremio. To create a PAT, follow the steps in [Creating a PAT](/current/security/authentication/personal-access-tokens#creating-a-pat). After you obtain a PAT, it is recommended that you URL-encode it. To encode it locally on your system, you can follow these steps:
|
|
1082
|
+
1. In a browser window, right-click an empty area of the page and select **Inspect** or **Inspect Element**, depending on your browser.
|
|
1083
|
+
2. In the top bar of the inspection pane, click **Console**.
|
|
1084
|
+
3. Type `encodeURIComponent("<PAT>")`, where `<PAT>` is the personal access token. The URL-encoded PAT appears in red on the next line. You can highlight it and copy it to your clipboard.
|
|
1085
|
+
|
|
1086
|
+
## Creating a Connection
|
|
1087
|
+
|
|
1088
|
+
1. Click **Settings** in the top-right corner, and select **Database Connections** under **Data**.
|
|
1089
|
+
2. Click the **+Database** button in the top-right corner.
|
|
1090
|
+
3. Select **Other** from the **Supported Databases** field of the Connect a Database dialog.
|
|
1091
|
+
4. In the **Display Name** field, specify any name you prefer.
|
|
1092
|
+
5. In the **Connect a Database** dialog, follow these steps:
|
|
1093
|
+
1. Select **Other** from the **Supported Databases** field.
|
|
1094
|
+
2. In the **Display Name** field, name the new connection.
|
|
1095
|
+
3. If you want to authenticate by using a username and password, specify in the **SQLAlchemy URI** field a URI that is in this format:
|
|
1096
|
+
|
|
1097
|
+
Format of URIs with username and password authentication
|
|
1098
|
+
|
|
1099
|
+
```
|
|
1100
|
+
dremio://<username>:<password>@<host>:<port>[/option=value[;...]]
|
|
1101
|
+
```
|
|
1102
|
+
|
|
1103
|
+
* `<username>`: The username of the Dremio account to use.
|
|
1104
|
+
* `<password>`: The password of the Dremio account to use.
|
|
1105
|
+
* `<host>`: The hostname or IP address of the coordinator node of the Dremio cluster.
|
|
1106
|
+
* `<port>`: The port to connect to on the coordinator node. Unless explicitly changed on the node, the port is 31010.
|
|
1107
|
+
* `[/option=value[;...]]`: One or more optional properties, separated by semicolons. See SSL Connection Properties and Advanced Properties.Example URI with username and password authentication
|
|
1108
|
+
|
|
1109
|
+
```
|
|
1110
|
+
dremio://myUserID:myPassword@myHost:31010/ssl=true;schema=Samples;routing_tag=thisTag
|
|
1111
|
+
```
|
|
1112
|
+
4. If you want to authenticate by using a personal access token, specify in the **SQLAlchemy URI** field a URI that is in this format:
|
|
1113
|
+
|
|
1114
|
+
Format of URIs with PAT authentication
|
|
1115
|
+
|
|
1116
|
+
```
|
|
1117
|
+
dremio://<username>:<PAT>@<host>:<port>[/option=value[;...]]
|
|
1118
|
+
```
|
|
1119
|
+
|
|
1120
|
+
* `<username>`: The username of the Dremio account to use.
|
|
1121
|
+
* `<PAT>`: The personal access token to use.
|
|
1122
|
+
* `<host>`: The hostname or IP address of the coordinator node of the Dremio cluster.
|
|
1123
|
+
* `<port>`: The port to connect to on the coordinator node. Unless explicitly changed on the node, the port is 31010.
|
|
1124
|
+
* `[/option=value[;...]]`: One or more optional properties, separated by semicolons. See SSL Connection Properties and Advanced Properties.Example URI with PAT authentication
|
|
1125
|
+
|
|
1126
|
+
```
|
|
1127
|
+
dremio://myUserID:myPAT@myHost:31010/ssl=true;schema=Samples;routing_tag=thisTag
|
|
1128
|
+
```
|
|
1129
|
+
5. Test the connection. If the test fails, check the syntax and values in the connection URI.
|
|
1130
|
+
6. Click **Connect**.
|
|
1131
|
+
|
|
1132
|
+
## SSL Connection Properties
|
|
1133
|
+
|
|
1134
|
+
Use the following properties to configure SSL encryption and verification methods:
|
|
1135
|
+
|
|
1136
|
+
| Name | Type | Description | Default Value |
|
|
1137
|
+
| --- | --- | --- | --- |
|
|
1138
|
+
| UseEncryption | integer | Forces the client to use an SSL-encrypted connection to communicate with Dremio. Accepted values: `true`, the client communicates with Dremio by using SSL encryption; `false`, the client does not communicate with Dremio by using SSL encryption. | true |
|
|
1139
|
+
| disableCertificateVerification | integer | Specifies whether to verify the host certificate against the trust store. Accepted values: `false`, verifies the certificate against the trust store; `true`, does not verify the certificate against the trust store. | false |
|
|
1140
|
+
| trustedCerts | string | The full path of the .pem file containing certificates trusted by a CA, for the purpose of verifying the server. If this option is not set, defaults to using the trusted CA certificates .pem file.The TLS connection fails if you do not specify a value when UseEncryption is true and disableCertificateVerification is false. | N/A |
|
|
1141
|
+
|
|
1142
|
+
## Advanced Properties
|
|
1143
|
+
|
|
1144
|
+
| Name | Type | Description | Default Value |
|
|
1145
|
+
| --- | --- | --- | --- |
|
|
1146
|
+
| routing\_queue | string | Specifies the queue to route queries to during a session. Direct Routing is used to specify the exact queue and execution cluster to run queries on for a given session. With Direct Routing, workload-management (WLM) rules are not considered; instead, queries are routed directly to the specified queue. For more information, see [Workload Management](/current/admin/workloads/workload-management). | N/A |
|
|
1147
|
+
| routing\_tag | string | When this property is set, the specified tag is associated with all queries executed within a session. Rules can check for the presence of a tag with the function "tag()". For more information, see [Workload Management](/current/admin/workloads/workload-management). | N/A |
|
|
1148
|
+
|
|
1149
|
+
Was this page helpful?
|
|
1150
|
+
|
|
1151
|
+
[Previous
|
|
1152
|
+
|
|
1153
|
+
Microstrategy Workstation](/current/client-applications/microstrategy)[Next
|
|
1154
|
+
|
|
1155
|
+
SAP Business Objects](/current/client-applications/business-objects)
|
|
1156
|
+
|
|
1157
|
+
* Supported Authentication Methods
|
|
1158
|
+
* Creating a Connection
|
|
1159
|
+
* SSL Connection Properties
|
|
1160
|
+
* Advanced Properties
|
|
1161
|
+
|
|
1162
|
+
---
|
|
1163
|
+
|
|
1164
|
+
# Source: https://docs.dremio.com/current/client-applications/business-objects
|
|
1165
|
+
|
|
1166
|
+
Version: current [26.x]
|
|
1167
|
+
|
|
1168
|
+
On this page
|
|
1169
|
+
|
|
1170
|
+
# SAP Business Objects
|
|
1171
|
+
|
|
1172
|
+
## Prerequisites
|
|
1173
|
+
|
|
1174
|
+
Dremio Business Objects integration requires:
|
|
1175
|
+
|
|
1176
|
+
* SAP Business Objects 4.0+
|
|
1177
|
+
* Download, install, and configure the [Arrow Flight SQL ODBC driver](/current/client-applications/drivers/arrow-flight-sql-odbc-driver/).
|
|
1178
|
+
|
|
1179
|
+
## Connecting to a Dremio cluster using Information Design Tool
|
|
1180
|
+
|
|
1181
|
+
1. Open Information Design Tool and a new project.
|
|
1182
|
+
2. Create a new Relational Connection using the Generic ODBC3 datasource driver.
|
|
1183
|
+
3. Select the Arrow Flight SQL ODBC DSN and test the connection.
|
|
1184
|
+
|
|
1185
|
+
Dremio schemas and tables are now available.
|
|
1186
|
+
|
|
1187
|
+
## Using Dremio datasets in Web Intelligence Reports
|
|
1188
|
+
|
|
1189
|
+
1. In Information Design Tool, publish the Dremio connection to a repository.
|
|
1190
|
+
2. Create a new Data Foundation.
|
|
1191
|
+
3. Create a new Business Layer.
|
|
1192
|
+
4. Publish the universe to a repository.
|
|
1193
|
+
5. Open a web browser, go to Web Intelligence tool and select the published universe.
|
|
1194
|
+
6. Configure the query.
|
|
1195
|
+
|
|
1196
|
+
Your Dremio dataset is ready to be used in Web Intelligence.
|
|
1197
|
+
|
|
1198
|
+
Was this page helpful?
|
|
1199
|
+
|
|
1200
|
+
[Previous
|
|
1201
|
+
|
|
1202
|
+
Preset](/current/client-applications/preset)[Next
|
|
1203
|
+
|
|
1204
|
+
Tableau](/current/client-applications/tableau)
|
|
1205
|
+
|
|
1206
|
+
* Prerequisites
|
|
1207
|
+
* Connecting to a Dremio cluster using Information Design Tool
|
|
1208
|
+
* Using Dremio datasets in Web Intelligence Reports
|
|
1209
|
+
|
|
1210
|
+
---
|
|
1211
|
+
|
|
1212
|
+
# Source: https://docs.dremio.com/current/client-applications/tableau
|
|
1213
|
+
|
|
1214
|
+
Version: current [26.x]
|
|
1215
|
+
|
|
1216
|
+
On this page
|
|
1217
|
+
|
|
1218
|
+
# Tableau
|
|
1219
|
+
|
|
1220
|
+
Connect [Tableau](https://www.tableau.com/) to Dremio to derive powerful insights from your data and create real-time dashboards.
|
|
1221
|
+
|
|
1222
|
+
You can connect your Tableau application to Dremio in one of two ways:
|
|
1223
|
+
|
|
1224
|
+
* Configure a reusable connection in Tableau Desktop, Tableau Server, or Tableau Cloud.
|
|
1225
|
+
* Connect to a specific dataset by downloading the `.tds` file from Dremio and opening it in Tableau Desktop.
|
|
1226
|
+
|
|
1227
|
+
## Supported Tableau Versions
|
|
1228
|
+
|
|
1229
|
+
| Product | Supported Versions |
|
|
1230
|
+
| --- | --- |
|
|
1231
|
+
| Tableau Desktop | 2022.1 and later |
|
|
1232
|
+
| Tableau Server | 2022.1 and later |
|
|
1233
|
+
| Tableau Cloud | Latest version deployed by Tableau |
|
|
1234
|
+
|
|
1235
|
+
## Supported Authentication Methods
|
|
1236
|
+
|
|
1237
|
+
From Tableau, you can authenticate to Dremio with a username and password, or with a [personal access token (PAT)](/current/security/authentication/personal-access-tokens/#creating-a-pat) that can be obtained from the Dremio console.
|
|
1238
|
+
|
|
1239
|
+
You can also configure single sign-on (SSO) through OAuth 2.0. For steps on how to configure SSO, see Enabling SSO to Dremio from Tableau.
|
|
1240
|
+
|
|
1241
|
+
## Tableau Desktop
|
|
1242
|
+
|
|
1243
|
+
Tableau Desktop includes a native connector that you can use to connect to Dremio.
|
|
1244
|
+
|
|
1245
|
+
### Prerequisites for Using the Dremio JDBC Driver (Legacy)
|
|
1246
|
+
|
|
1247
|
+
To connect to Dremio, you'll also need to install the Dremio JDBC driver. Download the Dremio JDBC driver and copy it to Tableau Desktop's `Drivers` folder.
|
|
1248
|
+
|
|
1249
|
+
Download driver for macOS by running this command in a Terminal window
|
|
1250
|
+
|
|
1251
|
+
```
|
|
1252
|
+
curl -L https://download.dremio.com/jdbc-driver/dremio-jdbc-driver-LATEST.jar -o ~/Library/Tableau/Drivers/dremio-jdbc-driver-LATEST.jar
|
|
1253
|
+
```
|
|
1254
|
+
|
|
1255
|
+
Download driver for Windows by running this command in a PowerShell window
|
|
1256
|
+
|
|
1257
|
+
```
|
|
1258
|
+
Invoke-WebRequest -Uri "https://download.dremio.com/jdbc-driver/dremio-jdbc-driver-LATEST.jar" -OutFile "C:\Program Files\Tableau\Drivers\dremio-jdbc-driver-LATEST.jar"
|
|
1259
|
+
```
|
|
1260
|
+
|
|
1261
|
+
### Prerequisites for Using the Arrow Flight SQL JDBC Driver
|
|
1262
|
+
|
|
1263
|
+
The Tableau Desktop 2025.1+ connector for Dremio supports Arrow Flight SQL JDBC in place of the Dremio JDBC driver (Legacy). To change the driver, download the Arrow Flight SQL JDBC driver, copy it to Tableau Desktop's `Drivers` folder, and select the **Use Arrow Flight SQL Driver (preview)** option in the **Advanced** tab of the connection dialog.
|
|
1264
|
+
|
|
1265
|
+
Download driver for macOS by running this command in a Terminal window
|
|
1266
|
+
|
|
1267
|
+
```
|
|
1268
|
+
curl -L https://repo1.maven.org/maven2/org/apache/arrow/flight-sql-jdbc-driver/18.3.0/flight-sql-jdbc-driver-18.3.0.jar -o ~/Library/Tableau/Drivers/flight-sql-jdbc-driver-18.3.0.jar
|
|
1269
|
+
```
|
|
1270
|
+
|
|
1271
|
+
Download driver for Windows by running this command in a PowerShell window
|
|
1272
|
+
|
|
1273
|
+
```
|
|
1274
|
+
Invoke-WebRequest -Uri "https://repo1.maven.org/maven2/org/apache/arrow/flight-sql-jdbc-driver/18.3.0/flight-sql-jdbc-driver-18.3.0.jar" -OutFile "C:\Program Files\Tableau\Drivers\flight-sql-jdbc-driver-18.3.0.jar"
|
|
1275
|
+
```
|
|
1276
|
+
|
|
1277
|
+
### Steps for Connecting
|
|
1278
|
+
|
|
1279
|
+
To create a Dremio source in Tableau Desktop:
|
|
1280
|
+
|
|
1281
|
+
1. Open Tableau Desktop. Under the **To a Server** section in the **Connect** panel, click **More**.
|
|
1282
|
+
2. Select **Dremio**. The **Dremio** connection dialog opens.
|
|
1283
|
+
3. In the connection dialog, for the **Product** field, select **Dremio Software**.
|
|
1284
|
+
4. For the **Server** field, specify the hostname or IP address of your Dremio coordinator node.
|
|
1285
|
+
5. In the **Port** field, specify the port, if it differs from the default port, which is `31010`.
|
|
1286
|
+
6. In the **Authentication** field, select **Username and Password** or **OAuth 2.0**.
|
|
1287
|
+
* If you selected **Username and Password**, in the **Username** and **Password** fields, specify your Dremio credentials. If you have a personal access token, specify your username and then paste the token into the **Password** field.
|
|
1288
|
+
* If you selected **OAuth 2.0**, specify one of these URLs in the **Dremio Authorization Server** field, replacing `<dremio-host>` with the hostname or IP address for your Dremio coordinator node:
|
|
1289
|
+
+ If your Dremio cluster does not use SSL: `http://<dremio-host>:9047`
|
|
1290
|
+
+ If your Dremio cluster does use SSL: `https://<dremio-host>:9047`
|
|
1291
|
+
7. (Optional) If your Dremio cluster is configured for secure connections, select the **Require SSL** option.
|
|
1292
|
+
8. (Optional for Tableau 2025.1+) If you are using the Arrow Flight SQL JDBC driver, in the **Advanced** tab, select the **Use Arrow Flight SQL Driver (preview)** option. Ensure that you have the Arrow Flight SQL JDBC driver downloaded.
|
|
1293
|
+
9. (Optional) In the **Advanced** tab, specify the **Engine**, **Queue**, and **Tag**. For information about how these values are used, see [Workload Management](/current/admin/workloads/workload-management/).
|
|
1294
|
+
10. Click **Sign In**.
|
|
1295
|
+
|
|
1296
|
+
### Creating a Live Connection to a Dataset from Dremio
|
|
1297
|
+
|
|
1298
|
+
You can generate a Tableau Datasource (`.tds`) file that represents a live connection to a dataset that is in Dremio. No actual data is stored in this file, and you can think of it as a shortcut to a Tableau session with a preconfigured view of your data.
|
|
1299
|
+
|
|
1300
|
+
note
|
|
1301
|
+
|
|
1302
|
+
* The `.tds` file download option must be enabled for users to have access to this feature. To enable this feature, see Enabling the .tds file download.
|
|
1303
|
+
|
|
1304
|
+
To download a `.tds` file:
|
|
1305
|
+
|
|
1306
|
+
1. On the Datasets page in Dremio, find the dataset you want to work with and open the Details panel for the dataset.
|
|
1307
|
+
2. Click the button that displays the Tableau logo. Dremio downloads a `.tds` file to your system.
|
|
1308
|
+
3. Open the `.tds` file.
|
|
1309
|
+
4. Authenticate using your username and password. To authenticate using SSO, follow these steps:
|
|
1310
|
+
1. Sign into your identity provider. You are taken to the sign-in screen only the first time that you log into Dremio during a session in Tableau.
|
|
1311
|
+
2. Click **Accept** in the Authorize App dialog. This dialog appears only the first time that you authenticate from Tableau through your identity provider.
|
|
1312
|
+
|
|
1313
|
+
## Tableau Server
|
|
1314
|
+
|
|
1315
|
+
Tableau Server includes a native connector that you can use to connect to Dremio.
|
|
1316
|
+
|
|
1317
|
+
### Prerequisites for Using the Dremio JDBC Driver (Legacy)
|
|
1318
|
+
|
|
1319
|
+
To connect to Dremio, you'll need to install the Dremio JDBC driver. Download the Dremio JDBC driver and copy it to the `Drivers` folder.
|
|
1320
|
+
|
|
1321
|
+
Download driver for Windows by running this command in a PowerShell window
|
|
1322
|
+
|
|
1323
|
+
```
|
|
1324
|
+
Invoke-WebRequest -Uri "https://download.dremio.com/jdbc-driver/dremio-jdbc-driver-LATEST.jar" -OutFile "C:\Program Files\Tableau\Drivers\dremio-jdbc-driver-LATEST.jar"
|
|
1325
|
+
```
|
|
1326
|
+
|
|
1327
|
+
Download driver for Linux by running this command in a command-line window
|
|
1328
|
+
|
|
1329
|
+
```
|
|
1330
|
+
curl -L https://download.dremio.com/jdbc-driver/dremio-jdbc-driver-LATEST.jar -o /opt/tableau/tableau_driver/jdbc/dremio-jdbc-driver-LATEST.jar
|
|
1331
|
+
```
|
|
1332
|
+
|
|
1333
|
+
### Prerequisites for Using the Arrow Flight SQL JDBC Driver
|
|
1334
|
+
|
|
1335
|
+
The Tableau Server 2025.1+ connector for Dremio supports Arrow Flight SQL JDBC in place of the Dremio JDBC driver (Legacy). To change the driver, download the Arrow Flight SQL JDBC driver, copy it to the `Drivers` folder, and select the **Use Arrow Flight SQL Driver (preview)** option in the **Advanced** tab of the connection dialog.
|
|
1336
|
+
|
|
1337
|
+
Download driver for Windows by running this command in a PowerShell window
|
|
1338
|
+
|
|
1339
|
+
```
|
|
1340
|
+
Invoke-WebRequest -Uri "https://repo1.maven.org/maven2/org/apache/arrow/flight-sql-jdbc-driver/16.1.0/flight-sql-jdbc-driver-16.1.0.jar" -OutFile "C:\Program Files\Tableau\Drivers\flight-sql-jdbc-driver-16.1.0.jar"
|
|
1341
|
+
```
|
|
1342
|
+
|
|
1343
|
+
Download driver for Linux by running this command in a command-line window
|
|
1344
|
+
|
|
1345
|
+
```
|
|
1346
|
+
curl -L https://repo1.maven.org/maven2/org/apache/arrow/flight-sql-jdbc-driver/16.1.0/flight-sql-jdbc-driver-16.1.0.jar -o /opt/tableau/tableau_driver/jdbc/flight-sql-jdbc-driver-16.1.0.jar
|
|
1347
|
+
```
|
|
1348
|
+
|
|
1349
|
+
### Steps for Connecting
|
|
1350
|
+
|
|
1351
|
+
To create a Dremio source in Tableau Server:
|
|
1352
|
+
|
|
1353
|
+
1. In a web browser, navigate to your Tableau Server site.
|
|
1354
|
+
2. In your workbook, click **Add a Data Source**. Alternatively, you can [publish an existing data source](https://help.tableau.com/current/pro/desktop/en-us/publish_datasources.htm) to Tableau Server.
|
|
1355
|
+
3. In the **Connect to Data** dialog, select **Dremio** under the **Connectors** tab.
|
|
1356
|
+
4. In the connection dialog, for the **Product** field, select **Dremio Software**.
|
|
1357
|
+
5. For the **Server** field, specify the hostname or IP address of your Dremio coordinator node.
|
|
1358
|
+
6. For **Port**, enter the port if it differs from the default `31010` port.
|
|
1359
|
+
7. In the **Authentication** field, select **Username and Password** or **OAuth 2.0**.
|
|
1360
|
+
* If you selected **Username and Password**, in the **Username** and **Password** fields, specify your Dremio credentials. If you have a personal access token, specify your username and then paste the token into the **Password** field.
|
|
1361
|
+
* If you selected **OAuth 2.0**, specify one of these URLs in the **Dremio Authorization Server** field, replacing `<dremio-host>` with the hostname or IP address for your Dremio coordinator node:
|
|
1362
|
+
+ If your Dremio cluster does not use SSL: `http://<dremio-host>:9047`
|
|
1363
|
+
+ If your Dremio cluster does use SSL: `https://<dremio-host>:9047`
|
|
1364
|
+
8. (Optional) If your Dremio cluster is configured for secure connections, select the **Require SSL** option.
|
|
1365
|
+
9. (Optional for Tableau 2025.1+) If you are using the Arrow Flight SQL JDBC driver, in the **Advanced** tab, select the **Use Arrow Flight SQL Driver (preview)** option. Ensure that you have the Arrow Flight SQL JDBC driver downloaded.
|
|
1366
|
+
10. (Optional) In the **Advanced** tab, you can specify the **Engine**, **Queue**, and **Tag**.
|
|
1367
|
+
11. Click **Sign In**.
|
|
1368
|
+
|
|
1369
|
+
## Tableau Cloud
|
|
1370
|
+
|
|
1371
|
+
Tableau Cloud includes a native connector that you can use to connect to Dremio.
|
|
1372
|
+
|
|
1373
|
+
note
|
|
1374
|
+
|
|
1375
|
+
The Tableau Cloud 2025.1 connector for Dremio has an option to use the [Arrow Flight SQL JDBC](/cloud/sonar/client-apps/drivers/arrow-flight-sql-jdbc) driver in place of the Dremio JDBC driver to power the connection to Dremio. In the **Advanced** tab, select the **Use Arrow Flight SQL Driver (preview)** option.
|
|
1376
|
+
|
|
1377
|
+
### Steps for Connecting
|
|
1378
|
+
|
|
1379
|
+
To create a Dremio source in Tableau Cloud:
|
|
1380
|
+
|
|
1381
|
+
1. In a web browser, navigate to your Tableau Cloud site.
|
|
1382
|
+
2. Click **New** > **Published Data Source** to create a reusable data source or **Data** > **Add a Data Source** from within a workbook. Alternatively, you can [publish an existing data source](https://help.tableau.com/current/pro/desktop/en-us/publish_datasources.htm) to Tableau Cloud.
|
|
1383
|
+
3. In the **Connect to Data** dialog, select **Dremio** under the **Connectors** tab.
|
|
1384
|
+
4. In the connection dialog, for the **Product** field, select **Dremio Software**.
|
|
1385
|
+
5. For the **Server** field, specify the hostname or IP address of your Dremio coordinator node.
|
|
1386
|
+
6. In the **Port** field, enter the port if it differs from the default `31010` port.
|
|
1387
|
+
7. In the **Authentication** field, select **Username and Password** or **OAuth 2.0**.
|
|
1388
|
+
* If you selected **Username and Password**, in the **Username** and **Password** fields, specify your Dremio credentials. If you have a personal access token, specify your username and then paste the token into the **Password** field.
|
|
1389
|
+
* If you selected **OAuth 2.0**, specify one of these URLs in the **Dremio Authorization Server** field, replacing `<dremio-host>` with the hostname or IP address for your Dremio coordinator node:
|
|
1390
|
+
+ If your Dremio cluster does not use SSL: `http://<dremio-host>:9047`
|
|
1391
|
+
+ If your Dremio cluster does use SSL: `https://<dremio-host>:9047`
|
|
1392
|
+
8. (Optional for Tableau 2025.1+) If you are using the Arrow Flight SQL JDBC driver, in the **Advanced** tab, select the **Use Arrow Flight SQL Driver (preview)** option.
|
|
1393
|
+
9. (Optional) If your Dremio cluster is configured for secure connections, select the **Require SSL** option.
|
|
1394
|
+
10. (Optional) In the **Advanced** tab, you can specify the **Engine**, **Queue**, and **Tag**.
|
|
1395
|
+
11. Click **Sign In**.
|
|
1396
|
+
12. If you're authenticating using SSO (OAuth 2.0), follow these steps:
|
|
1397
|
+
1. Sign into your identity provider. You are taken to the sign-in screen only the first time that you log into Dremio during a session in Tableau Cloud.
|
|
1398
|
+
2. Click **Accept** in the Authorize App dialog. This dialog appears only the first time that you authenticate from Tableau Cloud through your identity provider.
|
|
1399
|
+
|
|
1400
|
+
## Advanced Configuration
|
|
1401
|
+
|
|
1402
|
+
### Enabling the `.tds` File Download in the Dremio console
|
|
1403
|
+
|
|
1404
|
+
`ADMIN` privileges are required to make updates to this setting.
|
|
1405
|
+
|
|
1406
|
+
To enable users to download `.tds` files for datasets in Dremio, follow these steps:
|
|
1407
|
+
|
|
1408
|
+
1. Click the Settings icon in the left sidebar of a project.
|
|
1409
|
+
2. Select **Project Settings**.
|
|
1410
|
+
3. Select **BI Applications**.
|
|
1411
|
+
4. Select the **Tableau** tab.
|
|
1412
|
+
5. Toggle the **Enable Tableau Desktop** setting on.
|
|
1413
|
+
|
|
1414
|
+
After the organization administrator completes these steps, refresh your browser window.
|
|
1415
|
+
|
|
1416
|
+
### Enabling SSO to Dremio from Tableau Enterprise
|
|
1417
|
+
|
|
1418
|
+
SSO using OAuth 2.0 is supported by Tableau Desktop 2022.3 or later, Tableau Server, and Tableau Cloud.
|
|
1419
|
+
|
|
1420
|
+
Users of Tableau Desktop will use SSO authentication whether connecting directly to Dremio or connecting through a `.tds` file downloaded from Dremio. If you want to use SSO to authenticate when connecting to Dremio through a `.tds` file, ensure that SSO is enabled and configured for your Dremio cluster before the file is downloaded.
|
|
1421
|
+
|
|
1422
|
+
To enable SSO to Dremio from Tableau, ensure that your Dremio cluster has SSO configured with [Microsoft Entra ID](/current/security/authentication/identity-providers/microsoft-entra-id) or an [OIDC identity provider](/current/security/authentication/identity-providers/oidc) and follow these steps:
|
|
1423
|
+
|
|
1424
|
+
1. For Tableau Server only, follow the configuration steps.
|
|
1425
|
+
2. Follow the steps to enable SSO to Dremio from Tableau.
|
|
1426
|
+
|
|
1427
|
+
#### Configuring SSO for Tableau Server
|
|
1428
|
+
|
|
1429
|
+
To configure SSO using [OAuth for Tableau Server](https://tableau.github.io/connector-plugin-sdk/docs/oauth), follow these steps:
|
|
1430
|
+
|
|
1431
|
+
1. Run the following command in the Tableau Services Manager (TSM) command line. Set a value for the `<tableau-server-domain-name-or-ip>`parameter, which is the domain name or IP of your Tableau Server deployment:
|
|
1432
|
+
|
|
1433
|
+
Configure OAuth for Tableau Server
|
|
1434
|
+
|
|
1435
|
+
```
|
|
1436
|
+
tsm configuration set -k oauth.config.clients -v "[{\"oauth.config.id\":\"dremio\", \"oauth.config.client_id\":\"https\:\/\/connectors.dremio.app\/tableau\", \"oauth.config.client_secret\":\"test-client-secret\", \"oauth.config.redirect_uri\":\"https://<tableau-server-domain-name-or-ip>/auth/add_oauth_token\"}]" --force-keys
|
|
1437
|
+
```
|
|
1438
|
+
2. To apply the changes to Tableau Server, run the command `tsm pending-changes apply`.
|
|
1439
|
+
|
|
1440
|
+
#### Configuring Dremio
|
|
1441
|
+
|
|
1442
|
+
To enable SSO authentication to Dremio from Tableau:
|
|
1443
|
+
|
|
1444
|
+
1. In the Dremio console, click the Settings icon and select the BI Applications page.
|
|
1445
|
+
2. On the BI Applications page, click **Tableau**.
|
|
1446
|
+
3. Ensure that **Enable single sign-on for Tableau** is toggled on.
|
|
1447
|
+
4. **For Tableau Server only:** In the **Redirect URIs** field, paste in the redirect URI for your Tableau Server. If you have set up more than one Tableau Server, you can add multiple URIs, separating them with commas. Each URI uses this format, where `<tableau-server>` is the hostname or IP address of Tableau Server:
|
|
1448
|
+
|
|
1449
|
+
Redirect URI for Tableau Server
|
|
1450
|
+
|
|
1451
|
+
```
|
|
1452
|
+
https://<tableau-server>/auth/add_oauth_token
|
|
1453
|
+
```
|
|
1454
|
+
|
|
1455
|
+
#### Configuring an Identity Provider
|
|
1456
|
+
|
|
1457
|
+
Register an additional redirect URI: `https://<dremio-host>:xxxx/oauth/callback` or `http://<dremio-host>:xxxx/oauth/callback` in the SSO application configured in your identity provider. See the configuration instructions for [Microsoft Entra ID](/current/security/authentication/identity-providers/microsoft-entra-id#configuring-microsoft-entra-id) or [OpenID Identity Providers](/current/security/authentication/identity-providers/oidc#configuring-openid) for additional information.
|
|
1458
|
+
|
|
1459
|
+
### Customizing the Connection String
|
|
1460
|
+
|
|
1461
|
+
To add JDBC parameters to the JDBC URL that Tableau generates for connections to Dremio using the parameters from the connection dialog, see [Use a Properties file to customize a JDBC connection](https://help.tableau.com/current/pro/desktop/en-us/connect_customize.htm#use-a-properties-file-to-customize-a-jdbc-connection) in the Tableau documentation.
|
|
1462
|
+
|
|
1463
|
+
### Manually Installing the Dremio Connector
|
|
1464
|
+
|
|
1465
|
+
If you are previewing a feature that hasn't been released or you have been provided a `.taco` file with a fix that hasn't been released, you can manually install this version of the Dremio connector for temporary use.
|
|
1466
|
+
|
|
1467
|
+
To manually install the connector:
|
|
1468
|
+
|
|
1469
|
+
1. Download the [`dremio.taco` file](https://download.dremio.com/tableau-connector/).
|
|
1470
|
+
2. Move the `dremio.taco` file:
|
|
1471
|
+
|
|
1472
|
+
Copy dremio.taco file on macOS
|
|
1473
|
+
|
|
1474
|
+
```
|
|
1475
|
+
cp <download-location>/dremio.taco ~/Library/Tableau/Connectors/
|
|
1476
|
+
```
|
|
1477
|
+
|
|
1478
|
+
Copy dremio.taco file on Windows
|
|
1479
|
+
|
|
1480
|
+
```
|
|
1481
|
+
copy C:\<download-location>\dremio.taco "C:\Program Files\Tableau\Connectors"
|
|
1482
|
+
```
|
|
1483
|
+
|
|
1484
|
+
Move dremio.taco file for Linux (Tableau Server only)
|
|
1485
|
+
|
|
1486
|
+
```
|
|
1487
|
+
mv <download-location>/dremio.taco /opt/tableau/connectors/dremio.taco
|
|
1488
|
+
```
|
|
1489
|
+
3. (Optional) If a new version of the Dremio JDBC driver is required, download it and copy it to Tableau Desktop's `Drivers` folder by running the following command:
|
|
1490
|
+
|
|
1491
|
+
Download driver for macOS
|
|
1492
|
+
|
|
1493
|
+
```
|
|
1494
|
+
curl https://download.dremio.com/jdbc-driver/dremio-jdbc-driver-LATEST.jar -o -l ~/Library/Tableau/Drivers/dremio-jdbc-driver-LATEST.jar
|
|
1495
|
+
```
|
|
1496
|
+
|
|
1497
|
+
Download driver for Windows
|
|
1498
|
+
|
|
1499
|
+
```
|
|
1500
|
+
Invoke-WebRequest -Uri "https://download.dremio.com/jdbc-driver/dremio-jdbc-driver-LATEST.jar" -OutFile "C:\Program Files\Tableau\Drivers\dremio-jdbc-driver-LATEST.jar"
|
|
1501
|
+
```
|
|
1502
|
+
|
|
1503
|
+
For Linux, download the driver from the [download site](https://download.dremio.com/jdbc-driver/?_ga=2.148321079.1016122501.1667783452-235854462.1630284576&_gac=1.263316990.1664550761.CjwKCAjwp9qZBhBkEiwAsYFsb0x4InlcRP7Rv4XsjamZQHhJILHJWOtBOu30xZC1QwvEXF8cPFs1HhoCB-kQAvD_BwE) and move it by using this command:
|
|
1504
|
+
Download driver for Linux (Tableau Server only)
|
|
1505
|
+
|
|
1506
|
+
```
|
|
1507
|
+
mv <download-location>/dremio-jdbc-driver-LATEST.jar /opt/tableau/tableau_driver/jdbc/dremio-jdbc-driver-LATEST.jar
|
|
1508
|
+
```
|
|
1509
|
+
4. Now you can connect to Dremio from Tableau Desktop or Tableau Server.
|
|
1510
|
+
|
|
1511
|
+
### Exporting a Dremio Dataset with SSL Placeholder
|
|
1512
|
+
|
|
1513
|
+
If you have SSL enabled on Dremio, and you want to export a `.tds` file to use in a Tableau application for quickly connecting to a dataset,
|
|
1514
|
+
you can do so by add the support key `export.tableau.extra-native-connection-properties` and set the value to `SSL=true`.
|
|
1515
|
+
This property allows you to set the JDBC connection string when exporting a `.tds` file. The default is an empty string. This is the only property currently supported for `export.tableau.extra-native-connection-properties`, and `true` is the only supported value.
|
|
1516
|
+
|
|
1517
|
+
To know how to set the `export.tableau.extra-native-connection-properties` support key, see [Support Keys](/current/help-support/support-settings/#support-keys).
|
|
1518
|
+
|
|
1519
|
+
#### Changing the Hostname
|
|
1520
|
+
|
|
1521
|
+
You can use the `export.bi.hostname` support key to change the default hostname of the SQL endpoint for generating TDS files.
|
|
1522
|
+
|
|
1523
|
+
To know how to set the `export.bi.hostname` support key, see [Support Keys](/current/help-support/support-settings/#support-keys).
|
|
1524
|
+
|
|
1525
|
+
#### Example: SSL setting
|
|
1526
|
+
|
|
1527
|
+
In the following example, SSL is enabled in the **dremio.conf** file. See [Using Wire Encryption](/current/what-is-dremio/architecture/encrypting-dremio/#odbcjdbc-client-encryption--enterprise-edition-only)
|
|
1528
|
+
for more information.
|
|
1529
|
+
|
|
1530
|
+
Example SSL settings for generating a self-signed certificate with JDBC Dremio config
|
|
1531
|
+
|
|
1532
|
+
```
|
|
1533
|
+
services.coordinator.client-endpoint.ssl.enabled: true
|
|
1534
|
+
services.coordinator.client-endpoint.ssl.auto-certificate.enabled: true
|
|
1535
|
+
```
|
|
1536
|
+
|
|
1537
|
+
#### Example: export.tableau.extra-native-connection-properties value
|
|
1538
|
+
|
|
1539
|
+
Example SSL property value
|
|
1540
|
+
|
|
1541
|
+
```
|
|
1542
|
+
SSL=true
|
|
1543
|
+
```
|
|
1544
|
+
|
|
1545
|
+
## Limitations
|
|
1546
|
+
|
|
1547
|
+
* When using Tableau with Dremio, avoid using periods in space or dataset names. Due to differences in hierarchy support, periods in paths are treated as separators, resulting in errors when navigating or selecting spaces or datasets with periods in their names.
|
|
1548
|
+
|
|
1549
|
+
Was this page helpful?
|
|
1550
|
+
|
|
1551
|
+
[Previous
|
|
1552
|
+
|
|
1553
|
+
SAP Business Objects](/current/client-applications/business-objects)[Next
|
|
1554
|
+
|
|
1555
|
+
ThoughtSpot](/current/client-applications/thoughtspot)
|
|
1556
|
+
|
|
1557
|
+
* Supported Tableau Versions
|
|
1558
|
+
* Supported Authentication Methods
|
|
1559
|
+
* Tableau Desktop
|
|
1560
|
+
+ Prerequisites for Using the Dremio JDBC Driver (Legacy)
|
|
1561
|
+
+ Prerequisites for Using the Arrow Flight SQL JDBC Driver
|
|
1562
|
+
+ Steps for Connecting
|
|
1563
|
+
+ Creating a Live Connection to a Dataset from Dremio
|
|
1564
|
+
* Tableau Server
|
|
1565
|
+
+ Prerequisites for Using the Dremio JDBC Driver (Legacy)
|
|
1566
|
+
+ Prerequisites for Using the Arrow Flight SQL JDBC Driver
|
|
1567
|
+
+ Steps for Connecting
|
|
1568
|
+
* Tableau Cloud
|
|
1569
|
+
+ Steps for Connecting
|
|
1570
|
+
* Advanced Configuration
|
|
1571
|
+
+ Enabling the `.tds` File Download in the Dremio console
|
|
1572
|
+
+ Enabling SSO to Dremio from Tableau Enterprise
|
|
1573
|
+
+ Customizing the Connection String
|
|
1574
|
+
+ Manually Installing the Dremio Connector
|
|
1575
|
+
+ Exporting a Dremio Dataset with SSL Placeholder
|
|
1576
|
+
* Limitations
|
|
1577
|
+
|
|
1578
|
+
---
|
|
1579
|
+
|
|
1580
|
+
# Source: https://docs.dremio.com/current/client-applications/thoughtspot
|
|
1581
|
+
|
|
1582
|
+
Version: current [26.x]
|
|
1583
|
+
|
|
1584
|
+
On this page
|
|
1585
|
+
|
|
1586
|
+
# ThoughtSpot
|
|
1587
|
+
|
|
1588
|
+
You can use [ThoughtSpot](https://www.thoughtspot.com/) to search directly against your data in Dremio for live analytics and actionable insights.
|
|
1589
|
+
|
|
1590
|
+
## Supported Versions
|
|
1591
|
+
|
|
1592
|
+
Dremio supports ThoughtSpot cloud 8.3 and ThoughtSpot software 7.2.1.
|
|
1593
|
+
|
|
1594
|
+
## Supported Authentication Methods
|
|
1595
|
+
|
|
1596
|
+
You can use your Dremio username and password.
|
|
1597
|
+
|
|
1598
|
+
## Creating a Connection
|
|
1599
|
+
|
|
1600
|
+
note
|
|
1601
|
+
|
|
1602
|
+
While you're using the connection, the data fields that you create, modify, and delete in Dremio are reflected as table columns in ThoughtSpot. To account for new or outdated fields, you will need to go back into the data connection to check or uncheck the columns that you want added or removed on the Select Tables page.
|
|
1603
|
+
|
|
1604
|
+
1. Log into ThoughtSpot.
|
|
1605
|
+
2. Go to **Data** > **Connections** > **Add Connection**.
|
|
1606
|
+
3. On the Choose Your Data Warehouse page, specify your data connection details:
|
|
1607
|
+
|
|
1608
|
+
a. In the **Name your connection** field, enter a name.
|
|
1609
|
+
|
|
1610
|
+
b. (Optional) In the **Describe your connection** field, enter a brief description.
|
|
1611
|
+
|
|
1612
|
+
c. For the **Choose your data warehouse** field, select **Dremio**.
|
|
1613
|
+
4. Click **Continue**.
|
|
1614
|
+
5. On the Dremio Connection Details page, specify your account credentials:
|
|
1615
|
+
|
|
1616
|
+
a. To provide your Dremio username and password for authentication, select **Use Service Account**.
|
|
1617
|
+
|
|
1618
|
+
b. In the **Host** field, enter the IP address for one of the coordinator nodes in your cluster.
|
|
1619
|
+
|
|
1620
|
+
c. In the **Port** field, enter 31010.
|
|
1621
|
+
|
|
1622
|
+
d. In the **User** field, enter your username.
|
|
1623
|
+
|
|
1624
|
+
e. In the **Password** field, enter your password.
|
|
1625
|
+
6. Click **Continue**.
|
|
1626
|
+
7. On the Select Tables page, you can see all the data tables and views from Dremio. To select tables and columns from that list, select a table and check the boxes next to the columns for that table.
|
|
1627
|
+
8. Click **Create Connection**.
|
|
1628
|
+
9. In the **Create Connection** dialog, click **Confirm**.
|
|
1629
|
+
|
|
1630
|
+
Was this page helpful?
|
|
1631
|
+
|
|
1632
|
+
[Previous
|
|
1633
|
+
|
|
1634
|
+
Tableau](/current/client-applications/tableau)[Next
|
|
1635
|
+
|
|
1636
|
+
Drivers](/current/client-applications/drivers/)
|
|
1637
|
+
|
|
1638
|
+
* Supported Versions
|
|
1639
|
+
* Supported Authentication Methods
|
|
1640
|
+
* Creating a Connection
|
|
1641
|
+
|
|
1642
|
+
---
|
|
1643
|
+
|
|
1644
|
+
# Source: https://docs.dremio.com/current/client-applications/drivers/
|
|
1645
|
+
|
|
1646
|
+
Version: current [26.x]
|
|
1647
|
+
|
|
1648
|
+
# Drivers
|
|
1649
|
+
|
|
1650
|
+
Dremio provides Arrow Flight SQL ODBC and JDBC drivers:
|
|
1651
|
+
|
|
1652
|
+
* [Arrow Flight SQL ODBC](/current/client-applications/drivers/arrow-flight-sql-odbc-driver)
|
|
1653
|
+
* [Arrow Flight SQL JDBC](/current/client-applications/drivers/arrow-flight-sql-jdbc-driver)
|
|
1654
|
+
|
|
1655
|
+
Dremio also supports the [Dremio JDBC driver (Legacy)](/current/client-applications/drivers/jdbc).
|
|
1656
|
+
|
|
1657
|
+
Was this page helpful?
|
|
1658
|
+
|
|
1659
|
+
[Previous
|
|
1660
|
+
|
|
1661
|
+
ThoughtSpot](/current/client-applications/thoughtspot)[Next
|
|
1662
|
+
|
|
1663
|
+
Arrow Flight SQL JDBC](/current/client-applications/drivers/arrow-flight-sql-jdbc-driver)
|
|
1664
|
+
|
|
1665
|
+
---
|
|
1666
|
+
|
|
1667
|
+
# Source: https://docs.dremio.com/current/client-applications/dbvisualizer-legacy
|
|
1668
|
+
|
|
1669
|
+
Version: current [26.x]
|
|
1670
|
+
|
|
1671
|
+
On this page
|
|
1672
|
+
|
|
1673
|
+
# DbVisualizer
|
|
1674
|
+
|
|
1675
|
+
You can use the legacy Dremio JDBC driver to run [DbVisualizer](https://www.dbvis.com/), a SQL runner that works with any JDBC-compliant data source.
|
|
1676
|
+
|
|
1677
|
+
## Supported Versions
|
|
1678
|
+
|
|
1679
|
+
You can use any version of DbVisualizer, if you use the legacy Dremio JDBC Driver 14.0.0 or later.
|
|
1680
|
+
|
|
1681
|
+
## Supported Authentication Methods
|
|
1682
|
+
|
|
1683
|
+
You can use your Dremio username and password, or you can use a personal access token (PAT) that you obtained from Dremio.
|
|
1684
|
+
|
|
1685
|
+
## Prerequisites
|
|
1686
|
+
|
|
1687
|
+
* Download the [legacy Dremio JDBC driver](/current/client-applications/drivers/jdbc/).
|
|
1688
|
+
* If you want to authenticate your connection to Dremio by using a personal access token, see [Creating a PAT](/current/security/authentication/personal-access-tokens/#creating-a-pat) for the steps to obtain one.
|
|
1689
|
+
|
|
1690
|
+
## Connecting to Dremio
|
|
1691
|
+
|
|
1692
|
+
1. Add the legacy Dremio JDBC Driver to DbVisualizer's Driver Manager. You need to do this only once, and can skip this step if DbVisualizer already lists this driver in its Driver Manager dialog:
|
|
1693
|
+
|
|
1694
|
+
a. In the menubar, select **Tools** > **Driver Manager**.
|
|
1695
|
+
|
|
1696
|
+
b. In the **Driver Name** list of the **Driver Manager** dialog, select **Dremio**.
|
|
1697
|
+
|
|
1698
|
+
c. Click the folder icon to find and select the downloaded Dremio JDBC driver.
|
|
1699
|
+
|
|
1700
|
+
d. Close the **Driver Manager** dialog.
|
|
1701
|
+
2. Create a connection to Dremio:
|
|
1702
|
+
|
|
1703
|
+
a. In the menubar, select **Database** > **Create Database Connection**.
|
|
1704
|
+
|
|
1705
|
+
b. Double-click **Dremio** in the **Driver Name** list.
|
|
1706
|
+
|
|
1707
|
+
c. Name the connection.
|
|
1708
|
+
|
|
1709
|
+
d. Ensure that these default values are set:
|
|
1710
|
+
|
|
1711
|
+
| Field | Value |
|
|
1712
|
+
| --- | --- |
|
|
1713
|
+
| **Settings Format** | Server Info |
|
|
1714
|
+
| **Connection Type** | Direct |
|
|
1715
|
+
| **Database Port** | 31010 |
|
|
1716
|
+
|
|
1717
|
+
e. In the **Database Server** field, specify the hostname of your coordinator node.
|
|
1718
|
+
|
|
1719
|
+
f. In the **Database Userid** and **Database Password** fields, specify your authentication credentials:
|
|
1720
|
+
|
|
1721
|
+
* To use a personal access token that you obtained from Dremio:
|
|
1722
|
+
|
|
1723
|
+
1. In the **Database Userid** field, specify the username for which the PAT was generated.
|
|
1724
|
+
2. In the **Database Password** field, paste your personal access token.
|
|
1725
|
+
* To use your Dremio username and password:
|
|
1726
|
+
|
|
1727
|
+
1. In the **Database Userid** field, specify your username.
|
|
1728
|
+
2. In the **Database Password** field, your password.
|
|
1729
|
+
|
|
1730
|
+
g. (Optional) Click **Ping Server** to test the connection.
|
|
1731
|
+
|
|
1732
|
+
h. Click **Finish**.
|
|
1733
|
+
|
|
1734
|
+
DbVisualizer creates the connection and opens it.
|
|
1735
|
+
|
|
1736
|
+
Was this page helpful?
|
|
1737
|
+
|
|
1738
|
+
[Previous
|
|
1739
|
+
|
|
1740
|
+
Dremio JDBC Driver (Legacy)](/current/client-applications/drivers/jdbc)[Next
|
|
1741
|
+
|
|
1742
|
+
Accelerate Queries](/current/acceleration/)
|
|
1743
|
+
|
|
1744
|
+
* Supported Versions
|
|
1745
|
+
* Supported Authentication Methods
|
|
1746
|
+
* Prerequisites
|
|
1747
|
+
* Connecting to Dremio
|
|
1748
|
+
|
|
1749
|
+
---
|
|
1750
|
+
|
|
1751
|
+
# Source: https://docs.dremio.com/current/client-applications/microsoft-excel/microsoft-excel-powerpivot
|
|
1752
|
+
|
|
1753
|
+
Version: current [26.x]
|
|
1754
|
+
|
|
1755
|
+
On this page
|
|
1756
|
+
|
|
1757
|
+
# Microsoft Excel PowerPivot
|
|
1758
|
+
|
|
1759
|
+
## Prerequisites
|
|
1760
|
+
|
|
1761
|
+
* Ensure that you are using Dremio v22.0 or later.
|
|
1762
|
+
* Ensure that your operating system is 64-bit Windows 10 or later.
|
|
1763
|
+
* Download, install, and configure the [Arrow Flight SQL ODBC driver](/current/client-applications/drivers/arrow-flight-sql-odbc-driver/).
|
|
1764
|
+
* If you want to authenticate to Dremio by using a personal access token (PAT), rather than by using a password, generate a PAT. See [Personal Access Tokens](/current/security/authentication/personal-access-tokens/) for the steps.
|
|
1765
|
+
|
|
1766
|
+
## Updating the DSN Configuration
|
|
1767
|
+
|
|
1768
|
+
1. Launch ODBC Data Sources on your Windows system.
|
|
1769
|
+
2. Select the **System DSN** tab.
|
|
1770
|
+
3. Select the DSN entry that you created when you configured the Arrow Flight SQL ODBC driver.
|
|
1771
|
+
4. Click **Configure**.
|
|
1772
|
+
5. In the **Advanced Properties** section, add the following key/value pair:
|
|
1773
|
+
* **Key:** quoting
|
|
1774
|
+
* **Value:** BRACKET
|
|
1775
|
+
|
|
1776
|
+
## Connecting to Dremio
|
|
1777
|
+
|
|
1778
|
+
1. Open Excel.
|
|
1779
|
+
2. Click the **Power Pivot** tab and then click **Manage**.
|
|
1780
|
+
3. Select **From Other Sources**.
|
|
1781
|
+
4. In the Table Import Wizard, select **Others (OLEDB/ODBC)**.
|
|
1782
|
+
5. Click **Next**.
|
|
1783
|
+
6. Click **Build**.
|
|
1784
|
+
7. In the Data Link Properties dialog, follow these steps:
|
|
1785
|
+
|
|
1786
|
+
a. On the **Provider** tab, select **Microsoft OLE DB Provider for ODBC Drivers**.
|
|
1787
|
+
|
|
1788
|
+
b. Click **Next>>**.
|
|
1789
|
+
|
|
1790
|
+
c. For step 1 on the **Connection** tab, select **Use data source name**, and then select the data source name for the Arrow Flight SQL ODBC driver.
|
|
1791
|
+
|
|
1792
|
+
d. For step 2 on the **Connection** tab, specify the username to use for connections to Dremio, then specify either a password or a personal access token to use with the username.
|
|
1793
|
+
|
|
1794
|
+
e. (Optional) Click **Test Connection** to find out whether the info you specified on this tab is correct.
|
|
1795
|
+
|
|
1796
|
+
f. Click **OK**.
|
|
1797
|
+
8. (Optional) Click **Test Connection** to find out whether you can connect to Dremio.
|
|
1798
|
+
9. Click **Next**.
|
|
1799
|
+
10. Ensure that the option **Select from a list of tables and views to choose the data to import**.
|
|
1800
|
+
11. Click **Next**.
|
|
1801
|
+
12. Select the tables and views that you want to import data from.
|
|
1802
|
+
13. Click **Finish**.
|
|
1803
|
+
|
|
1804
|
+
Was this page helpful?
|
|
1805
|
+
|
|
1806
|
+
[Previous
|
|
1807
|
+
|
|
1808
|
+
Microsoft Excel](/current/client-applications/microsoft-excel/)[Next
|
|
1809
|
+
|
|
1810
|
+
Microsoft Power BI](/current/client-applications/microsoft-power-bi/)
|
|
1811
|
+
|
|
1812
|
+
* Prerequisites
|
|
1813
|
+
* Updating the DSN Configuration
|
|
1814
|
+
* Connecting to Dremio
|
|
1815
|
+
|
|
1816
|
+
---
|
|
1817
|
+
|
|
1818
|
+
# Source: https://docs.dremio.com/current/client-applications/microsoft-power-bi
|
|
1819
|
+
|
|
1820
|
+
Version: current [26.x]
|
|
1821
|
+
|
|
1822
|
+
On this page
|
|
1823
|
+
|
|
1824
|
+
# Microsoft Power BI
|
|
1825
|
+
|
|
1826
|
+
Connect [Microsoft Power BI](https://www.microsoft.com/en-us/power-platform/products/power-bi) to visualize your data and create reports.
|
|
1827
|
+
|
|
1828
|
+
You can connect Power BI to Dremio in one of the following ways:
|
|
1829
|
+
|
|
1830
|
+
* Configure a reusable connection to use in Power BI Desktop, Power BI Gateway, or Power BI Service. Power BI Service can connect to Dremio through DirectQuery or through Power BI Gateway.
|
|
1831
|
+
* Connect to a specific dataset by downloading the `.pbids` file from Dremio and opening it in Power BI Desktop.
|
|
1832
|
+
|
|
1833
|
+
## Supported Authentication Methods
|
|
1834
|
+
|
|
1835
|
+
From Power BI, you can authenticate to Dremio with one of the following methods:
|
|
1836
|
+
|
|
1837
|
+
* **Username and password**: Use your Dremio credentials.
|
|
1838
|
+
* **Personal access token (PAT)**: For details, see [Personal Access Tokens](/current/security/authentication/personal-access-tokens/).
|
|
1839
|
+
* **Single sign-on (SSO) through OAuth 2.0**: For steps on how to configure SSO, see Enable SSO to Dremio from Power BI.
|
|
1840
|
+
|
|
1841
|
+
## Connect to Dremio from Power BI
|
|
1842
|
+
|
|
1843
|
+
The Power BI connector for Dremio now supports connectivity through the open-source [Arrow Database Connectivity (ADBC) driver](https://arrow.apache.org/docs/format/ADBC.html), which Dremio highly recommends using to connect to Dremio. To enable reports to use ADBC, see Enable Connectivity with ADBC.
|
|
1844
|
+
|
|
1845
|
+
Existing connections will continue to work, but we recommend using the embedded ADBC driver for all new reports and migrating existing reports to ADBC to benefit from improved performance and supportability.
|
|
1846
|
+
|
|
1847
|
+
To connect to Dremio from Power BI Desktop:
|
|
1848
|
+
|
|
1849
|
+
1. Click **Get data**, search for `Dremio`, select **Dremio Software**, and click **Connect**.
|
|
1850
|
+
2. In the Dremio Software dialog, follow these steps:
|
|
1851
|
+
|
|
1852
|
+
a. Use the Flight SQL ADBC driver and in the **Server** field specify your Dremio hostname with the `adbc://` prefix. Example: `adbc://acme-company.dremio.com`
|
|
1853
|
+
|
|
1854
|
+
b. (Optional) Complete the other fields in the dialog as you normally would.
|
|
1855
|
+
|
|
1856
|
+
c. Under **Data Connectivity mode**, select either **Import** or **DirectQuery**. Click **OK**.
|
|
1857
|
+
|
|
1858
|
+
d. For **Authentication Method**, select **Basic** or **Key**.
|
|
1859
|
+
|
|
1860
|
+
* **Basic**: Enter your Dremio username and password.
|
|
1861
|
+
* **Key**: Paste in the personal access token you obtained from Dremio. For details, see [Personal Access Tokens](/current/security/authentication/personal-access-tokens/).
|
|
1862
|
+
3. Click **Connect**.
|
|
1863
|
+
|
|
1864
|
+
note
|
|
1865
|
+
|
|
1866
|
+
Creating Dataflows through Power BI Service is also supported. To create a dataflow, click **New** > **Dataflow**. For the data source connection, follow the steps above.
|
|
1867
|
+
|
|
1868
|
+
### Create a Live Connection to a Dataset from Dremio
|
|
1869
|
+
|
|
1870
|
+
You can generate a Microsoft Power BI Data Source (`.pbids`) file that represents a live connection to a dataset that is in Dremio. No actual data is stored in this file, and you can think of it as a shortcut to a Power BI Desktop session with a preconfigured view of your data.
|
|
1871
|
+
|
|
1872
|
+
note
|
|
1873
|
+
|
|
1874
|
+
The `.pbids` file download option must be enabled for users to have access to this feature. To enable this feature, see Enable the `.pbids` file download.
|
|
1875
|
+
|
|
1876
|
+
To create a live connection to a dataset:
|
|
1877
|
+
|
|
1878
|
+
1. In Dremio, navigate to the dataset.
|
|
1879
|
+
2. Click the ellipsis (**...**) next to the dataset name.
|
|
1880
|
+
3. Select **Download .pbids file**.
|
|
1881
|
+
4. Open the downloaded file in Power BI Desktop.
|
|
1882
|
+
5. Authenticate using your preferred method.
|
|
1883
|
+
|
|
1884
|
+
## Power BI Gateway
|
|
1885
|
+
|
|
1886
|
+
To enable Power BI users to connect to Dremio via Power BI Gateway:
|
|
1887
|
+
|
|
1888
|
+
1. Install and configure [Power BI Gateway](https://docs.microsoft.com/en-us/power-bi/connect-data/service-gateway-onprem) on a machine that can connect to your Dremio cluster.
|
|
1889
|
+
2. In the Power BI Gateway configuration, add Dremio as a data source using the same connection details as above.
|
|
1890
|
+
|
|
1891
|
+
## Advanced Configuration
|
|
1892
|
+
|
|
1893
|
+
### Enable Connectivity with ADBC
|
|
1894
|
+
|
|
1895
|
+
Dremio supports connectivity through Arrow Database Connectivity (ADBC). To enable this for Power BI Service, see the following options.
|
|
1896
|
+
|
|
1897
|
+
#### Enable the ADBC Option for a New Connection
|
|
1898
|
+
|
|
1899
|
+
1. In Power BI Desktop, click **Get data**.
|
|
1900
|
+
2. In the Get Data dialog, locate and select **Dremio Software**, and click **Connect**.
|
|
1901
|
+
3. In the Dremio Software dialog, in the **Server** field, specify your hostname with the `adbc://` prefix. Example: `adbc://acme-company.dremio.com`
|
|
1902
|
+
4. (Optional) Complete the other fields in the dialog as you normally would.
|
|
1903
|
+
5. Click **OK**.
|
|
1904
|
+
6. Authenticate using your preferred method, and click **Connect**.
|
|
1905
|
+
|
|
1906
|
+
#### Enable the ADBC Option for an Existing Connection
|
|
1907
|
+
|
|
1908
|
+
1. In Power BI Desktop, go to **Data source settings**, select your source, and click **Change source**.
|
|
1909
|
+
2. In the Dremio Software dialog, update the **Server** field by adding the `adbc://` prefix before the hostname. Example: `adbc://acme-company.dremio.com`. If you're unable to edit the source this way, click **Transform data**, then click **Advanced Editor** in the **Home** tab. In the dialog that appears, update the hostname/server with the `adbc://` prefix, and click **Done**.
|
|
1910
|
+
3. Click **OK**.
|
|
1911
|
+
4. Reauthenticate using your preferred method, and click **Connect**.
|
|
1912
|
+
|
|
1913
|
+
### Enable the `.pbids` File Download in the Dremio Console
|
|
1914
|
+
|
|
1915
|
+
To enable the `.pbids` file download feature:
|
|
1916
|
+
|
|
1917
|
+
1. In Dremio, go to **Admin** > **Settings**.
|
|
1918
|
+
2. In the **Support** section, enable **Allow downloading of .pbids files**.
|
|
1919
|
+
3. Click **Save**.
|
|
1920
|
+
|
|
1921
|
+
### Enable SSO to Dremio from Power BI
|
|
1922
|
+
|
|
1923
|
+
SSO is supported only for datasets that use DirectQuery.
|
|
1924
|
+
|
|
1925
|
+
note
|
|
1926
|
+
|
|
1927
|
+
SSO only works for reports created using the Dremio Cloud connector in Power BI Desktop. Reports created with the Dremio Software connector cannot use SSO by simply changing credentials, they must be converted first.
|
|
1928
|
+
|
|
1929
|
+
To convert existing reports from the Dremio Software connector to the Dremio Cloud connector, you'll need to modify the connection in Power BI's Advanced Editor to change the function from `Dremio.Databases` to `DremioCloud.DatabasesByServerV370`.
|
|
1930
|
+
|
|
1931
|
+
Prerequisites: Configure Dremio for Microsoft Entra ID
|
|
1932
|
+
|
|
1933
|
+
Before enabling SSO for Power BI reports, Dremio must be configured to use Microsoft Entra ID (Azure AD) as an identity provider.
|
|
1934
|
+
|
|
1935
|
+
**Required configuration:**
|
|
1936
|
+
|
|
1937
|
+
* Set `services.coordinator.web.auth.type` to the Microsoft Entra ID / OIDC provider type configured for your deployment (for example, `azuread`)
|
|
1938
|
+
* Provide the required OIDC or Azure AD configuration file (`azuread.json` or equivalent)
|
|
1939
|
+
* Deploy configuration files to all coordinator nodes
|
|
1940
|
+
* Restart Dremio cluster after applying changes
|
|
1941
|
+
|
|
1942
|
+
For complete setup steps, see [Configure Microsoft Entra ID](/current/security/authentication/identity-providers/microsoft-entra-id/).
|
|
1943
|
+
|
|
1944
|
+
note
|
|
1945
|
+
|
|
1946
|
+
All authentication setup must be done through configuration files before enabling SSO in Power BI.
|
|
1947
|
+
|
|
1948
|
+
The following steps configure the Power BI side of SSO. These steps assume your Dremio deployment is already configured to authenticate users via Microsoft Entra ID.
|
|
1949
|
+
|
|
1950
|
+
To enable SSO for Power BI reports:
|
|
1951
|
+
|
|
1952
|
+
#### Enable SSO for a DirectQuery Report
|
|
1953
|
+
|
|
1954
|
+
To enable SSO for a report that uses DirectQuery:
|
|
1955
|
+
|
|
1956
|
+
1. In Power BI Service, open the workspace to which you published the report.
|
|
1957
|
+
2. Find the dataset that is associated with the report, click the three dots next to its name, and select **Settings**.
|
|
1958
|
+
3. In the settings for the dataset, expand **Data source credentials**.
|
|
1959
|
+
4. Click **Edit credentials**.
|
|
1960
|
+
5. For **Authentication method**, select **OAuth2**.
|
|
1961
|
+
6. In the **Privacy level setting for this data source** field, ensure that **Private** is selected.
|
|
1962
|
+
7. Select the check box **Report viewers can only access this data source with their own Power BI identities using DirectQuery**.
|
|
1963
|
+
8. Click **Sign in**.
|
|
1964
|
+
|
|
1965
|
+
#### Enable SSO for Reports with Power BI Gateway
|
|
1966
|
+
|
|
1967
|
+
To enable SSO when you are using Power BI Gateway:
|
|
1968
|
+
|
|
1969
|
+
1. In Power BI Service, open the workspace to which you published the report.
|
|
1970
|
+
2. Find the dataset that is associated with the report, click the three dots next to its name, and select **Settings**.
|
|
1971
|
+
3. In the settings for the dataset, expand **Gateway connection**.
|
|
1972
|
+
4. Recreate your data source by following these steps:
|
|
1973
|
+
|
|
1974
|
+
1. Select the **Maps to** field.
|
|
1975
|
+
2. Select **Manually add to gateway**.
|
|
1976
|
+
3. For **Data Source Name**, enter a name for the data source.
|
|
1977
|
+
4. For **Data Source Type**, select **Dremio Software**.
|
|
1978
|
+
5. For **Server**, enter your Dremio hostname with the `adbc://` prefix. Example: `adbc://acme-company.dremio.com`
|
|
1979
|
+
6. For **Authentication Method**, select **OAuth2**.
|
|
1980
|
+
7. Click **Add**.
|
|
1981
|
+
5. In the **Data source credentials** section, click **Edit credentials**.
|
|
1982
|
+
6. For **Authentication method**, select **OAuth2**.
|
|
1983
|
+
7. In the **Privacy level setting for this data source** field, ensure that **Private** is selected.
|
|
1984
|
+
8. Select the check box **Report viewers can only access this data source with their own Power BI identities using DirectQuery**.
|
|
1985
|
+
9. Click **Sign in**.
|
|
1986
|
+
|
|
1987
|
+
note
|
|
1988
|
+
|
|
1989
|
+
SSO requires the OAuth2 authentication method. Basic authentication and personal access tokens do not support SSO when used through Power BI Gateway.
|
|
1990
|
+
|
|
1991
|
+
## Arrow Database Connectivity (ADBC) Limitations
|
|
1992
|
+
|
|
1993
|
+
* ADBC is not enabled by default. It must be enabled by the owner of the report.
|
|
1994
|
+
* NativeQuery is not supported.
|
|
1995
|
+
* Metadata calls are not cached.
|
|
1996
|
+
* Power BI Desktop occasionally caches errors that might affect future connection attempts until the cache is cleared.
|
|
1997
|
+
* Complex data types such as `MAP` and `INTERVAL` are not supported.
|
|
1998
|
+
* When using DirectQuery, chaining functions is supported, but some complex scenarios may not work as expected. Complex optional parameters for functions are not supported.
|
|
1999
|
+
|
|
2000
|
+
## Troubleshoot Power BI
|
|
2001
|
+
|
|
2002
|
+
### Cached Data Issues
|
|
2003
|
+
|
|
2004
|
+
If you have previously installed older versions of Power BI Desktop, cached data may interfere with the newer versions of the Flight SQL drivers resulting in connection errors.
|
|
2005
|
+
|
|
2006
|
+
#### Problem
|
|
2007
|
+
|
|
2008
|
+
For example, when using Flight SQL ADBC, cached connection data in Power BI could cause the following errors:
|
|
2009
|
+
|
|
2010
|
+
* `ADBC: IOError [] [FlightSQL] [FlightSQL] unresolved address (Unavailable; GetObjects(GetDBSchemas))`
|
|
2011
|
+
* `ADBC: IOError [] [FlightSQL] [FlightSQL] connection error: desc = "transport: authentication handshake failed: credentials: cannot check peer: missing selected ALPN property. If you upgraded from a grpc-go version earlier than 1.67, your TLS connections may have stopped working due to ALPN enforcement. For more details, see: https://github.com/grpc/grpc-go/issues/434" (Unavailable; GetObjects(GetDBSchemas))"`
|
|
2012
|
+
|
|
2013
|
+
#### Solution
|
|
2014
|
+
|
|
2015
|
+
Clear the Power BI Desktop cache and any cached data source permissions involving Dremio connections by following these steps:
|
|
2016
|
+
|
|
2017
|
+
1. [Clear Power BI Desktop Caches](https://community.fabric.microsoft.com/t5/Desktop/How-to-clear-cache-in-Power-BI-Desktop/m-p/853389#M409501).
|
|
2018
|
+
2. In Power BI Desktop, go to **File** > **Options and Settings** > **Data Source Settings**.
|
|
2019
|
+
3. Select **Global Permissions**.
|
|
2020
|
+
4. Clear all cached connections by clicking **Clear All Permissions**, or select specific Dremio data sources and click **Clear Permissions**.
|
|
2021
|
+
|
|
2022
|
+
After completing these steps, try reconnecting to Dremio using the instructions above.
|
|
2023
|
+
|
|
2024
|
+
### Large Result Sets
|
|
2025
|
+
|
|
2026
|
+
#### Problem
|
|
2027
|
+
|
|
2028
|
+
When fetching data from Dremio with ADBC you may see the following error:
|
|
2029
|
+
|
|
2030
|
+
* `Unexpected error: [FlightSQL] grpc: received message larger than max (43747370 vs. 16777216) (ResourceExhausted; DoGet: endpoint 0: [])`
|
|
2031
|
+
|
|
2032
|
+
#### Solution
|
|
2033
|
+
|
|
2034
|
+
By default, the ADBC driver accepts only messages up to 16 MiB in size. This can be fixed by updating the Power BI M expression to customize the connection as follows:
|
|
2035
|
+
|
|
2036
|
+
```
|
|
2037
|
+
let
|
|
2038
|
+
Source = DremioCloud.DatabasesByServerV370("your-server-here", [
|
|
2039
|
+
MaxMessageSize = 67108864 // 64 MiB
|
|
2040
|
+
])
|
|
2041
|
+
in
|
|
2042
|
+
Source
|
|
2043
|
+
```
|
|
2044
|
+
|
|
2045
|
+
Replace `your-server-here` with your actual Dremio server address. The `MaxMessageSize` parameter sets the maximum message size in bytes (67108864 = 64 MiB).
|
|
2046
|
+
|
|
2047
|
+
Was this page helpful?
|
|
2048
|
+
|
|
2049
|
+
[Previous
|
|
2050
|
+
|
|
2051
|
+
Microsoft Excel PowerPivot](/current/client-applications/microsoft-excel/microsoft-excel-powerpivot)[Next
|
|
2052
|
+
|
|
2053
|
+
Microstrategy Workstation](/current/client-applications/microstrategy)
|
|
2054
|
+
|
|
2055
|
+
* Supported Authentication Methods
|
|
2056
|
+
* Connect to Dremio from Power BI
|
|
2057
|
+
+ Create a Live Connection to a Dataset from Dremio
|
|
2058
|
+
* Power BI Gateway
|
|
2059
|
+
* Advanced Configuration
|
|
2060
|
+
+ Enable Connectivity with ADBC
|
|
2061
|
+
+ Enable the `.pbids` File Download in the Dremio Console
|
|
2062
|
+
+ Enable SSO to Dremio from Power BI
|
|
2063
|
+
* Arrow Database Connectivity (ADBC) Limitations
|
|
2064
|
+
* Troubleshoot Power BI
|
|
2065
|
+
+ Cached Data Issues
|
|
2066
|
+
+ Large Result Sets
|
|
2067
|
+
|
|
2068
|
+
---
|
|
2069
|
+
|
|
2070
|
+
# Source: https://docs.dremio.com/current/client-applications/drivers/arrow-flight-sql-jdbc-driver
|
|
2071
|
+
|
|
2072
|
+
Version: current [26.x]
|
|
2073
|
+
|
|
2074
|
+
On this page
|
|
2075
|
+
|
|
2076
|
+
# Arrow Flight SQL JDBC
|
|
2077
|
+
|
|
2078
|
+
The Arrow Flight SQL JDBC driver is an open-source driver that is based on the specifications for the Java Database Connectivity (JDBC) API. However, the Flight SQL JDBC driver uses Apache Arrow, so it is able to move large amounts of data faster, in part because it does not need to serialize and then deserialize data.
|
|
2079
|
+
|
|
2080
|
+
This driver solves a problem that is common to many BI tools that access databases through JDBC. These tools bundle a different JDBC driver for each type of database they support, because each of these databases has their own proprietary driver. Bundling multiple JDBC drivers for multiple databases can be difficult to maintain, and responding to support issues for multiple drivers can be costly. Now, provided that a database has an Apache Arrow Flight SQL endpoint enabled, the JDBC driver can connect to it.
|
|
2081
|
+
|
|
2082
|
+
This driver is developed and maintained by the Apache Arrow community. For full technical documentation, see Apache's [Arrow Flight SQL JDBC Driver](https://arrow.apache.org/docs/java/flight_sql_jdbc_driver.html). For Dremio-specific compatibility, version guidance, and release notes, see Dremio's [Arrow Flight SQL JDBC Release Notes](/current/release-notes/arrow-flight-sql-jdbc).
|
|
2083
|
+
|
|
2084
|
+
This driver is licensed under [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).
|
|
2085
|
+
|
|
2086
|
+
tip
|
|
2087
|
+
|
|
2088
|
+
Query planning is done on the specified node. To distribute query planning for JDBC connections, configure [secondary coordinator nodes](/current/deploy-dremio/other-options/standalone/dremio-config/dremio-conf/#dremio-coordinators) for your deployment.
|
|
2089
|
+
|
|
2090
|
+
## Prerequisites
|
|
2091
|
+
|
|
2092
|
+
* One of the following operating systems: Windows, MacOS, or Linux
|
|
2093
|
+
* Supported Java versions: Java 11+
|
|
2094
|
+
* Supported JDK versions: 11, 17, and 21
|
|
2095
|
+
* Requires the following option to be present:
|
|
2096
|
+
|
|
2097
|
+
Java 11+ Requirement
|
|
2098
|
+
|
|
2099
|
+
```
|
|
2100
|
+
--add-opens=java.base/java.nio=ALL-UNNAMED
|
|
2101
|
+
```
|
|
2102
|
+
|
|
2103
|
+
## Supported Authentication Methods
|
|
2104
|
+
|
|
2105
|
+
* Use the username and password of the Dremio account that you want to connect with.
|
|
2106
|
+
* Use a username and personal access token (PAT).
|
|
2107
|
+
* Use an OAuth Access Token
|
|
2108
|
+
|
|
2109
|
+
### Username and Password
|
|
2110
|
+
|
|
2111
|
+
Pass a username and password with the `user` and `password` properties.
|
|
2112
|
+
|
|
2113
|
+
### Personal Access Tokens Enterprise
|
|
2114
|
+
|
|
2115
|
+
Pass a username and personal access token (PAT) with the `user` and `password` properties. You must URL-encode PATs that you include in JDBC URLs. To encode a PAT locally on your system, you can follow the steps in URL-encoding Values. See [Personal Access Tokens](/current/security/authentication/personal-access-tokens/) for enabling and creating PATs.
|
|
2116
|
+
|
|
2117
|
+
tip
|
|
2118
|
+
|
|
2119
|
+
Dremio recommends OAuth access tokens to improve security by reducing the risk of compromised passwords or personal access tokens.
|
|
2120
|
+
|
|
2121
|
+
### OAuth Access Tokens Enterprise
|
|
2122
|
+
|
|
2123
|
+
To create a connection with an OAuth access token, configure the following properties:
|
|
2124
|
+
|
|
2125
|
+
* `token` property with the vaue of the OAuth access token.
|
|
2126
|
+
* `user` property with the empty string `""` to default to the username included in the access token. If the username is configured in the property value, it must match the username in the access token.
|
|
2127
|
+
|
|
2128
|
+
Example Arrow Flight SQL JDBC Connection Using OAuth Access Token
|
|
2129
|
+
|
|
2130
|
+
```
|
|
2131
|
+
import jaydebeapi
|
|
2132
|
+
jdbc_arrow_flight_url = "jdbc:arrow-flight-sql://{}:{}".format("localhost", 32010)
|
|
2133
|
+
jdbc_arrow_flight_args = { "user": "", "token": dremio_access_token }
|
|
2134
|
+
jdbc_driver_location_example = "/Users/me/workspace/drivers/flight-sql-jdbc-driver-18.3.0.jar"
|
|
2135
|
+
jdbc_arrow_flight_conn = jaydebeapi.connect("org.apache.arrow.driver.jdbc.ArrowFlightJdbcDriver",
|
|
2136
|
+
jdbc_arrow_flight_url,
|
|
2137
|
+
jdbc_arrow_flight_args,
|
|
2138
|
+
jdbc_driver_location_example)
|
|
2139
|
+
```
|
|
2140
|
+
|
|
2141
|
+
Users can create OAuth access tokens using a local or LDAP username and password, a PAT, or an external JWT. Dremio provides [sample code](/current/reference/api/oauth-token/) for each of these cases.
|
|
2142
|
+
|
|
2143
|
+
## Connecting to Databases
|
|
2144
|
+
|
|
2145
|
+
* Use this template to create a direct connection to a database that has enabled an Apache Arrow Flight SQL endpoint:
|
|
2146
|
+
|
|
2147
|
+
Create direct connection to database
|
|
2148
|
+
|
|
2149
|
+
```
|
|
2150
|
+
jdbc:arrow-flight-sql://<hostname-or-IP-address>:<port-number>/?useEncryption=false[&schema=<optional_schema>][&<properties>]
|
|
2151
|
+
```
|
|
2152
|
+
|
|
2153
|
+
+ `<optional_schema>`: The name of the schema (datasource or space, including child paths, such as `myDatasource.folder1` and `mySpace.folder1.folder2`) to use by default when a schema is not specified in a query.
|
|
2154
|
+
+ `<properties>`: A list of JDBC properties. Values must be URI-encoded.
|
|
2155
|
+
* Use this template to create a direct connection to a Dremio coordinator node:
|
|
2156
|
+
|
|
2157
|
+
Create direct connection to Dremio coordinator node
|
|
2158
|
+
|
|
2159
|
+
```
|
|
2160
|
+
jdbc:arrow-flight-sql://<Dremio_coordinator>:32010[/?schema=<optional_schema>][&<properties>]
|
|
2161
|
+
```
|
|
2162
|
+
|
|
2163
|
+
+ `<Dremio_coordinator>`: The hostname or IP address of the coordinator node in your Dremio cluster.
|
|
2164
|
+
+ `<optional_schema>`: The name of the schema (datasource or space, including child paths, such as `myDatasource.folder1` and `mySpace.folder1.folder2`) to use by default when a schema is not specified in a query.
|
|
2165
|
+
+ `<properties>`: A list of JDBC properties. Values must be URL-encoded. See URL-encoding Values for suggested steps.
|
|
2166
|
+
|
|
2167
|
+
## Downloading the Driver
|
|
2168
|
+
|
|
2169
|
+
To download the driver, go to [Apache Arrow Flight SQL JDBC](https://www.dremio.com/drivers/jdbc/).
|
|
2170
|
+
|
|
2171
|
+
## Integrating the driver
|
|
2172
|
+
|
|
2173
|
+
To integrate the driver into your development environment, add it to your classpath.
|
|
2174
|
+
|
|
2175
|
+
## Name of the Class
|
|
2176
|
+
|
|
2177
|
+
The name of the class is `org.apache.arrow.driver.jdbc.ArrowFlightJdbcDriver`.
|
|
2178
|
+
|
|
2179
|
+
## JDBC Properties for Dremio Wire Encryption
|
|
2180
|
+
|
|
2181
|
+
If you are setting up encrypted communication between your JDBC client applications and the Dremio server, use the SSL JDBC connection parameters and fully qualified hostname to
|
|
2182
|
+
configure the JDBC connection string and connect to Dremio.
|
|
2183
|
+
|
|
2184
|
+
note
|
|
2185
|
+
|
|
2186
|
+
This driver does not yet support these features:
|
|
2187
|
+
|
|
2188
|
+
* Disabling host verification
|
|
2189
|
+
* Impersonation
|
|
2190
|
+
|
|
2191
|
+
| Properties | Value | Required | Description |
|
|
2192
|
+
| --- | --- | --- | --- |
|
|
2193
|
+
| `useEncryption` | `true` or `false` | [Optional] | If `true`, SSL is enabled. If set to `false`, SSL is not enabled. The default is `true`. If you do not want to use encryption, you must set the value to `false`. |
|
|
2194
|
+
| `disableCertificateVerification` | `true` or `false` | [Optional] | If `true`, Dremio does not verify the host certificate against the truststore. The default value is `false`. |
|
|
2195
|
+
| `trustStoreType` | string | [Optional] | Default: JKS The trustStore type. Allowed values are : `JKS`, `PKCS12` If the useSystemTrustStore option is set to true (on Windows only), the allowed values are: `Windows-MY`, `Windows-ROOT` Import the certificate into the **Trusted Root Certificate Authorities** and set `trustStoreType=Windows-ROOT`. Also import the certificate into **Trusted Root Certificate Authorities** or **Personal** and set `trustStoreType=Windows-MY`. |
|
|
2196
|
+
| `trustStore` | string | [Optional] | Path to the truststore. If not provided, the default Java truststore is used (usually `$JAVA_HOME/lib/security/cacerts`) and the trustStorePassword parameter is ignored. |
|
|
2197
|
+
| `useSystemTrustStore` | `true` or `false` | [Optional] | By default, the value is `true`. Bypasses trustStoreType and automatically picks the correct Truststore based on the operating system: Keychain on MacOS, [Local Machine and Current User Certificate Stores](https://docs.microsoft.com/en-us/windows-hardware/drivers/install/local-machine-and-current-user-certificate-stores) on Windows, and default truststore on other operating systems. If you are using an operating system other than MacOS or Windows, you must use the `trustStorePassword` property to pass the password of the truststore. Here is an example of a connection string for Linux: `jdbc:arrow-flight-sql://localhost:32010?trustStorePassword=Pc0_lL'Opjn$vSDcv:%Q0@@buc` |
|
|
2198
|
+
| `trustStorePassword` | string | [Optional] | Password to the truststore. |
|
|
2199
|
+
|
|
2200
|
+
## Parameterized Queries with Prepared Statements
|
|
2201
|
+
|
|
2202
|
+
Prepared statements allow you to dynamically pass parameters to SQL queries using placeholders, ensuring safer query execution by separating the query structure from the values in parameters. With a prepared statement, you can set parameters (`?`) at runtime using set methods to reuse queries with different values.
|
|
2203
|
+
|
|
2204
|
+
note
|
|
2205
|
+
|
|
2206
|
+
This feature requires Apache Arrow 18.3.0 or later. It supports `SELECT` statements and `DML` statements.
|
|
2207
|
+
|
|
2208
|
+
To use parameterized queries with prepared statements, follow these steps:
|
|
2209
|
+
|
|
2210
|
+
1. Use the `prepareStatement()` method to define a query with parameters, which act as placeholders for dynamic values.
|
|
2211
|
+
2. Set the values by replacing each parameter with a value using the appropriate set methods.
|
|
2212
|
+
3. Ensure all parameters are set before running the query, with indexing starting at 1. If parameters are not set before running the query, JBDC throws an exception.
|
|
2213
|
+
4. Call `executeQuery()` to run the SELECT query and retrieve results, or `executeUpdate()` to run the DML query and retrieve the count of modified records.
|
|
2214
|
+
|
|
2215
|
+
Java examples for SELECT and DML queries
|
|
2216
|
+
|
|
2217
|
+
```
|
|
2218
|
+
PreparedStatement preparedStatement = connection.prepareStatement(
|
|
2219
|
+
"SELECT * FROM employees WHERE department = ? AND salary > ?");
|
|
2220
|
+
preparedStatement.setString(1, "Engineering");
|
|
2221
|
+
preparedStatement.setDouble(2, 75000);
|
|
2222
|
+
ResultSet resultSet = preparedStatement.executeQuery();
|
|
2223
|
+
|
|
2224
|
+
|
|
2225
|
+
PreparedStatement preparedStatement = connection.prepareStatement(
|
|
2226
|
+
"DELETE FROM employees WHERE department = ? AND salary > ?");
|
|
2227
|
+
preparedStatement.setString(1, "Engineering");
|
|
2228
|
+
preparedStatement.setDouble(2, 75000);
|
|
2229
|
+
int rowsUpdated = preparedStatement.executeUpdate();
|
|
2230
|
+
```
|
|
2231
|
+
|
|
2232
|
+
### Supported Data Types and Set Methods
|
|
2233
|
+
|
|
2234
|
+
| **Column Data Type** | **Supported Set Methods** |
|
|
2235
|
+
| --- | --- |
|
|
2236
|
+
| Integer | `setInt()`, `setShort()`, `setNull()` |
|
|
2237
|
+
| Numeric | `setInt()`, `setShort()`, `setLong()`, `setBigDecimal()`, `setNull()` |
|
|
2238
|
+
| Decimal | `setShort()`, `setInt()`, `setLong()`, `setBigDecimal()`, `setNull()` |
|
|
2239
|
+
| BigInt | `setShort()`, `setInt()`, `setLong()`, `setBigDecimal()`, `setNull()` |
|
|
2240
|
+
| Double | `setDouble()`, `setFloat()`, `setNull()` |
|
|
2241
|
+
| Float | `setFloat()`, `setNull()` |
|
|
2242
|
+
| Char | `setString()`, `setNull()` |
|
|
2243
|
+
| Varchar | `setString()`, `setNull()` |
|
|
2244
|
+
| Boolean | `setBoolean()`, `setNull()` |
|
|
2245
|
+
| Time | `setTime()`, `setNull()` |
|
|
2246
|
+
| Timestamp | `setTimestamp()`, `setNull()` |
|
|
2247
|
+
| Date | `setNull()` |
|
|
2248
|
+
| VarBinary | `setBytes()`, `setNull()` |
|
|
2249
|
+
|
|
2250
|
+
### Limitations
|
|
2251
|
+
|
|
2252
|
+
The JDBC client does not support the `setDate()` method due to mismatched date encoding formats between the Arrow Flight JDBC client and Dremio.
|
|
2253
|
+
|
|
2254
|
+
## Managing Workloads
|
|
2255
|
+
|
|
2256
|
+
Dremio administrators can use the Arrow Flight server endpoint to [manage query workloads](/current/admin/workloads/workload-management) by adding the following properties to connections created by Flight clients:
|
|
2257
|
+
|
|
2258
|
+
| Flight Client Property | Description |
|
|
2259
|
+
| --- | --- |
|
|
2260
|
+
| `ROUTING_ENGINE` | Name of the engine to use to process all queries issued during the current session. |
|
|
2261
|
+
| `ROUTING_QUEUE` | Name of the workload management queue. Used only during authentication. |
|
|
2262
|
+
| `ROUTING_TAG` | Tag name associated with all queries executed within a Flight session. Used only during authentication. |
|
|
2263
|
+
| `SCHEMA` | Default schema path to the dataset that the user wants to query. |
|
|
2264
|
+
|
|
2265
|
+
## URL-encoding Values
|
|
2266
|
+
|
|
2267
|
+
To encode a personal access token (PAT) or property value locally on your system, you can follow these steps:
|
|
2268
|
+
|
|
2269
|
+
1. In a browser window, right-click an empty area of the page and select **Inspect**.
|
|
2270
|
+
2. Click **Console**.
|
|
2271
|
+
3. Type `encodeURIComponent("<PAT-or-value>")`, where `<PAT-or-value>` is the personal access token that you obtained from Dremio or the value of a supported JDBC property. The URL-encoded PAT or value appears on the next line. You can highlight it and copy it to your clipboard.
|
|
2272
|
+
|
|
2273
|
+
## Differences between the Arrow Flight SQL JDBC Driver and the Legacy Dremio JDBC Driver
|
|
2274
|
+
|
|
2275
|
+
The Arrow Flight SQL JDBC driver differs from the Dremio JDBC driver (legacy) in the following:
|
|
2276
|
+
|
|
2277
|
+
* Requires Java 11+.
|
|
2278
|
+
* Supports `ResultSet.getBoolean()` on `varchar` columns in which boolean values are represented as these strings: "0", "1", "true", "false".
|
|
2279
|
+
* Supports null Calendar in calls to `ResultSet.getDate()`, `ResultSet.getTime()`, and `ResultSet.getTimestamp()`
|
|
2280
|
+
When a call to one of these methods has no `Calendar` parameter, or the `Calendar` parameter is `null`, the Flight JDBC driver uses the default timezone when it constructs the returned object.
|
|
2281
|
+
* Supports `ResultSet.getDate()`, `ResultSet.getTime()`, and `ResultSet.getTimestamp()` on `varchar` columns in which dates, times, or timestamps are represented as strings.
|
|
2282
|
+
* Supports varchar values that represents numeric values in calls to `ResultSet.getInteger()`, `ResultSet.getFloat()`, `ResultSet.getDouble()`, `ResultSet.getShort()`, `ResultSet.getLong()`, and `ResultSet.getBigDecimal()`
|
|
2283
|
+
* Supports integer values in calls to `getFloat()`
|
|
2284
|
+
Integers returned gain one decimal place.
|
|
2285
|
+
* Supports the native SQL complex types `List`, `Map`, and `Struct`
|
|
2286
|
+
The Dremio JDBC driver (legacy) uses String representations of these types.
|
|
2287
|
+
* Supports using the Interval data type in SQL functions.
|
|
2288
|
+
* Removes support for calling `ResultSet.getBinaryStream()` on non-binary data types. Though such support exists in traditional JDBC drivers, it is not in the specification for the JDBC API.
|
|
2289
|
+
|
|
2290
|
+
note
|
|
2291
|
+
|
|
2292
|
+
Calling `DatabaseMetadata.getCatalog()` when connected to Dremio returns empty. Other `DatabaseMetadata` methods return null values in the `TABLE_CAT` column. This is expected behavior because Dremio does not have a catalog.
|
|
2293
|
+
|
|
2294
|
+
## Limitations
|
|
2295
|
+
|
|
2296
|
+
Impersonation is not supported.
|
|
2297
|
+
|
|
2298
|
+
## Supported Conversions from Dremio Datatypes to JDBC Datatypes
|
|
2299
|
+
|
|
2300
|
+
| **DREMIO TYPE** | **JDBCARROW TYPE** |
|
|
2301
|
+
| --- | --- |
|
|
2302
|
+
| BIGINT | Int |
|
|
2303
|
+
| BIT | Bool |
|
|
2304
|
+
| DATE | Date |
|
|
2305
|
+
| DECIMAL | Decimal |
|
|
2306
|
+
| DOUBLE | FloatingPoint(DOUBLE) |
|
|
2307
|
+
| FIXEDSIZEBINARY | FixedSizeBinary |
|
|
2308
|
+
| FLOAT | FloatingPoint(SINGLE) |
|
|
2309
|
+
| INT | Int |
|
|
2310
|
+
| INTERVAL\_DAY\_SECONDS | Interval(DAY\_TIME) |
|
|
2311
|
+
| INTERVAL\_YEAR\_MONTHS | Interval(YEAR\_MONTH) |
|
|
2312
|
+
| LIST | List |
|
|
2313
|
+
| MAP | Map |
|
|
2314
|
+
| NULL | Null |
|
|
2315
|
+
| OBJECT | Not Supported |
|
|
2316
|
+
| STRUCT | Struct |
|
|
2317
|
+
| TIME | Time(MILLISECOND) |
|
|
2318
|
+
| TIMESTAMP | Timestamp(MILLISECOND) |
|
|
2319
|
+
| VARBINARY | Binary |
|
|
2320
|
+
| VARCHAR | Utf8 |
|
|
2321
|
+
|
|
2322
|
+
Was this page helpful?
|
|
2323
|
+
|
|
2324
|
+
[Previous
|
|
2325
|
+
|
|
2326
|
+
Drivers](/current/client-applications/drivers/)[Next
|
|
2327
|
+
|
|
2328
|
+
Arrow Flight SQL ODBC](/current/client-applications/drivers/arrow-flight-sql-odbc-driver)
|
|
2329
|
+
|
|
2330
|
+
* Prerequisites
|
|
2331
|
+
* Supported Authentication Methods
|
|
2332
|
+
+ Username and Password
|
|
2333
|
+
+ Personal Access Tokens Enterprise
|
|
2334
|
+
+ OAuth Access Tokens Enterprise
|
|
2335
|
+
* Connecting to Databases
|
|
2336
|
+
* Downloading the Driver
|
|
2337
|
+
* Integrating the driver
|
|
2338
|
+
* Name of the Class
|
|
2339
|
+
* JDBC Properties for Dremio Wire Encryption
|
|
2340
|
+
* Parameterized Queries with Prepared Statements
|
|
2341
|
+
+ Supported Data Types and Set Methods
|
|
2342
|
+
+ Limitations
|
|
2343
|
+
* Managing Workloads
|
|
2344
|
+
* URL-encoding Values
|
|
2345
|
+
* Differences between the Arrow Flight SQL JDBC Driver and the Legacy Dremio JDBC Driver
|
|
2346
|
+
* Limitations
|
|
2347
|
+
* Supported Conversions from Dremio Datatypes to JDBC Datatypes
|
|
2348
|
+
|
|
2349
|
+
---
|
|
2350
|
+
|
|
2351
|
+
# Source: https://docs.dremio.com/current/client-applications/drivers/jdbc
|
|
2352
|
+
|
|
2353
|
+
Version: current [26.x]
|
|
2354
|
+
|
|
2355
|
+
On this page
|
|
2356
|
+
|
|
2357
|
+
# Dremio JDBC Driver (Legacy)
|
|
2358
|
+
|
|
2359
|
+
note
|
|
2360
|
+
|
|
2361
|
+
The [Arrow Flight SQL JDBC driver](/current/client-applications/drivers/arrow-flight-sql-jdbc-driver) is recommended for use for connectivity to Dremio. If you are using a client application that bundles or is certified with the Dremio JDBC driver, you can continue to use this driver. The Dremio JDBC driver will be not enhanced or fixed with the exception of critical security fixes.
|
|
2362
|
+
|
|
2363
|
+
The legacy [Dremio JDBC driver](https://download.dremio.com/jdbc-driver/?_ga=2.109401093.1016122501.1667783452-235854462.1630284576&_gac=1.258688760.1664550761.CjwKCAjwp9qZBhBkEiwAsYFsb0x4InlcRP7Rv4XsjamZQHhJILHJWOtBOu30xZC1QwvEXF8cPFs1HhoCB-kQAvD_BwE) is included as a part of Dremio installations under `<DREMIO_HOME>/jars/jdbc-driver/`. The main JAR Class is `com.dremio.jdbc.Driver`. You can also download the JDBC driver from [here](https://download.dremio.com/jdbc-driver/). This driver is licensed under [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).
|
|
2364
|
+
|
|
2365
|
+
A new version of the JDBC driver is made available with every release of Dremio software. However, this doesn't mean changes or new features were introduced in a driver release. Only when actual changes are made to a driver will the [JDBC driver release notes](/current/release-notes/arrow-flight-sql-jdbc) be published.
|
|
2366
|
+
|
|
2367
|
+
## Prerequisites
|
|
2368
|
+
|
|
2369
|
+
* As of Dremio JDBC driver 25.0+, supported Java versions: Java 11+
|
|
2370
|
+
* Supported JDK versions: 11, 17, and 21
|
|
2371
|
+
* Requires the following option to be present:
|
|
2372
|
+
|
|
2373
|
+
Java 11+ Requirement
|
|
2374
|
+
|
|
2375
|
+
```
|
|
2376
|
+
--add-opens=java.base/java.nio=ALL-UNNAMED
|
|
2377
|
+
```
|
|
2378
|
+
|
|
2379
|
+
## Supported Authentication Methods
|
|
2380
|
+
|
|
2381
|
+
### Username and Password
|
|
2382
|
+
|
|
2383
|
+
Use the username and password of the Dremio account that you want to connect with.
|
|
2384
|
+
|
|
2385
|
+
### Personal Access Tokens Enterprise
|
|
2386
|
+
|
|
2387
|
+
Use a username and personal access token (PAT). To generate a PAT, see [Creating a PAT](/current/security/authentication/personal-access-tokens/#creating-a-pat).
|
|
2388
|
+
|
|
2389
|
+
tip
|
|
2390
|
+
|
|
2391
|
+
Dremio recommends OAuth access tokens to improve security by reducing the risk of compromised passwords or personal access tokens.
|
|
2392
|
+
|
|
2393
|
+
### OAuth Access Tokens Enterprise
|
|
2394
|
+
|
|
2395
|
+
To create a connection with an OAuth access token, configure the following properties:
|
|
2396
|
+
|
|
2397
|
+
* `token_type` with a value of `access_token`
|
|
2398
|
+
* `password` with the value of the access token
|
|
2399
|
+
* `user` with an empty string `""` to default to the username included in the access token. If the username is configured in the property value, it must match the username in the access token.
|
|
2400
|
+
|
|
2401
|
+
Example Legacy JDBC Connection Using Dremio Access Token
|
|
2402
|
+
|
|
2403
|
+
```
|
|
2404
|
+
import jaydebeapi
|
|
2405
|
+
jdbc_url = "jdbc:dremio:direct={}:{}".format("localhost", 31010)
|
|
2406
|
+
jdbc_args = {"user": "", "password": dremio_access_token, "token_type": "access_token"}
|
|
2407
|
+
jdbc_driver_location_example = "/Users/me/workspace/drivers/dremio-jdbc-driver-25.3.0-SNAPSHOT.jar"
|
|
2408
|
+
jdbc_conn = jaydebeapi.connect("com.dremio.jdbc.Driver",
|
|
2409
|
+
jdbc_url,
|
|
2410
|
+
jdbc_args,
|
|
2411
|
+
jdbc_driver_location_example)
|
|
2412
|
+
```
|
|
2413
|
+
|
|
2414
|
+
Users can create OAuth access tokens using a local or LDAP username and password, a PAT, or an external JWT. Dremio provides [sample code](/current/reference/api/oauth-token) for each of these cases.
|
|
2415
|
+
|
|
2416
|
+
### External JWT
|
|
2417
|
+
|
|
2418
|
+
To use an external JWT directly from an [external token provider](/current/security/authentication/application-authentication/external-token), configure the following properties:
|
|
2419
|
+
|
|
2420
|
+
* `token_type` with a value of `jwt`
|
|
2421
|
+
* `password` with the value of the external JWT
|
|
2422
|
+
* `user` with the empty string `""` to default to the username included in the external JWT. If the username is configured in the property value, it must match the username in the external JWT.
|
|
2423
|
+
|
|
2424
|
+
Dremio provides [sample code](/current/security/authentication/application-authentication/external-token#retrieving-an-external-jwt) for requesting an external JWT from Microsoft Entra ID.
|
|
2425
|
+
|
|
2426
|
+
tip
|
|
2427
|
+
|
|
2428
|
+
Dremio recommends OAuth access tokens obtained through token exchange over an external JWT. The Dremio OAuth access token is typically smaller than an external JWT and verification is faster.
|
|
2429
|
+
|
|
2430
|
+
## Setup
|
|
2431
|
+
|
|
2432
|
+
You can set up the JDBC driver in the following manner:
|
|
2433
|
+
|
|
2434
|
+
* Connect directly to the Dremio server
|
|
2435
|
+
* Connect to the Dremio server via Zookeeper
|
|
2436
|
+
|
|
2437
|
+
**Tip:** To distribute query planning for JDBC connections, configure [secondary coordinator nodes](/current/deploy-dremio/other-options/standalone/dremio-config/dremio-conf/#dremio-coordinators) for your deployment.
|
|
2438
|
+
|
|
2439
|
+
#### Connecting directly to Dremio
|
|
2440
|
+
|
|
2441
|
+
The following configuration establishes a direct connection to a Dremio coordinator node.
|
|
2442
|
+
Planning is done on the specified node.
|
|
2443
|
+
|
|
2444
|
+
Connect directly to Dremio coordinator node
|
|
2445
|
+
|
|
2446
|
+
```
|
|
2447
|
+
jdbc:dremio:direct=<DREMIO_COORDINATOR>:31010[;schema=<OPTIONAL_SCHEMA>]
|
|
2448
|
+
```
|
|
2449
|
+
|
|
2450
|
+
#### Connecting to ZooKeeper
|
|
2451
|
+
|
|
2452
|
+
The following configuration establishes a distributed connection to Dremio coordinator nodes through a
|
|
2453
|
+
Zookeeper quorum. Planning is distributed across the available coordinator nodes.
|
|
2454
|
+
|
|
2455
|
+
Connect to Dremio coordinator node with ZooKeeper
|
|
2456
|
+
|
|
2457
|
+
```
|
|
2458
|
+
jdbc:dremio:zk=<ZOOKEEPER_QUORUM>:2181[;schema=<OPTIONAL_SCHEMA>]
|
|
2459
|
+
```
|
|
2460
|
+
|
|
2461
|
+
**Multiple Dremio Clusters in the same ZooKeeper Quorum**
|
|
2462
|
+
|
|
2463
|
+
Cluster A
|
|
2464
|
+
|
|
2465
|
+
```
|
|
2466
|
+
jdbc:dremio:zk=<ZOOKEEPER_QUORUM>:2181/path/to/ClusterA
|
|
2467
|
+
```
|
|
2468
|
+
|
|
2469
|
+
Cluster B
|
|
2470
|
+
|
|
2471
|
+
```
|
|
2472
|
+
jdbc:dremio:zk=<ZOOKEEPER_QUORUM>:2181/path/to/ClusterB
|
|
2473
|
+
```
|
|
2474
|
+
|
|
2475
|
+
## Construct a Prepared Statement with Dynamic Parameters
|
|
2476
|
+
|
|
2477
|
+
Dremio supports using parameters in prepared statements for SELECT queries.
|
|
2478
|
+
|
|
2479
|
+
The parameter marker is `?` in prepared statements. To execute a prepared statement, you must set the parameter marker with one of the [supported set methods](/current/client-applications/drivers/jdbc/#set-methods-for-prepared-statements-with-parameters).
|
|
2480
|
+
|
|
2481
|
+
The example below uses the Date type parameter and the `setDate` set method. For set methods, the first argument is the index of the parameter marker in the SQL query, starting from 1. The second argument is the value for the parameter marker. After you set the parameter, you can execute the prepared statement by calling the `executeQuery()` method on the prepared statement.
|
|
2482
|
+
|
|
2483
|
+
Example prepared statement with parameters
|
|
2484
|
+
|
|
2485
|
+
```
|
|
2486
|
+
public class HelloWorld {
|
|
2487
|
+
public static void main(String[] args) {
|
|
2488
|
+
try (PreparedStatement stmt = getConnection().prepareStatement("SELECT * FROM (values (DATE '2024-02-20'), (null)) AS a(id) WHERE id=?")) {
|
|
2489
|
+
Date date = Date.valueOf(LocalDate.of(2024, 02, 20));
|
|
2490
|
+
stmt.setDate(1, date);
|
|
2491
|
+
try (ResultSet rs = stmt.executeQuery()) {
|
|
2492
|
+
assertThat(rs.getMetaData().getColumnCount()).isEqualTo(1);
|
|
2493
|
+
assertThat(rs.next()).isTrue();
|
|
2494
|
+
assertThat(rs.getDate(1)).isEqualTo(date);
|
|
2495
|
+
assertThat(rs.next()).isFalse();
|
|
2496
|
+
}
|
|
2497
|
+
}
|
|
2498
|
+
}
|
|
2499
|
+
}
|
|
2500
|
+
```
|
|
2501
|
+
|
|
2502
|
+
The example below demonstrates how to reuse the same prepared statement by defining a different set method and parameter value.
|
|
2503
|
+
|
|
2504
|
+
Example prepared statement with different set method and parameters
|
|
2505
|
+
|
|
2506
|
+
```
|
|
2507
|
+
public class HelloWorld {
|
|
2508
|
+
public static void main(String[] args) {
|
|
2509
|
+
try (PreparedStatement stmt = getConnection().prepareStatement("SELECT * FROM (values (DATE '2024-02-20'), (null)) AS a(id) WHERE id=?")) {
|
|
2510
|
+
Date date = Date.valueOf(LocalDate.of(2024, 02, 20));
|
|
2511
|
+
stmt.setDate(1, date);
|
|
2512
|
+
try (ResultSet rs = stmt.executeQuery()) {
|
|
2513
|
+
assertThat(rs.getMetaData().getColumnCount()).isEqualTo(1);
|
|
2514
|
+
assertThat(rs.next()).isTrue();
|
|
2515
|
+
assertThat(rs.getDate(1)).isEqualTo(date);
|
|
2516
|
+
assertThat(rs.next()).isFalse();
|
|
2517
|
+
}
|
|
2518
|
+
stmt.setDate(1, Date.valueOf(LocalDate.of(2025, 02, 20)));
|
|
2519
|
+
try (ResultSet rs = stmt.executeQuery()) {
|
|
2520
|
+
assertThat(rs.next()).isFalse();
|
|
2521
|
+
}
|
|
2522
|
+
}
|
|
2523
|
+
}
|
|
2524
|
+
}
|
|
2525
|
+
```
|
|
2526
|
+
|
|
2527
|
+
The following example shows how to use more than one parameter in a prepared statement.
|
|
2528
|
+
|
|
2529
|
+
Example prepared statement with two parameters
|
|
2530
|
+
|
|
2531
|
+
```
|
|
2532
|
+
public class HelloWorld {
|
|
2533
|
+
public static void main(String[] args) {
|
|
2534
|
+
try (PreparedStatement stmt = getConnection().prepareStatement("SELECT * FROM (values (1), (2), (null)) AS a(id) WHERE id = ? OR id < ?")) {
|
|
2535
|
+
stmt.setInt(1, 1);
|
|
2536
|
+
stmt.setInt(2, 3);
|
|
2537
|
+
try (ResultSet rs = stmt.executeQuery()) {
|
|
2538
|
+
assertThat(rs.getMetaData().getColumnCount()).isEqualTo(1);
|
|
2539
|
+
assertThat(rs.next()).isTrue();
|
|
2540
|
+
assertThat(rs.getInt(1)).isEqualTo(1);
|
|
2541
|
+
assertThat(rs.next()).isFalse();
|
|
2542
|
+
}
|
|
2543
|
+
}
|
|
2544
|
+
}
|
|
2545
|
+
}
|
|
2546
|
+
```
|
|
2547
|
+
|
|
2548
|
+
### Set Methods for Prepared Statements with Parameters
|
|
2549
|
+
|
|
2550
|
+
To execute a prepared statement, you must set the parameter marker with one of the supported set methods listed in the table below.
|
|
2551
|
+
|
|
2552
|
+
| Column Data Type | Supported Set Methods |
|
|
2553
|
+
| --- | --- |
|
|
2554
|
+
| Integer | setInt(), setShort(), setNull() |
|
|
2555
|
+
| Numeric | setInt(), setShort(), setLong(), setBigDecimal(), setNull() |
|
|
2556
|
+
| Decimal | setShort(), setInt(), setLong(), setBigDecimal(), setNull() |
|
|
2557
|
+
| BigInt | setShort(), setInt(), setLong(), setBigDecimal(), setNull() |
|
|
2558
|
+
| Double | setDouble(), setFloat(), setNull() |
|
|
2559
|
+
| Float | setFloat(), setNull() |
|
|
2560
|
+
| Char | setString(), setNull() |
|
|
2561
|
+
| Varchar | setString(), setNull() |
|
|
2562
|
+
| Boolean | setBoolean(), setNull() |
|
|
2563
|
+
| Time | setTime(), setNull() |
|
|
2564
|
+
| TimeStamp | setTimestamp(), setNull() |
|
|
2565
|
+
| Date | setDate(), setNull() |
|
|
2566
|
+
| VarBinary | setNull(), setBytes() |
|
|
2567
|
+
|
|
2568
|
+
## JDBC Parameters for Dremio Wire Encryption
|
|
2569
|
+
|
|
2570
|
+
If you are setting up encrypted communication between your JDBC client applications and the Dremio server,
|
|
2571
|
+
use the SSL JDBC connection parameters and a fully qualified host name to
|
|
2572
|
+
configure the JDBC connection string and connect to Dremio:
|
|
2573
|
+
|
|
2574
|
+
| Parameter | Value | Required | Description |
|
|
2575
|
+
| --- | --- | --- | --- |
|
|
2576
|
+
| ssl | true/false | [Optional] | If true, SSL is enabled. If not set or set to false, SSL is not enabled. |
|
|
2577
|
+
| trustStoreType | string | [Optional] | Default: JKS The trustStore type. Allowed values are : JKS PKCS12 If the useSystemTrustStore option is set to true (on Windows only), the allowed values are: Windows-MY Windows-ROOT Import the certificate into the **Trusted Root Certificate Authorities** and set `trustStoreType=Windows-ROOT`. Also import the certificate into **Trusted Root Certificate Authorities** or **Personal** and set `trustStoreType=Windows-MY`. |
|
|
2578
|
+
| trustStore | string | [Optional] | Path to the truststore. If not provided, the default Java truststore is used (usually $JAVA\_HOME/lib/security/cacerts) and the trustStorePassword parameter is ignored. |
|
|
2579
|
+
| useSystemTrustStore | true/false | [Optional] | By default, the value is `true`. Bypasses trustStoreType and automatically picks the correct Truststore based on the operating system: Keychain on MacOS, [Local Machine and Current User Certificate Stores](https://docs.microsoft.com/en-us/windows-hardware/drivers/install/local-machine-and-current-user-certificate-stores) on Windows, and default truststore on other systems. |
|
|
2580
|
+
| trustStorePassword | string | [Optional] | Password to the truststore. |
|
|
2581
|
+
| disableHostVerification | true/false | [Optional] | If true, Dremio does not verify that the host in the certificate is the host we are connecting to. False by default. (Hostname verification follows the specification in RFC2818) |
|
|
2582
|
+
| disableCertificateVerification | true/false | [Optional] | If true, Dremio does not verify the host certificate against the truststore. False by default. |
|
|
2583
|
+
|
|
2584
|
+
## Optional Advanced JDBC Driver Properties
|
|
2585
|
+
|
|
2586
|
+
| Parameter | Value | Description |
|
|
2587
|
+
| --- | --- | --- |
|
|
2588
|
+
| impersonation\_target | string | When inbound impersonation is configured, `impersonation_target` is used for authorization, so it must have permission to the queried datasets, and `impersonation_target` appears as the identity that submitted the queries. The username used to establish the connection must be mapped to `impersonation_target` in the impersonation policy for the Dremio service, otherwise, the connection fails with an authorization error. In the policy, the user used to establish the connection is the `proxy_principle` and `impersonation_target` is its `target_principle`. For more information on configuring policies, see [Inbound Impersonation](/current/security/rbac/inbound-impersonation). |
|
|
2589
|
+
| routing\_queue | string | Specifies the queue to use for processing queries while a connection is open. For more information, see [Query Tagging & Direct Routing Configuration](/current/admin/workloads/workload-management/#query-tagging--direct-routing-configuration). |
|
|
2590
|
+
| routing\_tag | string | Sets a tag for rule processing. The specified tag is associated with all queries executed while a connection is open. Rules can check for the presence of a tag with the function `tag()`. For more information, see [Query Tagging & Direct Routing Configuration](/current/admin/workloads/workload-management/#query-tagging--direct-routing-configuration). |
|
|
2591
|
+
| token\_type | string | The type of the token in the `password` field. Valid values are `jwt` for [external tokens](/current/security/authentication/application-authentication/external-token), `access_token` for OAuth access token, or `personal_access_token` for [personal access tokens](/current/security/authentication/personal-access-tokens/). If you are using your Dremio password, omit the `token_type` property. |
|
|
2592
|
+
|
|
2593
|
+
## SOCKS Proxy Connection Parameters
|
|
2594
|
+
|
|
2595
|
+
If you want to connect to Dremio Cloud through a SOCKS proxy, use these connection parameters:
|
|
2596
|
+
|
|
2597
|
+
| Parameter | Type | Description | Default Value | Required? |
|
|
2598
|
+
| --- | --- | --- | --- | --- |
|
|
2599
|
+
| socksProxyHost | string | The IP address or hostname of the SOCKS proxy. | N/A | Yes |
|
|
2600
|
+
| socksProxyPort | integer | The port to use on the SOCKS proxy. | 1080 | No |
|
|
2601
|
+
| socksProxyUsername | string | The username to use for connections. | N/A | No |
|
|
2602
|
+
| socksProxyPassword | string | The password to use for connections. | N/A | Only if a username is specified. |
|
|
2603
|
+
|
|
2604
|
+
Was this page helpful?
|
|
2605
|
+
|
|
2606
|
+
[Previous
|
|
2607
|
+
|
|
2608
|
+
Arrow Flight SQL ODBC](/current/client-applications/drivers/arrow-flight-sql-odbc-driver)
|
|
2609
|
+
|
|
2610
|
+
* Prerequisites
|
|
2611
|
+
* Supported Authentication Methods
|
|
2612
|
+
+ Username and Password
|
|
2613
|
+
+ Personal Access Tokens Enterprise
|
|
2614
|
+
+ OAuth Access Tokens Enterprise
|
|
2615
|
+
+ External JWT
|
|
2616
|
+
* Setup
|
|
2617
|
+
* Construct a Prepared Statement with Dynamic Parameters
|
|
2618
|
+
+ Set Methods for Prepared Statements with Parameters
|
|
2619
|
+
* JDBC Parameters for Dremio Wire Encryption
|
|
2620
|
+
* Optional Advanced JDBC Driver Properties
|
|
2621
|
+
* SOCKS Proxy Connection Parameters
|
|
2622
|
+
|
|
2623
|
+
---
|
|
2624
|
+
|
|
2625
|
+
# Source: https://docs.dremio.com/current/client-applications/drivers/arrow-flight-sql-odbc-driver
|
|
2626
|
+
|
|
2627
|
+
Version: current [26.x]
|
|
2628
|
+
|
|
2629
|
+
On this page
|
|
2630
|
+
|
|
2631
|
+
# Arrow Flight SQL ODBC
|
|
2632
|
+
|
|
2633
|
+
Starting with Dremio v22.0, you can use the Arrow Flight SQL ODBC driver to connect to Dremio from ODBC client applications. This driver is licensed under [GNU Library General Public License, Version 2](https://github.com/dremio/warpdrive/blob/master/license.txt).
|
|
2634
|
+
|
|
2635
|
+
## Supported Operating Systems
|
|
2636
|
+
|
|
2637
|
+
You can use the driver on systems that run the following 64-bit operating systems:
|
|
2638
|
+
|
|
2639
|
+
* Linux: RedHat/CentOS
|
|
2640
|
+
* Windows 10 and later
|
|
2641
|
+
* macOS (Intel processors only)
|
|
2642
|
+
|
|
2643
|
+
Apple Silicon Compatibility
|
|
2644
|
+
|
|
2645
|
+
The Arrow Flight SQL ODBC driver is not supported on Apple Silicon M1, M2, and M3 processors. While previous workarounds using Rosetta may have been available, they are no longer reliable and may not work with current versions. For Apple Silicon Mac computers, consider using alternative connection methods such as the [Arrow Flight SQL JDBC driver](/current/client-applications/drivers/arrow-flight-sql-jdbc-driver/).
|
|
2646
|
+
|
|
2647
|
+
## Authentication Methods
|
|
2648
|
+
|
|
2649
|
+
Dremio supports several authentication methods for client connections.
|
|
2650
|
+
|
|
2651
|
+
### Username and Password
|
|
2652
|
+
|
|
2653
|
+
Pass a username and password with the **UID** and **PWD** properties.
|
|
2654
|
+
|
|
2655
|
+
### Personal Access Tokens Enterprise
|
|
2656
|
+
|
|
2657
|
+
Pass a username and personal access token (PAT) with the **UID** and **PWD** properties, respectively. See [Personal Access Tokens](/current/security/authentication/personal-access-tokens/) for enabling and creating PATs.
|
|
2658
|
+
|
|
2659
|
+
tip
|
|
2660
|
+
|
|
2661
|
+
Dremio recommends OAuth access tokens to improve security by reducing the risk of compromised passwords or personal access tokens.
|
|
2662
|
+
|
|
2663
|
+
### OAuth Access Tokens Enterprise
|
|
2664
|
+
|
|
2665
|
+
To create a connection with an OAuth access token, configure the **TOKEN** property with the value of the OAuth access token.
|
|
2666
|
+
|
|
2667
|
+
Example Arrow Flight SQL ODBC Connection using OAuth Access Tokens
|
|
2668
|
+
|
|
2669
|
+
```
|
|
2670
|
+
import pyodbc
|
|
2671
|
+
|
|
2672
|
+
with pyodbc.connect(
|
|
2673
|
+
# Default location on Linux
|
|
2674
|
+
Driver='/opt/arrow-flight-sql-odbc-driver/lib64/libarrow-odbc.so.0.9.1.168',
|
|
2675
|
+
HOST='my.odbc.host',
|
|
2676
|
+
PORT=32010,
|
|
2677
|
+
useEncryption='true',
|
|
2678
|
+
TOKEN=dremio_access_token,
|
|
2679
|
+
autocommit=True,
|
|
2680
|
+
) as conn:
|
|
2681
|
+
with conn.cursor() as cursor:
|
|
2682
|
+
cursor.execute('select * from test_table')
|
|
2683
|
+
results = cursor.fetchall()
|
|
2684
|
+
```
|
|
2685
|
+
|
|
2686
|
+
Users can create OAuth access tokens using a local or LDAP username and password, a PAT, or an external JWT. Dremio provides [sample code](/current/reference/api/oauth-token/) for each of these cases.
|
|
2687
|
+
|
|
2688
|
+
## Downloading and Installing
|
|
2689
|
+
|
|
2690
|
+
* Windows
|
|
2691
|
+
* Linux
|
|
2692
|
+
* macOS
|
|
2693
|
+
|
|
2694
|
+
### Downloading and Installing on Windows
|
|
2695
|
+
|
|
2696
|
+
note
|
|
2697
|
+
|
|
2698
|
+
The Arrow Flight SQL ODBC driver is not available for 32-bit Windows versions.
|
|
2699
|
+
|
|
2700
|
+
note
|
|
2701
|
+
|
|
2702
|
+
If you plan to use Microsoft Power BI Desktop April 2022 or later to connect to Dremio, you do not need to use this driver. Power BI Desktop April 2022 and later includes a connector that you can use to connect to Dremio. See [Connecting from Microsoft Power BI](/current/client-applications/microsoft-power-bi/).
|
|
2703
|
+
|
|
2704
|
+
To download and install the Arrow Flight SQL ODBC driver:
|
|
2705
|
+
|
|
2706
|
+
1. Download the Windows 64-bit version of the driver from the [ODBC driver download page](https://www.dremio.com/drivers/odbc/).
|
|
2707
|
+
2. Run the installer.
|
|
2708
|
+
3. (Optional) In the **User Account Control** page, click **Yes**. This page appears only if there is user account control configured on your Windows machine.
|
|
2709
|
+
4. In the **Welcome to Dremio** page, click **Next**.
|
|
2710
|
+
5. Click **Install**.
|
|
2711
|
+
6. In the **Installation Complete** page, click **Next**.
|
|
2712
|
+
7. In the **Completing Arrow Flight SQL ODBC Driver Setup Wizard** page, click **Finish**.
|
|
2713
|
+
|
|
2714
|
+
Next, configure the driver.
|
|
2715
|
+
|
|
2716
|
+
### Downloading and Installing on Linux
|
|
2717
|
+
|
|
2718
|
+
To download and install the Arrow Flight SQL ODBC driver:
|
|
2719
|
+
|
|
2720
|
+
1. Download the Linux version of the driver from the [ODBC driver download page](https://www.dremio.com/drivers/odbc/).
|
|
2721
|
+
2. Run the following command to install the driver and automatically create the data source name (DSN) `Arrow Flight SQL ODBC DSN`:
|
|
2722
|
+
|
|
2723
|
+
Install driver and create data source name (DSN)
|
|
2724
|
+
|
|
2725
|
+
```
|
|
2726
|
+
sudo yum localinstall <dremio-odbc-rpm-path>
|
|
2727
|
+
```
|
|
2728
|
+
|
|
2729
|
+
Next, configure the driver.
|
|
2730
|
+
|
|
2731
|
+
### Downloading and Installing on macOS
|
|
2732
|
+
|
|
2733
|
+
To download and install the Arrow Flight SQL ODBC driver:
|
|
2734
|
+
|
|
2735
|
+
Intel Macs Only
|
|
2736
|
+
|
|
2737
|
+
This driver only supports Intel-based Macs. It is not compatible with Apple Silicon M1, M2, and M3 processors.
|
|
2738
|
+
|
|
2739
|
+
1. Download the macOS version of the driver from the [ODBC driver download page](https://www.dremio.com/drivers/odbc/).
|
|
2740
|
+
2. Go to the download location and double-click the downloaded `.dmg` file.
|
|
2741
|
+
3. Double-click the `.pkg` file.
|
|
2742
|
+
4. In the **Welcome to the ODBC Driver for Arrow Flight SQL Installer** page, click **Continue**.
|
|
2743
|
+
5. In the **Standard Install on "Macintosh HD"** page, Click **Install**. Optionally, if you want to change the install location, click **Change Install Location** and navigate to the new location.
|
|
2744
|
+
6. In the **Installer is trying to install new software** dialog, specify your macOS password. Then, click **Install Software**.
|
|
2745
|
+
7. After the installation is complete, click **Close**.
|
|
2746
|
+
|
|
2747
|
+
Next, configure the driver.
|
|
2748
|
+
|
|
2749
|
+
## Configuring
|
|
2750
|
+
|
|
2751
|
+
### Configuring on Windows
|
|
2752
|
+
|
|
2753
|
+
To configure the System DSN:
|
|
2754
|
+
|
|
2755
|
+
danger
|
|
2756
|
+
|
|
2757
|
+
Do not follow these steps if you are using Microsoft Power BI Desktop to connect to Dremio. For the steps for configuring Power BI, see [Connecting from Microsoft Power BI](/current/client-applications/microsoft-power-bi/).
|
|
2758
|
+
|
|
2759
|
+
note
|
|
2760
|
+
|
|
2761
|
+
If you want to use a personal access token (PAT), rather than a password, for authenticating to Dremio, generate a PAT. See [Personal Access Tokens](/current/security/authentication/personal-access-tokens/) for the steps.
|
|
2762
|
+
|
|
2763
|
+
1. Go to **Start Menu** > **Window Administrative Tools**. Click **ODBC Data Sources (64-bit)**.
|
|
2764
|
+
2. In the **ODBC Data Source Administrator (64-bit)** dialog, click **System DSN**.
|
|
2765
|
+
3. Select **Arrow Flight SQL ODBC DSN** and click **Configure**.
|
|
2766
|
+
4. In the **HOST** field, specify the hostname of the server or its IP address.
|
|
2767
|
+
5. In the **PORT** field, specify the port to use for connections from Arrow Flight SQL ODBC client applications, which is 32010 by default.
|
|
2768
|
+
6. Specify client information in the appropriate fields for your authentication type:
|
|
2769
|
+
|
|
2770
|
+
| Field | Username and Password | Personal Access Token | OAuth Access Token |
|
|
2771
|
+
| --- | --- | --- | --- |
|
|
2772
|
+
| **UID** | Username | Username | Do not specify |
|
|
2773
|
+
| **PWD** | Password | Personal access token | Do not specify |
|
|
2774
|
+
| **TOKEN** | Do not specify | Do not specify | OAuth access token |
|
|
2775
|
+
7. In the **UseEncryption** field, specify one of these values:
|
|
2776
|
+
|
|
2777
|
+
* `true`, if Dremio is configured for encrypted communication with your Arrow Flight SQL ODBC client applications.
|
|
2778
|
+
* `false`, if Dremio is not configured for encrypted communication with your Arrow Flight SQL ODBC client applications. Dremio is unencrypted by default.
|
|
2779
|
+
|
|
2780
|
+
For additional parameters, see Connection Parameters.
|
|
2781
|
+
|
|
2782
|
+
If you ever need to enable tracing for troubleshooting problems with the driver, click the **Tracing** tab in the **ODBC Data Source Administrator (64-bit)** dialog, set the log-file path, and then click **Start Tracing Now**.
|
|
2783
|
+
|
|
2784
|
+
### Configuring on Linux
|
|
2785
|
+
|
|
2786
|
+
note
|
|
2787
|
+
|
|
2788
|
+
* Before configuring, ensure that unixODBC is installed.
|
|
2789
|
+
* If you want to base your configuration on examples, copy the content of the `odbc.ini` and `odbcinst.ini` files in the `/opt/arrow-flight-sql-odbc-driver/conf` directory and paste the content into your system `/etc/odbc.ini` and `/etc/odbcinst.ini` files.
|
|
2790
|
+
|
|
2791
|
+
To configure the properties in the odbc.ini file:
|
|
2792
|
+
|
|
2793
|
+
1. In the **HOST** field, specify the hostname of the server or its IP address.
|
|
2794
|
+
2. In the **PORT** field, specify the port to use for connections from Arrow Flight SQL ODBC client applications, which is 32010 by default.
|
|
2795
|
+
3. Specify client information in the appropriate fields for your authentication type:
|
|
2796
|
+
|
|
2797
|
+
| Field | Username and Password | Personal Access Token | OAuth Access Token |
|
|
2798
|
+
| --- | --- | --- | --- |
|
|
2799
|
+
| **UID** | Username | Username | Do not specify |
|
|
2800
|
+
| **PWD** | Password | Personal access token | Do not specify |
|
|
2801
|
+
| **TOKEN** | Do not specify | Do not specify | OAuth access token |
|
|
2802
|
+
4. In the **UseEncryption** field, specify one of these values:
|
|
2803
|
+
|
|
2804
|
+
* `true`, if Dremio is configured for encrypted communication with your Arrow Flight SQL ODBC client applications.
|
|
2805
|
+
* `false`, if Dremio is not configured for encrypted communication with your Arrow Flight SQL ODBC client applications. Dremio is unencrypted by default.
|
|
2806
|
+
|
|
2807
|
+
For additional parameters, see Connection Parameters.
|
|
2808
|
+
|
|
2809
|
+
note
|
|
2810
|
+
|
|
2811
|
+
To find out unixODBC has created your `odbc.ini` and `odbcinst.ini` files, run this command:
|
|
2812
|
+
|
|
2813
|
+
```
|
|
2814
|
+
odbcinst -j
|
|
2815
|
+
```
|
|
2816
|
+
|
|
2817
|
+
If you ever need to enable tracing for troubleshooting problems with the driver, see the help for unixODBC.
|
|
2818
|
+
|
|
2819
|
+
### Configuring on macOS
|
|
2820
|
+
|
|
2821
|
+
note
|
|
2822
|
+
|
|
2823
|
+
Before configuring, ensure that [ODBC Manager](http://www.odbcmanager.net/) is installed.
|
|
2824
|
+
|
|
2825
|
+
1. Launch ODBC Manager.
|
|
2826
|
+
2. On the System DSN page, select **Arrow Flight SQL ODBC DSN** and click **Configure**.
|
|
2827
|
+
3. (Optional) Change the DSN.
|
|
2828
|
+
4. In the **Host** field, specify the hostname of the server or its IP address.
|
|
2829
|
+
5. In the **Port** field, specify the port to use for connections from Arrow Flight SQL ODBC client applications, which is 32010 by default.
|
|
2830
|
+
6. Specify client information in the appropriate fields for your authentication type:
|
|
2831
|
+
|
|
2832
|
+
| Field | Username and Password | Personal Access Token | OAuth Access Token |
|
|
2833
|
+
| --- | --- | --- | --- |
|
|
2834
|
+
| **UID** | Username | Username | Do not specify |
|
|
2835
|
+
| **PWD** | Password | Personal access token | Do not specify |
|
|
2836
|
+
| **TOKEN** | Do not specify | Do not specify | OAuth access token |
|
|
2837
|
+
7. In the **UseEncryption** field, specify one of these values:
|
|
2838
|
+
|
|
2839
|
+
* `true`, if Dremio is configured for encrypted communication with your Arrow Flight SQL ODBC client applications.
|
|
2840
|
+
* `false`, if Dremio is not configured for encrypted communication with your Arrow Flight SQL ODBC client applications. Dremio is unencrypted by default.
|
|
2841
|
+
|
|
2842
|
+
For additional parameters, see Connection Parameters.
|
|
2843
|
+
|
|
2844
|
+
If you ever need to enable tracing for troubleshooting problems with the driver, see the help for your driver manager.
|
|
2845
|
+
|
|
2846
|
+
## Connection Parameters
|
|
2847
|
+
|
|
2848
|
+
### Primary Connection Parameters
|
|
2849
|
+
|
|
2850
|
+
Use these parameters to configure basic connection details such as what data source to connect with.
|
|
2851
|
+
|
|
2852
|
+
note
|
|
2853
|
+
|
|
2854
|
+
The Arrow Flight SQL ODBC driver does not support password-protected `.pem` / `.crt` files or multiple `.crt` certificates in a single `.pem` / `.crt` file.
|
|
2855
|
+
|
|
2856
|
+
| Name | Type | Description | Default Value |
|
|
2857
|
+
| --- | --- | --- | --- |
|
|
2858
|
+
| Host | string | Sets the IP address or hostname for the Dremio server. If you specify an IP address and you set the TLS connection parameter `useEncryption` to `true`, ensure that the `/etc/hosts/` file includes an entry to map the IP address to the host. | None |
|
|
2859
|
+
| Port | integer | Sets the TCP port number that Dremio uses to listen to connections from Arrow Flight SQL ODBC clients. | 32010 |
|
|
2860
|
+
| Schema | string | Provides the name of the database schema to use by default when a schema is not specified in a query. However, this does not prevent queries from being issued for otsher schemas. Such queries must explicitly include the schema. | None |
|
|
2861
|
+
|
|
2862
|
+
Specify client information in the appropriate fields for your authentication type:
|
|
2863
|
+
|
|
2864
|
+
| Field | Username and Password | Personal Access Token | OAuth Access Token |
|
|
2865
|
+
| --- | --- | --- | --- |
|
|
2866
|
+
| **UID** | Username | Username | Do not specify |
|
|
2867
|
+
| **PWD** | Password | Personal access token | Do not specify |
|
|
2868
|
+
| **TOKEN** | Do not specify | Do not specify | OAuth access token |
|
|
2869
|
+
|
|
2870
|
+
### TLS Connection Parameters
|
|
2871
|
+
|
|
2872
|
+
Use the following parameters to configure TLS encryption and verification methods for regular connections.
|
|
2873
|
+
|
|
2874
|
+
| Name | Type | Description | Default Value |
|
|
2875
|
+
| --- | --- | --- | --- |
|
|
2876
|
+
| useEncryption | integer | Configures the client to use a TLS-encrypted connection to communicate with the Dremio server. Accepted values: * `true`, the client communicates with the Dremio server only using TLS encryption. This is the default value. Therefore, communication between the client application and your Dremio server must be encrypted if you do not override this default value. See the configuration of Arrow Flight TLS for [Dremio on Kubernetes](/current/deploy-dremio/configuring-kubernetes/#transport-level-security) or [Dremio standalone clusters](/current/deploy-dremio/other-options/standalone/dremio-config/dremio-conf/wire-encryption-config/#arrow-flight-and-arrow-flight-sql-jdbc-and-odbc-enterprise) for more information. * `false`, TLS encryption is disabled with the client. If you specify this value, ensure that the encryption of communication between the client application and your Dremio server is not configured. | true |
|
|
2877
|
+
| disableCertificateVerification | integer | Specifies whether the driver should verify the host certificate against the trust store. Accepted values: * `false`, the driver verifies the certificate against the trust store. * `true`, the driver does not verify the certificate against the trust store. | false |
|
|
2878
|
+
| useSystemTrustStore | integer | Controls whether to use a CA certificate from the system's trust store, or from a specified `.pem` file. Accepted values: * `true`, the driver verifies the connection using a certificate in the system trust store. * `false`, the driver verifies the connection using the `.pem` file specified by the `trustedCerts` parameter. | `true` on Windows and macOS, `false` on Linux (which does not have a system truststore) |
|
|
2879
|
+
| trustedCerts | string | The full path of the `.pem` file containing certificates trusted by a CA, for the purpose of verifying the server. If this option is not set, the driver defaults to using the trusted CA certificates `.pem` file installed by the driver. The exact file path varies according to the operating system on which the driver is installed. The path for the Windows driver differs from the path set for the macOS driver. The TLS connection fails if you do not specify a value when `useEncryption` is `true` and `disableCertificateVerification` is `false`. | N/A |
|
|
2880
|
+
| hideSQLTablesListing | boolean | Prevents Microsoft Excel 16.95+ from crashing by hiding the list of available sources in Microsoft Excel’s Query Dialog. Set to `true` to enable. Only for Intel-based Mac computers. | `false` |
|
|
2881
|
+
|
|
2882
|
+
### Advanced Parameters
|
|
2883
|
+
|
|
2884
|
+
| Name | Type | Description | Default Value |
|
|
2885
|
+
| --- | --- | --- | --- |
|
|
2886
|
+
| quoting | string | Specifies which type of character to use to delimit values in queries. The value can be BACK\_TICK, BRACKET, or DOUBLE\_QUOTE. | DOUBLE\_QUOTE |
|
|
2887
|
+
| routing\_queue | string | Specifies the queue to route queries to during a session. Direct Routing is used to specify the exact queue and execution cluster to run queries on for a given ODBC session. With Direct Routing, workload-management (WLM) rules are not considered; instead, queries are routed directly to the specified queue. For more information, see [Workload Management](/current/admin/workloads/workload-management/). | N/A |
|
|
2888
|
+
| routing\_tag | string | When this parameter is set, the specified tag is associated with all queries executed within a session. Rules can check for the presence of a tag with the function "tag()". For more information, see [Workload Management](/current/admin/workloads/workload-management/). | N/A |
|
|
2889
|
+
| stringColumnLength | string | The maximum length of data in columns of the STRING datatype and of complex datatypes. The range is 1 to 2147483647. | 1024. |
|
|
2890
|
+
|
|
2891
|
+
## Logging
|
|
2892
|
+
|
|
2893
|
+
You can inspect and extract client-side driver logs through the macOS logging infrastructure, because every macOS installation comes with an embedded Console application that allows you to filter by log types. This feature is only available for Intel-based Mac computers, and the log activity of the ODBC driver mostly consists of ODBC API calls.
|
|
2894
|
+
|
|
2895
|
+
To start logging:
|
|
2896
|
+
|
|
2897
|
+
1. Open the Console application.
|
|
2898
|
+
2. In the search box, select **Excel** in the **PROCESS** dropdown, and **odbc** in the **ANY** dropdown.
|
|
2899
|
+
|
|
2900
|
+

|
|
2901
|
+
3. Click **Start**.
|
|
2902
|
+
|
|
2903
|
+
## Supported Conversions from Dremio Datatypes to ODBC Datatypes
|
|
2904
|
+
|
|
2905
|
+
| Dremio Data Types | SQL\_C\_BINARY | SQL\_C\_BIT | SQL\_C\_CHAR | SQL\_C\_WCHAR | SQL\_C\_STINYINT | SQL\_C\_UTINYINT | SQL\_C\_SSHORT | SQL\_C\_USHORT | SQL\_C\_SLONG | SQL\_C\_ULONG | SQL\_C\_SBIGINT | SQL\_C\_UBIGINT | SQL\_C\_FLOAT | SQL\_C\_DOUBLE | SQL\_C\_NUMERIC | SQL\_C\_DATE | SQL\_C\_TIME | SQL\_C\_TIMESTAMP | SQL\_C\_GUID | SQL\_C\_INTERVAL\_\* |
|
|
2906
|
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
2907
|
+
| BOOLEAN | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | Invalid | Invalid | Invalid | Invalid | N |
|
|
2908
|
+
| VARBINARY | Y | Invalid | N | N | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid |
|
|
2909
|
+
| DATE | N | Invalid | Y | Y | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Y | Invalid | Y | Invalid | Invalid |
|
|
2910
|
+
| FLOAT | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | Invalid | Invalid | Invalid | Invalid | N |
|
|
2911
|
+
| DECIMAL | N | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Invalid | Invalid | Invalid | Invalid | N |
|
|
2912
|
+
| DOUBLE | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | Invalid | Invalid | Invalid | Invalid | N |
|
|
2913
|
+
| INTERVAL (day to seconds) | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | Invalid | Invalid | Invalid | N |
|
|
2914
|
+
| INTERVAL (years to months) | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | Invalid | Invalid | Invalid | N |
|
|
2915
|
+
| INT | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | Invalid | Invalid | Invalid | Invalid | N |
|
|
2916
|
+
| BIGINT | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | Invalid | Invalid | Invalid | Invalid | N |
|
|
2917
|
+
| TIME | N | N | Y | Y | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Y | Y | Invalid | Invalid |
|
|
2918
|
+
| TIMESTAMP | N | N | Y | Y | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Y | Y | Invalid | Invalid |
|
|
2919
|
+
| VARCHAR | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | Invalid |
|
|
2920
|
+
| STRUCT | N | N | Y | Y | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid |
|
|
2921
|
+
| LIST | N | Invalid | Y | Y | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid |
|
|
2922
|
+
|
|
2923
|
+
Was this page helpful?
|
|
2924
|
+
|
|
2925
|
+
[Previous
|
|
2926
|
+
|
|
2927
|
+
Arrow Flight SQL JDBC](/current/client-applications/drivers/arrow-flight-sql-jdbc-driver)[Next
|
|
2928
|
+
|
|
2929
|
+
Dremio JDBC Driver (Legacy)](/current/client-applications/drivers/jdbc)
|
|
2930
|
+
|
|
2931
|
+
* Supported Operating Systems
|
|
2932
|
+
* Authentication Methods
|
|
2933
|
+
+ Username and Password
|
|
2934
|
+
+ Personal Access Tokens Enterprise
|
|
2935
|
+
+ OAuth Access Tokens Enterprise
|
|
2936
|
+
* Downloading and Installing
|
|
2937
|
+
+ Downloading and Installing on Windows
|
|
2938
|
+
+ Downloading and Installing on Linux
|
|
2939
|
+
+ Downloading and Installing on macOS
|
|
2940
|
+
* Configuring
|
|
2941
|
+
+ Configuring on Windows
|
|
2942
|
+
+ Configuring on Linux
|
|
2943
|
+
+ Configuring on macOS
|
|
2944
|
+
* Connection Parameters
|
|
2945
|
+
+ Primary Connection Parameters
|
|
2946
|
+
+ TLS Connection Parameters
|
|
2947
|
+
+ Advanced Parameters
|
|
2948
|
+
* Logging
|
|
2949
|
+
* Supported Conversions from Dremio Datatypes to ODBC Datatypes
|
|
2950
|
+
|
|
2951
|
+
---
|
|
2952
|
+
|
|
2953
|
+
# Source: https://docs.dremio.com/current/client-applications/drivers/arrow-flight-sql-odbc-driver/
|
|
2954
|
+
|
|
2955
|
+
Version: current [26.x]
|
|
2956
|
+
|
|
2957
|
+
On this page
|
|
2958
|
+
|
|
2959
|
+
# Arrow Flight SQL ODBC
|
|
2960
|
+
|
|
2961
|
+
Starting with Dremio v22.0, you can use the Arrow Flight SQL ODBC driver to connect to Dremio from ODBC client applications. This driver is licensed under [GNU Library General Public License, Version 2](https://github.com/dremio/warpdrive/blob/master/license.txt).
|
|
2962
|
+
|
|
2963
|
+
## Supported Operating Systems
|
|
2964
|
+
|
|
2965
|
+
You can use the driver on systems that run the following 64-bit operating systems:
|
|
2966
|
+
|
|
2967
|
+
* Linux: RedHat/CentOS
|
|
2968
|
+
* Windows 10 and later
|
|
2969
|
+
* macOS (Intel processors only)
|
|
2970
|
+
|
|
2971
|
+
Apple Silicon Compatibility
|
|
2972
|
+
|
|
2973
|
+
The Arrow Flight SQL ODBC driver is not supported on Apple Silicon M1, M2, and M3 processors. While previous workarounds using Rosetta may have been available, they are no longer reliable and may not work with current versions. For Apple Silicon Mac computers, consider using alternative connection methods such as the [Arrow Flight SQL JDBC driver](/current/client-applications/drivers/arrow-flight-sql-jdbc-driver/).
|
|
2974
|
+
|
|
2975
|
+
## Authentication Methods
|
|
2976
|
+
|
|
2977
|
+
Dremio supports several authentication methods for client connections.
|
|
2978
|
+
|
|
2979
|
+
### Username and Password
|
|
2980
|
+
|
|
2981
|
+
Pass a username and password with the **UID** and **PWD** properties.
|
|
2982
|
+
|
|
2983
|
+
### Personal Access Tokens Enterprise
|
|
2984
|
+
|
|
2985
|
+
Pass a username and personal access token (PAT) with the **UID** and **PWD** properties, respectively. See [Personal Access Tokens](/current/security/authentication/personal-access-tokens/) for enabling and creating PATs.
|
|
2986
|
+
|
|
2987
|
+
tip
|
|
2988
|
+
|
|
2989
|
+
Dremio recommends OAuth access tokens to improve security by reducing the risk of compromised passwords or personal access tokens.
|
|
2990
|
+
|
|
2991
|
+
### OAuth Access Tokens Enterprise
|
|
2992
|
+
|
|
2993
|
+
To create a connection with an OAuth access token, configure the **TOKEN** property with the value of the OAuth access token.
|
|
2994
|
+
|
|
2995
|
+
Example Arrow Flight SQL ODBC Connection using OAuth Access Tokens
|
|
2996
|
+
|
|
2997
|
+
```
|
|
2998
|
+
import pyodbc
|
|
2999
|
+
|
|
3000
|
+
with pyodbc.connect(
|
|
3001
|
+
# Default location on Linux
|
|
3002
|
+
Driver='/opt/arrow-flight-sql-odbc-driver/lib64/libarrow-odbc.so.0.9.1.168',
|
|
3003
|
+
HOST='my.odbc.host',
|
|
3004
|
+
PORT=32010,
|
|
3005
|
+
useEncryption='true',
|
|
3006
|
+
TOKEN=dremio_access_token,
|
|
3007
|
+
autocommit=True,
|
|
3008
|
+
) as conn:
|
|
3009
|
+
with conn.cursor() as cursor:
|
|
3010
|
+
cursor.execute('select * from test_table')
|
|
3011
|
+
results = cursor.fetchall()
|
|
3012
|
+
```
|
|
3013
|
+
|
|
3014
|
+
Users can create OAuth access tokens using a local or LDAP username and password, a PAT, or an external JWT. Dremio provides [sample code](/current/reference/api/oauth-token/) for each of these cases.
|
|
3015
|
+
|
|
3016
|
+
## Downloading and Installing
|
|
3017
|
+
|
|
3018
|
+
* Windows
|
|
3019
|
+
* Linux
|
|
3020
|
+
* macOS
|
|
3021
|
+
|
|
3022
|
+
### Downloading and Installing on Windows
|
|
3023
|
+
|
|
3024
|
+
note
|
|
3025
|
+
|
|
3026
|
+
The Arrow Flight SQL ODBC driver is not available for 32-bit Windows versions.
|
|
3027
|
+
|
|
3028
|
+
note
|
|
3029
|
+
|
|
3030
|
+
If you plan to use Microsoft Power BI Desktop April 2022 or later to connect to Dremio, you do not need to use this driver. Power BI Desktop April 2022 and later includes a connector that you can use to connect to Dremio. See [Connecting from Microsoft Power BI](/current/client-applications/microsoft-power-bi/).
|
|
3031
|
+
|
|
3032
|
+
To download and install the Arrow Flight SQL ODBC driver:
|
|
3033
|
+
|
|
3034
|
+
1. Download the Windows 64-bit version of the driver from the [ODBC driver download page](https://www.dremio.com/drivers/odbc/).
|
|
3035
|
+
2. Run the installer.
|
|
3036
|
+
3. (Optional) In the **User Account Control** page, click **Yes**. This page appears only if there is user account control configured on your Windows machine.
|
|
3037
|
+
4. In the **Welcome to Dremio** page, click **Next**.
|
|
3038
|
+
5. Click **Install**.
|
|
3039
|
+
6. In the **Installation Complete** page, click **Next**.
|
|
3040
|
+
7. In the **Completing Arrow Flight SQL ODBC Driver Setup Wizard** page, click **Finish**.
|
|
3041
|
+
|
|
3042
|
+
Next, configure the driver.
|
|
3043
|
+
|
|
3044
|
+
### Downloading and Installing on Linux
|
|
3045
|
+
|
|
3046
|
+
To download and install the Arrow Flight SQL ODBC driver:
|
|
3047
|
+
|
|
3048
|
+
1. Download the Linux version of the driver from the [ODBC driver download page](https://www.dremio.com/drivers/odbc/).
|
|
3049
|
+
2. Run the following command to install the driver and automatically create the data source name (DSN) `Arrow Flight SQL ODBC DSN`:
|
|
3050
|
+
|
|
3051
|
+
Install driver and create data source name (DSN)
|
|
3052
|
+
|
|
3053
|
+
```
|
|
3054
|
+
sudo yum localinstall <dremio-odbc-rpm-path>
|
|
3055
|
+
```
|
|
3056
|
+
|
|
3057
|
+
Next, configure the driver.
|
|
3058
|
+
|
|
3059
|
+
### Downloading and Installing on macOS
|
|
3060
|
+
|
|
3061
|
+
To download and install the Arrow Flight SQL ODBC driver:
|
|
3062
|
+
|
|
3063
|
+
Intel Macs Only
|
|
3064
|
+
|
|
3065
|
+
This driver only supports Intel-based Macs. It is not compatible with Apple Silicon M1, M2, and M3 processors.
|
|
3066
|
+
|
|
3067
|
+
1. Download the macOS version of the driver from the [ODBC driver download page](https://www.dremio.com/drivers/odbc/).
|
|
3068
|
+
2. Go to the download location and double-click the downloaded `.dmg` file.
|
|
3069
|
+
3. Double-click the `.pkg` file.
|
|
3070
|
+
4. In the **Welcome to the ODBC Driver for Arrow Flight SQL Installer** page, click **Continue**.
|
|
3071
|
+
5. In the **Standard Install on "Macintosh HD"** page, Click **Install**. Optionally, if you want to change the install location, click **Change Install Location** and navigate to the new location.
|
|
3072
|
+
6. In the **Installer is trying to install new software** dialog, specify your macOS password. Then, click **Install Software**.
|
|
3073
|
+
7. After the installation is complete, click **Close**.
|
|
3074
|
+
|
|
3075
|
+
Next, configure the driver.
|
|
3076
|
+
|
|
3077
|
+
## Configuring
|
|
3078
|
+
|
|
3079
|
+
### Configuring on Windows
|
|
3080
|
+
|
|
3081
|
+
To configure the System DSN:
|
|
3082
|
+
|
|
3083
|
+
danger
|
|
3084
|
+
|
|
3085
|
+
Do not follow these steps if you are using Microsoft Power BI Desktop to connect to Dremio. For the steps for configuring Power BI, see [Connecting from Microsoft Power BI](/current/client-applications/microsoft-power-bi/).
|
|
3086
|
+
|
|
3087
|
+
note
|
|
3088
|
+
|
|
3089
|
+
If you want to use a personal access token (PAT), rather than a password, for authenticating to Dremio, generate a PAT. See [Personal Access Tokens](/current/security/authentication/personal-access-tokens/) for the steps.
|
|
3090
|
+
|
|
3091
|
+
1. Go to **Start Menu** > **Window Administrative Tools**. Click **ODBC Data Sources (64-bit)**.
|
|
3092
|
+
2. In the **ODBC Data Source Administrator (64-bit)** dialog, click **System DSN**.
|
|
3093
|
+
3. Select **Arrow Flight SQL ODBC DSN** and click **Configure**.
|
|
3094
|
+
4. In the **HOST** field, specify the hostname of the server or its IP address.
|
|
3095
|
+
5. In the **PORT** field, specify the port to use for connections from Arrow Flight SQL ODBC client applications, which is 32010 by default.
|
|
3096
|
+
6. Specify client information in the appropriate fields for your authentication type:
|
|
3097
|
+
|
|
3098
|
+
| Field | Username and Password | Personal Access Token | OAuth Access Token |
|
|
3099
|
+
| --- | --- | --- | --- |
|
|
3100
|
+
| **UID** | Username | Username | Do not specify |
|
|
3101
|
+
| **PWD** | Password | Personal access token | Do not specify |
|
|
3102
|
+
| **TOKEN** | Do not specify | Do not specify | OAuth access token |
|
|
3103
|
+
7. In the **UseEncryption** field, specify one of these values:
|
|
3104
|
+
|
|
3105
|
+
* `true`, if Dremio is configured for encrypted communication with your Arrow Flight SQL ODBC client applications.
|
|
3106
|
+
* `false`, if Dremio is not configured for encrypted communication with your Arrow Flight SQL ODBC client applications. Dremio is unencrypted by default.
|
|
3107
|
+
|
|
3108
|
+
For additional parameters, see Connection Parameters.
|
|
3109
|
+
|
|
3110
|
+
If you ever need to enable tracing for troubleshooting problems with the driver, click the **Tracing** tab in the **ODBC Data Source Administrator (64-bit)** dialog, set the log-file path, and then click **Start Tracing Now**.
|
|
3111
|
+
|
|
3112
|
+
### Configuring on Linux
|
|
3113
|
+
|
|
3114
|
+
note
|
|
3115
|
+
|
|
3116
|
+
* Before configuring, ensure that unixODBC is installed.
|
|
3117
|
+
* If you want to base your configuration on examples, copy the content of the `odbc.ini` and `odbcinst.ini` files in the `/opt/arrow-flight-sql-odbc-driver/conf` directory and paste the content into your system `/etc/odbc.ini` and `/etc/odbcinst.ini` files.
|
|
3118
|
+
|
|
3119
|
+
To configure the properties in the odbc.ini file:
|
|
3120
|
+
|
|
3121
|
+
1. In the **HOST** field, specify the hostname of the server or its IP address.
|
|
3122
|
+
2. In the **PORT** field, specify the port to use for connections from Arrow Flight SQL ODBC client applications, which is 32010 by default.
|
|
3123
|
+
3. Specify client information in the appropriate fields for your authentication type:
|
|
3124
|
+
|
|
3125
|
+
| Field | Username and Password | Personal Access Token | OAuth Access Token |
|
|
3126
|
+
| --- | --- | --- | --- |
|
|
3127
|
+
| **UID** | Username | Username | Do not specify |
|
|
3128
|
+
| **PWD** | Password | Personal access token | Do not specify |
|
|
3129
|
+
| **TOKEN** | Do not specify | Do not specify | OAuth access token |
|
|
3130
|
+
4. In the **UseEncryption** field, specify one of these values:
|
|
3131
|
+
|
|
3132
|
+
* `true`, if Dremio is configured for encrypted communication with your Arrow Flight SQL ODBC client applications.
|
|
3133
|
+
* `false`, if Dremio is not configured for encrypted communication with your Arrow Flight SQL ODBC client applications. Dremio is unencrypted by default.
|
|
3134
|
+
|
|
3135
|
+
For additional parameters, see Connection Parameters.
|
|
3136
|
+
|
|
3137
|
+
note
|
|
3138
|
+
|
|
3139
|
+
To find out unixODBC has created your `odbc.ini` and `odbcinst.ini` files, run this command:
|
|
3140
|
+
|
|
3141
|
+
```
|
|
3142
|
+
odbcinst -j
|
|
3143
|
+
```
|
|
3144
|
+
|
|
3145
|
+
If you ever need to enable tracing for troubleshooting problems with the driver, see the help for unixODBC.
|
|
3146
|
+
|
|
3147
|
+
### Configuring on macOS
|
|
3148
|
+
|
|
3149
|
+
note
|
|
3150
|
+
|
|
3151
|
+
Before configuring, ensure that [ODBC Manager](http://www.odbcmanager.net/) is installed.
|
|
3152
|
+
|
|
3153
|
+
1. Launch ODBC Manager.
|
|
3154
|
+
2. On the System DSN page, select **Arrow Flight SQL ODBC DSN** and click **Configure**.
|
|
3155
|
+
3. (Optional) Change the DSN.
|
|
3156
|
+
4. In the **Host** field, specify the hostname of the server or its IP address.
|
|
3157
|
+
5. In the **Port** field, specify the port to use for connections from Arrow Flight SQL ODBC client applications, which is 32010 by default.
|
|
3158
|
+
6. Specify client information in the appropriate fields for your authentication type:
|
|
3159
|
+
|
|
3160
|
+
| Field | Username and Password | Personal Access Token | OAuth Access Token |
|
|
3161
|
+
| --- | --- | --- | --- |
|
|
3162
|
+
| **UID** | Username | Username | Do not specify |
|
|
3163
|
+
| **PWD** | Password | Personal access token | Do not specify |
|
|
3164
|
+
| **TOKEN** | Do not specify | Do not specify | OAuth access token |
|
|
3165
|
+
7. In the **UseEncryption** field, specify one of these values:
|
|
3166
|
+
|
|
3167
|
+
* `true`, if Dremio is configured for encrypted communication with your Arrow Flight SQL ODBC client applications.
|
|
3168
|
+
* `false`, if Dremio is not configured for encrypted communication with your Arrow Flight SQL ODBC client applications. Dremio is unencrypted by default.
|
|
3169
|
+
|
|
3170
|
+
For additional parameters, see Connection Parameters.
|
|
3171
|
+
|
|
3172
|
+
If you ever need to enable tracing for troubleshooting problems with the driver, see the help for your driver manager.
|
|
3173
|
+
|
|
3174
|
+
## Connection Parameters
|
|
3175
|
+
|
|
3176
|
+
### Primary Connection Parameters
|
|
3177
|
+
|
|
3178
|
+
Use these parameters to configure basic connection details such as what data source to connect with.
|
|
3179
|
+
|
|
3180
|
+
note
|
|
3181
|
+
|
|
3182
|
+
The Arrow Flight SQL ODBC driver does not support password-protected `.pem` / `.crt` files or multiple `.crt` certificates in a single `.pem` / `.crt` file.
|
|
3183
|
+
|
|
3184
|
+
| Name | Type | Description | Default Value |
|
|
3185
|
+
| --- | --- | --- | --- |
|
|
3186
|
+
| Host | string | Sets the IP address or hostname for the Dremio server. If you specify an IP address and you set the TLS connection parameter `useEncryption` to `true`, ensure that the `/etc/hosts/` file includes an entry to map the IP address to the host. | None |
|
|
3187
|
+
| Port | integer | Sets the TCP port number that Dremio uses to listen to connections from Arrow Flight SQL ODBC clients. | 32010 |
|
|
3188
|
+
| Schema | string | Provides the name of the database schema to use by default when a schema is not specified in a query. However, this does not prevent queries from being issued for otsher schemas. Such queries must explicitly include the schema. | None |
|
|
3189
|
+
|
|
3190
|
+
Specify client information in the appropriate fields for your authentication type:
|
|
3191
|
+
|
|
3192
|
+
| Field | Username and Password | Personal Access Token | OAuth Access Token |
|
|
3193
|
+
| --- | --- | --- | --- |
|
|
3194
|
+
| **UID** | Username | Username | Do not specify |
|
|
3195
|
+
| **PWD** | Password | Personal access token | Do not specify |
|
|
3196
|
+
| **TOKEN** | Do not specify | Do not specify | OAuth access token |
|
|
3197
|
+
|
|
3198
|
+
### TLS Connection Parameters
|
|
3199
|
+
|
|
3200
|
+
Use the following parameters to configure TLS encryption and verification methods for regular connections.
|
|
3201
|
+
|
|
3202
|
+
| Name | Type | Description | Default Value |
|
|
3203
|
+
| --- | --- | --- | --- |
|
|
3204
|
+
| useEncryption | integer | Configures the client to use a TLS-encrypted connection to communicate with the Dremio server. Accepted values: * `true`, the client communicates with the Dremio server only using TLS encryption. This is the default value. Therefore, communication between the client application and your Dremio server must be encrypted if you do not override this default value. See the configuration of Arrow Flight TLS for [Dremio on Kubernetes](/current/deploy-dremio/configuring-kubernetes/#transport-level-security) or [Dremio standalone clusters](/current/deploy-dremio/other-options/standalone/dremio-config/dremio-conf/wire-encryption-config/#arrow-flight-and-arrow-flight-sql-jdbc-and-odbc-enterprise) for more information. * `false`, TLS encryption is disabled with the client. If you specify this value, ensure that the encryption of communication between the client application and your Dremio server is not configured. | true |
|
|
3205
|
+
| disableCertificateVerification | integer | Specifies whether the driver should verify the host certificate against the trust store. Accepted values: * `false`, the driver verifies the certificate against the trust store. * `true`, the driver does not verify the certificate against the trust store. | false |
|
|
3206
|
+
| useSystemTrustStore | integer | Controls whether to use a CA certificate from the system's trust store, or from a specified `.pem` file. Accepted values: * `true`, the driver verifies the connection using a certificate in the system trust store. * `false`, the driver verifies the connection using the `.pem` file specified by the `trustedCerts` parameter. | `true` on Windows and macOS, `false` on Linux (which does not have a system truststore) |
|
|
3207
|
+
| trustedCerts | string | The full path of the `.pem` file containing certificates trusted by a CA, for the purpose of verifying the server. If this option is not set, the driver defaults to using the trusted CA certificates `.pem` file installed by the driver. The exact file path varies according to the operating system on which the driver is installed. The path for the Windows driver differs from the path set for the macOS driver. The TLS connection fails if you do not specify a value when `useEncryption` is `true` and `disableCertificateVerification` is `false`. | N/A |
|
|
3208
|
+
| hideSQLTablesListing | boolean | Prevents Microsoft Excel 16.95+ from crashing by hiding the list of available sources in Microsoft Excel’s Query Dialog. Set to `true` to enable. Only for Intel-based Mac computers. | `false` |
|
|
3209
|
+
|
|
3210
|
+
### Advanced Parameters
|
|
3211
|
+
|
|
3212
|
+
| Name | Type | Description | Default Value |
|
|
3213
|
+
| --- | --- | --- | --- |
|
|
3214
|
+
| quoting | string | Specifies which type of character to use to delimit values in queries. The value can be BACK\_TICK, BRACKET, or DOUBLE\_QUOTE. | DOUBLE\_QUOTE |
|
|
3215
|
+
| routing\_queue | string | Specifies the queue to route queries to during a session. Direct Routing is used to specify the exact queue and execution cluster to run queries on for a given ODBC session. With Direct Routing, workload-management (WLM) rules are not considered; instead, queries are routed directly to the specified queue. For more information, see [Workload Management](/current/admin/workloads/workload-management/). | N/A |
|
|
3216
|
+
| routing\_tag | string | When this parameter is set, the specified tag is associated with all queries executed within a session. Rules can check for the presence of a tag with the function "tag()". For more information, see [Workload Management](/current/admin/workloads/workload-management/). | N/A |
|
|
3217
|
+
| stringColumnLength | string | The maximum length of data in columns of the STRING datatype and of complex datatypes. The range is 1 to 2147483647. | 1024. |
|
|
3218
|
+
|
|
3219
|
+
## Logging
|
|
3220
|
+
|
|
3221
|
+
You can inspect and extract client-side driver logs through the macOS logging infrastructure, because every macOS installation comes with an embedded Console application that allows you to filter by log types. This feature is only available for Intel-based Mac computers, and the log activity of the ODBC driver mostly consists of ODBC API calls.
|
|
3222
|
+
|
|
3223
|
+
To start logging:
|
|
3224
|
+
|
|
3225
|
+
1. Open the Console application.
|
|
3226
|
+
2. In the search box, select **Excel** in the **PROCESS** dropdown, and **odbc** in the **ANY** dropdown.
|
|
3227
|
+
|
|
3228
|
+

|
|
3229
|
+
3. Click **Start**.
|
|
3230
|
+
|
|
3231
|
+
## Supported Conversions from Dremio Datatypes to ODBC Datatypes
|
|
3232
|
+
|
|
3233
|
+
| Dremio Data Types | SQL\_C\_BINARY | SQL\_C\_BIT | SQL\_C\_CHAR | SQL\_C\_WCHAR | SQL\_C\_STINYINT | SQL\_C\_UTINYINT | SQL\_C\_SSHORT | SQL\_C\_USHORT | SQL\_C\_SLONG | SQL\_C\_ULONG | SQL\_C\_SBIGINT | SQL\_C\_UBIGINT | SQL\_C\_FLOAT | SQL\_C\_DOUBLE | SQL\_C\_NUMERIC | SQL\_C\_DATE | SQL\_C\_TIME | SQL\_C\_TIMESTAMP | SQL\_C\_GUID | SQL\_C\_INTERVAL\_\* |
|
|
3234
|
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
3235
|
+
| BOOLEAN | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | Invalid | Invalid | Invalid | Invalid | N |
|
|
3236
|
+
| VARBINARY | Y | Invalid | N | N | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid |
|
|
3237
|
+
| DATE | N | Invalid | Y | Y | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Y | Invalid | Y | Invalid | Invalid |
|
|
3238
|
+
| FLOAT | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | Invalid | Invalid | Invalid | Invalid | N |
|
|
3239
|
+
| DECIMAL | N | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Invalid | Invalid | Invalid | Invalid | N |
|
|
3240
|
+
| DOUBLE | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | Invalid | Invalid | Invalid | Invalid | N |
|
|
3241
|
+
| INTERVAL (day to seconds) | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | Invalid | Invalid | Invalid | N |
|
|
3242
|
+
| INTERVAL (years to months) | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | Invalid | Invalid | Invalid | N |
|
|
3243
|
+
| INT | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | Invalid | Invalid | Invalid | Invalid | N |
|
|
3244
|
+
| BIGINT | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | Invalid | Invalid | Invalid | Invalid | N |
|
|
3245
|
+
| TIME | N | N | Y | Y | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Y | Y | Invalid | Invalid |
|
|
3246
|
+
| TIMESTAMP | N | N | Y | Y | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Y | Y | Invalid | Invalid |
|
|
3247
|
+
| VARCHAR | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | Invalid |
|
|
3248
|
+
| STRUCT | N | N | Y | Y | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid |
|
|
3249
|
+
| LIST | N | Invalid | Y | Y | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid | Invalid |
|
|
3250
|
+
|
|
3251
|
+
Was this page helpful?
|
|
3252
|
+
|
|
3253
|
+
[Previous
|
|
3254
|
+
|
|
3255
|
+
Arrow Flight SQL JDBC](/current/client-applications/drivers/arrow-flight-sql-jdbc-driver)[Next
|
|
3256
|
+
|
|
3257
|
+
Dremio JDBC Driver (Legacy)](/current/client-applications/drivers/jdbc)
|
|
3258
|
+
|
|
3259
|
+
* Supported Operating Systems
|
|
3260
|
+
* Authentication Methods
|
|
3261
|
+
+ Username and Password
|
|
3262
|
+
+ Personal Access Tokens Enterprise
|
|
3263
|
+
+ OAuth Access Tokens Enterprise
|
|
3264
|
+
* Downloading and Installing
|
|
3265
|
+
+ Downloading and Installing on Windows
|
|
3266
|
+
+ Downloading and Installing on Linux
|
|
3267
|
+
+ Downloading and Installing on macOS
|
|
3268
|
+
* Configuring
|
|
3269
|
+
+ Configuring on Windows
|
|
3270
|
+
+ Configuring on Linux
|
|
3271
|
+
+ Configuring on macOS
|
|
3272
|
+
* Connection Parameters
|
|
3273
|
+
+ Primary Connection Parameters
|
|
3274
|
+
+ TLS Connection Parameters
|
|
3275
|
+
+ Advanced Parameters
|
|
3276
|
+
* Logging
|
|
3277
|
+
* Supported Conversions from Dremio Datatypes to ODBC Datatypes
|