From 4f262e95c07a25dd3b84c335661f8a61174438fa Mon Sep 17 00:00:00 2001 From: Jason Stirnaman Date: Mon, 17 Nov 2025 15:00:21 -0600 Subject: [PATCH] refactor(influxdb3): consolidate ODBC content into Power BI documentation - Migrate comprehensive ODBC driver installation instructions to Power BI guide - Add Windows (PowerShell and Manual) installation steps with verification - Add macOS and Linux installation steps with configuration details - Include platform-specific verification procedures - Enhance Power BI troubleshooting section with ODBC-specific guidance - Add driver not found troubleshooting for all platforms - Expand connection, authentication, and query error troubleshooting - Add query performance optimization recommendations - Restructure Power BI documentation for clarity - Elevate ODBC driver installation to top-level section - Add explicit sequencing: install driver before connector - Improve section flow and subheading descriptiveness - Remove standalone ODBC documentation pages - Delete shared ODBC guide and product-specific ODBC pages - Add aliases in Power BI frontmatter to redirect old ODBC URLs - Apply changes across all InfluxDB 3 products: core, enterprise, cloud-dedicated, cloud-serverless, clustered --- .../query-data/execute-queries/odbc.md | 20 - .../cloud-dedicated/visualize-data/powerbi.md | 3 +- .../query-data/execute-queries/odbc.md | 19 - .../visualize-data/powerbi.md | 5 +- .../query-data/execute-queries/odbc.md | 19 - .../clustered/visualize-data/powerbi.md | 5 +- .../core/query-data/execute-queries/odbc.md | 20 - .../influxdb3/core/visualize-data/powerbi.md | 5 +- .../query-data/execute-queries/odbc.md | 20 - .../enterprise/visualize-data/powerbi.md | 5 +- .../execute-queries/odbc.md | 533 ------------------ content/shared/influxdb3-visualize/powerbi.md | 218 +++++-- 12 files changed, 194 insertions(+), 678 deletions(-) delete mode 100644 content/influxdb3/cloud-dedicated/query-data/execute-queries/odbc.md delete mode 100644 content/influxdb3/cloud-serverless/query-data/execute-queries/odbc.md delete mode 100644 content/influxdb3/clustered/query-data/execute-queries/odbc.md delete mode 100644 content/influxdb3/core/query-data/execute-queries/odbc.md delete mode 100644 content/influxdb3/enterprise/query-data/execute-queries/odbc.md delete mode 100644 content/shared/influxdb3-query-guides/execute-queries/odbc.md diff --git a/content/influxdb3/cloud-dedicated/query-data/execute-queries/odbc.md b/content/influxdb3/cloud-dedicated/query-data/execute-queries/odbc.md deleted file mode 100644 index 0bf0ad5bf5..0000000000 --- a/content/influxdb3/cloud-dedicated/query-data/execute-queries/odbc.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Execute SQL queries with ODBC -description: > - Use the Arrow Flight SQL ODBC driver to execute SQL queries against {{% product-name %}} from - ODBC-compatible applications and programming languages. -menu: - influxdb3_cloud_dedicated: - name: Use ODBC - parent: Execute queries -weight: 351 -influxdb3/cloud-dedicated/tags: [query, sql, odbc] -metadata: [SQL] - -related: - - /influxdb3/cloud-dedicated/reference/sql/ - - /influxdb3/cloud-dedicated/query-data/ -source: /shared/influxdb3-query-guides/execute-queries/odbc.md ---- - - \ No newline at end of file diff --git a/content/influxdb3/cloud-dedicated/visualize-data/powerbi.md b/content/influxdb3/cloud-dedicated/visualize-data/powerbi.md index d4bb06ee8f..40add5caea 100644 --- a/content/influxdb3/cloud-dedicated/visualize-data/powerbi.md +++ b/content/influxdb3/cloud-dedicated/visualize-data/powerbi.md @@ -10,10 +10,11 @@ menu: weight: 104 influxdb3/cloud-dedicated/tags: [visualization, powerbi, sql] metadata: [SQL] +aliases: + - /influxdb3/cloud-dedicated/query-data/execute-queries/odbc/ related: - https://learn.microsoft.com/en-us/power-bi/desktop/, Power BI documentation - /influxdb3/cloud-dedicated/query-data/sql/ - - /influxdb3/cloud-dedicated/query-data/execute-queries/odbc/ source: /shared/influxdb3-visualize/powerbi.md --- diff --git a/content/influxdb3/cloud-serverless/query-data/execute-queries/odbc.md b/content/influxdb3/cloud-serverless/query-data/execute-queries/odbc.md deleted file mode 100644 index ceabe9fdd6..0000000000 --- a/content/influxdb3/cloud-serverless/query-data/execute-queries/odbc.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Execute SQL queries with ODBC -description: > - Use the Arrow Flight SQL ODBC driver to execute SQL queries against {{% product-name %}} from - ODBC-compatible applications and programming languages. -menu: - influxdb3_cloud_serverless: - name: Use ODBC - parent: Execute queries -weight: 351 -influxdb3/cloud-serverless/tags: [query, sql, odbc] -metadata: [SQL] -related: - - /influxdb3/cloud-serverless/reference/sql/ - - /influxdb3/cloud-serverless/query-data/ -source: /shared/influxdb3-query-guides/execute-queries/odbc.md ---- - - \ No newline at end of file diff --git a/content/influxdb3/cloud-serverless/visualize-data/powerbi.md b/content/influxdb3/cloud-serverless/visualize-data/powerbi.md index ffa7beed98..e56d177f2c 100644 --- a/content/influxdb3/cloud-serverless/visualize-data/powerbi.md +++ b/content/influxdb3/cloud-serverless/visualize-data/powerbi.md @@ -10,11 +10,12 @@ menu: weight: 104 influxdb3/cloud-serverless/tags: [visualization, powerbi, sql] metadata: [SQL] +aliases: + - /influxdb3/cloud-serverless/query-data/execute-queries/odbc/ related: - https://learn.microsoft.com/en-us/power-bi/desktop/, Power BI documentation - /influxdb3/cloud-serverless/query-data/sql/ - - /influxdb3/cloud-serverless/query-data/execute-queries/odbc/ source: /shared/influxdb3-visualize/powerbi.md --- - \ No newline at end of file + diff --git a/content/influxdb3/clustered/query-data/execute-queries/odbc.md b/content/influxdb3/clustered/query-data/execute-queries/odbc.md deleted file mode 100644 index 9ac4d94b10..0000000000 --- a/content/influxdb3/clustered/query-data/execute-queries/odbc.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Execute SQL queries with ODBC -description: > - Use the Arrow Flight SQL ODBC driver to execute SQL queries against {{% product-name %}} from - ODBC-compatible applications and programming languages. -menu: - influxdb3_clustered: - name: Use ODBC - parent: Execute queries -weight: 351 -influxdb3/clustered/tags: [query, sql, odbc] -metadata: [SQL] -related: - - /influxdb3/clustered/reference/sql/ - - /influxdb3/clustered/query-data/ -source: /shared/influxdb3-query-guides/execute-queries/odbc.md ---- - - \ No newline at end of file diff --git a/content/influxdb3/clustered/visualize-data/powerbi.md b/content/influxdb3/clustered/visualize-data/powerbi.md index 2889b31245..aea270b42b 100644 --- a/content/influxdb3/clustered/visualize-data/powerbi.md +++ b/content/influxdb3/clustered/visualize-data/powerbi.md @@ -10,11 +10,12 @@ menu: weight: 104 influxdb3/clustered/tags: [visualization, powerbi, sql] metadata: [SQL] +aliases: + - /influxdb3/clustered/query-data/execute-queries/odbc/ related: - https://learn.microsoft.com/en-us/power-bi/desktop/, Power BI documentation - /influxdb3/clustered/query-data/sql/ - - /influxdb3/clustered/query-data/execute-queries/odbc/ source: /shared/influxdb3-visualize/powerbi.md --- - \ No newline at end of file + diff --git a/content/influxdb3/core/query-data/execute-queries/odbc.md b/content/influxdb3/core/query-data/execute-queries/odbc.md deleted file mode 100644 index 1bc000d63d..0000000000 --- a/content/influxdb3/core/query-data/execute-queries/odbc.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Execute SQL queries with ODBC -description: > - Use the Arrow Flight SQL ODBC driver to execute SQL queries against {{% product-name %}} from - ODBC-compatible applications and programming languages. -menu: - influxdb3_core: - name: Use ODBC - parent: Execute queries -weight: 351 -influxdb3/core/tags: [query, sql, odbc] -metadata: [SQL] -related: - - /influxdb3/core/reference/sql/ - - /influxdb3/core/query-data/ - - /influxdb3/core/visualize-data/powerbi/ -source: /shared/influxdb3-query-guides/execute-queries/odbc.md ---- - - \ No newline at end of file diff --git a/content/influxdb3/core/visualize-data/powerbi.md b/content/influxdb3/core/visualize-data/powerbi.md index f2ca5d3b9f..e9b22398f9 100644 --- a/content/influxdb3/core/visualize-data/powerbi.md +++ b/content/influxdb3/core/visualize-data/powerbi.md @@ -10,11 +10,12 @@ menu: weight: 104 influxdb3/core/tags: [visualization, powerbi, sql] metadata: [SQL] +aliases: + - /influxdb3/core/query-data/execute-queries/odbc/ related: - https://learn.microsoft.com/en-us/power-bi/desktop/, Power BI documentation - /influxdb3/core/query-data/sql/ - - /influxdb3/core/query-data/execute-queries/odbc/ source: /shared/influxdb3-visualize/powerbi.md --- - \ No newline at end of file + diff --git a/content/influxdb3/enterprise/query-data/execute-queries/odbc.md b/content/influxdb3/enterprise/query-data/execute-queries/odbc.md deleted file mode 100644 index d15b40c63b..0000000000 --- a/content/influxdb3/enterprise/query-data/execute-queries/odbc.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Execute SQL queries with ODBC -description: > - Use the Arrow Flight SQL ODBC driver to execute SQL queries against {{% product-name %}} from - ODBC-compatible applications and programming languages. -menu: - influxdb3_enterprise: - name: Use ODBC - parent: Execute queries -weight: 351 -influxdb3/enterprise/tags: [query, sql, odbc] -metadata: [SQL] -related: - - /influxdb3/enterprise/reference/sql/ - - /influxdb3/enterprise/query-data/ - - /influxdb3/enterprise/visualize-data/powerbi/ -source: /shared/influxdb3-query-guides/execute-queries/odbc.md ---- - - \ No newline at end of file diff --git a/content/influxdb3/enterprise/visualize-data/powerbi.md b/content/influxdb3/enterprise/visualize-data/powerbi.md index 3413071bdc..cbe8eff499 100644 --- a/content/influxdb3/enterprise/visualize-data/powerbi.md +++ b/content/influxdb3/enterprise/visualize-data/powerbi.md @@ -10,11 +10,12 @@ menu: weight: 104 influxdb3/enterprise/tags: [visualization, powerbi, sql] metadata: [SQL] +aliases: + - /influxdb3/enterprise/query-data/execute-queries/odbc/ related: - https://learn.microsoft.com/en-us/power-bi/desktop/, Power BI documentation - /influxdb3/enterprise/query-data/sql/ - - /influxdb3/enterprise/query-data/execute-queries/odbc/ source: /shared/influxdb3-visualize/powerbi.md --- - \ No newline at end of file + diff --git a/content/shared/influxdb3-query-guides/execute-queries/odbc.md b/content/shared/influxdb3-query-guides/execute-queries/odbc.md deleted file mode 100644 index 2b66aea2ba..0000000000 --- a/content/shared/influxdb3-query-guides/execute-queries/odbc.md +++ /dev/null @@ -1,533 +0,0 @@ -Use the Arrow Flight SQL ODBC driver to execute SQL queries against -{{% product-name %}} from ODBC-compatible applications and programming languages. - -ODBC (Open Database Connectivity) is a standard API for accessing database -management systems. The Arrow Flight SQL ODBC driver enables ODBC-compatible -applications to connect to {{% product-name %}} and query data using SQL. - -- [Download and install the ODBC driver](#download-and-install-the-odbc-driver) -- [Configure a data source](#configure-a-data-source) -- [Connect and query from applications](#connect-and-query-from-applications) -- [Use ODBC with programming languages](#use-odbc-with-programming-languages) - -## Download and install the ODBC driver - -{{% product-name %}} uses the Arrow Flight SQL ODBC driver to enable ODBC connectivity. - -> [!Note] -> For more information about the Arrow Flight SQL ODBC Driver, see the [Dremio documentation](https://docs.dremio.com/current/client-applications/drivers/arrow-flight-sql-odbc-driver/). - -{{< tabs-wrapper >}} -{{% tabs %}} -[Windows (PowerShell)](#) -[Windows (Manual)](#) -[macOS and Linux](#) -{{% /tabs %}} - -{{% tab-content %}} -Run the following PowerShell commands to download and install: - -{{% code-placeholders "YOUR_USER" %}} -```powershell -# Set the driver path -$driverPath = "C:\Users\YOUR_USER\Downloads\arrow-flight-sql-odbc-0.9.7.1195-win64.msi" - -# Download the driver -Invoke-WebRequest -Uri "https://docs.influxdata.com/downloads/arrow-flight-sql-odbc-0.9.7.1195-win64.msi" ` - -OutFile $driverPath - -# Mark as trusted -Unblock-File $driverPath - -# Install -Start-Process msiexec.exe -Wait -ArgumentList "/i `"$driverPath`"" -``` -{{% /code-placeholders %}} - -Replace the following: - -- {{% code-placeholder-key %}}`YOUR_USER`{{% /code-placeholder-key %}}: Your Windows username - -#### Verify installation - -1. Open **ODBC Data Source Administrator (64-bit)** -2. Navigate to the **Drivers** tab -3. Verify **Arrow Flight SQL ODBC Driver** appears in the list - -{{% /tab-content %}} - -{{% tab-content %}} -Download the Arrow Flight SQL ODBC driver - -1. Run the downloaded `.msi` installer -2. Follow the installation wizard using default settings -3. Complete the installation - -#### Verify installation - -1. Open **ODBC Data Source Administrator (64-bit)** -2. Navigate to the **Drivers** tab -3. Verify **Arrow Flight SQL ODBC Driver** appears in the list - -{{% /tab-content %}} - -{{% tab-content %}} -Download from Dremio: - -- [**macOS (Universal)**](https://download.dremio.com/arrow-flight-sql-odbc-driver/arrow-flight-sql-odbc-LATEST-universal.pkg) -- [**Linux (x86_64)**](https://download.dremio.com/arrow-flight-sql-odbc-driver/arrow-flight-sql-odbc-LATEST-linux-x86_64.tar.gz) - -#### Install on macOS - -1. Run the downloaded `.pkg` installer -2. Follow the installation prompts -3. Enter your administrator password when prompted -4. Complete the installation - -#### Install on Linux - -1. Extract the downloaded archive: - - ```bash - tar -xzf arrow-flight-sql-odbc-LATEST-linux-x86_64.tar.gz - ``` - -2. Install the driver (installation location may vary by distribution): - - ```bash - sudo mkdir -p /opt/arrow-flight-sql-odbc - sudo cp -r lib /opt/arrow-flight-sql-odbc/ - ``` - -3. Configure the driver in `/etc/odbcinst.ini`: - - ```ini - [Arrow Flight SQL ODBC Driver] - Description = Arrow Flight SQL ODBC Driver - Driver = /opt/arrow-flight-sql-odbc/lib/libarrow-odbc.so - ``` - -#### Verify installation - -To verify the driver is installed correctly, run: - -```bash -odbcinst -q -d -``` - -The output should include **Arrow Flight SQL**. - -{{% /tab-content %}} -{{< /tabs-wrapper >}} - -## Configure a data source - -After installing the Arrow Flight SQL ODBC driver, configure a data source to -connect to {{% product-name %}}. - -{{< tabs-wrapper >}} -{{% tabs %}} -[Windows](#) -[macOS and Linux](#) -{{% /tabs %}} - -{{% tab-content %}} -1. Open **ODBC Data Source Administrator (64-bit)** -2. Navigate to the **System DSN** or **User DSN** tab -3. Click **Add** -4. Select **Arrow Flight SQL ODBC Driver** and click **Finish** -5. Configure the connection: - - - **Data Source Name**: Provide a descriptive name (for example, `InfluxDB3`) - - **Host**: Your {{% product-name %}} host (for example, {{% show-in "cloud-serverless" %}}`us-west-2-1.aws.cloud2.influxdata.com`{{% /show-in %}}{{% show-in "enterprise,core" %}}`localhost`{{% /show-in %}}{{% show-in "cloud-dedicated" %}}`cluster-id.a.influxdb.io`{{% /show-in %}}{{% show-in "clustered" %}}`cluster-host.com`{{% /show-in %}}) - - **Port**: Your InfluxDB URL port {{% show-in "cloud-serverless,cloud-dedicated,clustered" %}}(for example, `443` (HTTPS){{% /show-in %}}{{% show-in "enterprise,core" %}}`8181` (default){{% /show-in %}}) - - **Database**: Your database name - - **Auth Token**: Your {{% show-in "cloud-dedicated,clustered" %}}{{% token-link "database" %}}{{% /show-in %}}{{% show-in "cloud-serverless" %}}{{% token-link %}}{{% /show-in %}}{{% show-in "core,enterprise" %}}{{% token-link "admin" "database" %}}{{% /show-in %}}{{% show-in "cloud-dedicated,clustered,enterprise" %}} with query permissions for the target database{{% /show-in %}} - - **Use Encryption**: Enable for HTTPS connections - -6. Click **Test** to verify the connection -7. Click **OK** to save - -{{% /tab-content %}} - -{{% tab-content %}} -Create or edit `~/.odbc.ini` (user DSN) or `/etc/odbc.ini` (system DSN): - -{{% show-in "enterprise,core" %}} -{{% code-placeholders "DATABASE_NAME|DATABASE_TOKEN" %}} -```ini -[InfluxDB3] -Driver = Arrow Flight SQL ODBC Driver -Host = localhost -Port = 8181 -Database = DATABASE_NAME -AuthToken = DATABASE_TOKEN -UseEncryption = 1 -``` -{{% /code-placeholders %}} -{{% /show-in %}} - -{{% show-in "cloud-serverless" %}} -{{% code-placeholders "DATABASE_NAME|DATABASE_TOKEN" %}} -```ini -[InfluxDB3] -Driver = Arrow Flight SQL ODBC Driver -Host = us-west-2-1.aws.cloud2.influxdata.com -Port = 443 -Database = DATABASE_NAME -AuthToken = DATABASE_TOKEN -UseEncryption = 1 -``` -{{% /code-placeholders %}} -{{% /show-in %}} - -{{% show-in "cloud-dedicated" %}} -{{% code-placeholders "DATABASE_NAME|DATABASE_TOKEN" %}} -```ini -[InfluxDB3] -Driver = Arrow Flight SQL ODBC Driver -Host = cluster-id.a.influxdb.io -Port = 443 -Database = DATABASE_NAME -AuthToken = DATABASE_TOKEN -UseEncryption = 1 -``` -{{% /code-placeholders %}} -{{% /show-in %}} - -{{% show-in "clustered" %}} -{{% code-placeholders "DATABASE_NAME|DATABASE_TOKEN" %}} -```ini -[InfluxDB3] -Driver = Arrow Flight SQL ODBC Driver -Host = cluster-host.com -Port = 443 -Database = DATABASE_NAME -AuthToken = DATABASE_TOKEN -UseEncryption = 1 -``` -{{% /code-placeholders %}} -{{% /show-in %}} - -Replace the following: - -- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: Your database name -- {{% code-placeholder-key %}}`DATABASE_TOKEN`{{% /code-placeholder-key %}}: Your {{% token-link "database" %}}{{% show-in "enterprise" %}} with query permissions{{% /show-in %}} - -Test the connection: - -```bash -isql -v InfluxDB3 -``` - -{{% /tab-content %}} -{{< /tabs-wrapper >}} - -## Connect and query from applications - -After configuring a data source, connect from ODBC-compatible applications: - -### Power BI - -See [Use Power BI to visualize data](/influxdb3/version/visualize-data/powerbi/). - -### Tableau - -See [Use Tableau to visualize data](/influxdb3/version/visualize-data/tableau/). - -### Excel - -1. Open Excel -2. Go to **Data** > **Get Data** > **From Other Sources** > **From ODBC** -3. Select your InfluxDB data source -4. Enter credentials if prompted -5. Select tables and load data - -### DBeaver - -1. Create a new database connection -2. Select **ODBC** as the connection type -3. Configure the connection: - - **Database/Schema**: Your InfluxDB database - - **ODBC DSN**: Your configured data source name -4. Test and save the connection - -## Use ODBC with programming languages - -### Python with pyodbc - -```python -import pyodbc - -# Connect to InfluxDB -conn = pyodbc.connect( - 'DSN=InfluxDB3', - autocommit=True -) - -# Create cursor -cursor = conn.cursor() - -# Execute query -cursor.execute(""" - SELECT - time, - temp, - location - FROM - home - WHERE - time >= now() - INTERVAL '1 hour' - ORDER BY - time DESC -""") - -# Fetch results -for row in cursor.fetchall(): - print(row) - -# Close connection -cursor.close() -conn.close() -``` - -### R with RODBC - -```r -library(RODBC) - -# Connect to InfluxDB -conn <- odbcConnect("InfluxDB3") - -# Execute query -result <- sqlQuery(conn, " - SELECT - time, - temp, - location - FROM - home - WHERE - time >= now() - INTERVAL '1 hour' - ORDER BY - time DESC -") - -# View results -print(result) - -# Close connection -odbcClose(conn) -``` - -### C# with `System.Data.Odbc` - -```csharp -using System; -using System.Data.Odbc; - -class Program -{ - static void Main() - { - string connectionString = "DSN=InfluxDB3"; - - using (OdbcConnection conn = new OdbcConnection(connectionString)) - { - conn.Open(); - - string query = @" - SELECT - time, - temp, - location - FROM - home - WHERE - time >= now() - INTERVAL '1 hour' - ORDER BY - time DESC - "; - - using (OdbcCommand cmd = new OdbcCommand(query, conn)) - using (OdbcDataReader reader = cmd.ExecuteReader()) - { - while (reader.Read()) - { - Console.WriteLine($"{reader["time"]} - {reader["temp"]} - {reader["location"]}"); - } - } - } - } -} -``` - -## Connection string format - -For applications that use connection strings directly: - -``` -Driver={Arrow Flight SQL ODBC Driver};Host=HOST;Port=PORT;Database=DATABASE;AuthToken=TOKEN;UseEncryption=1 -``` - -Example: - -{{% code-placeholders "DATABASE_NAME|DATABASE_TOKEN" %}} -``` -Driver={Arrow Flight SQL ODBC Driver};Host=localhost;Port=8181;Database=DATABASE_NAME;AuthToken=DATABASE_TOKEN;UseEncryption=1 -``` -{{% /code-placeholders %}} - -{{% show-in "cloud-serverless,cloud-dedicated" %}} -For {{% product-name %}}, use port `443`: - -{{% code-placeholders "DATABASE_NAME|DATABASE_TOKEN" %}} -``` -Driver={Arrow Flight SQL ODBC Driver};Host=cluster-id.a.influxdb.io;Port=443;Database=DATABASE_NAME;AuthToken=DATABASE_TOKEN;UseEncryption=1 -``` -{{% /code-placeholders %}} -{{% /show-in %}} - -## Configuration options - -### Connection parameters - -| Parameter | Description | Default | -| -------------------------------- | ------------------------------- | ----------------------------------------------------------------------------------------------- | -| `Host` | InfluxDB server hostname | Required | -| `Port` | InfluxDB server port | Required {{% show-in "core,enterprise" %}}(`8181`){{% /show-in %}} | -| `Database` | Database name | Required | -| `AuthToken` | Authentication token | Required | -| `UseEncryption` | Use encrypted connection | `1` (enabled) | -| `TrustedCerts` | Path to trusted CA certificates | System default | -| `DisableCertificateVerification` | Skip certificate verification | `0` (disabled) | - -### Advanced options - -Add these to your DSN configuration or connection string as needed: - -{{% show-in "enterprise,core" %}} -```ini -[InfluxDB3] -Driver = Arrow Flight SQL ODBC Driver -Host = localhost -Port = 8181 -Database = mydb -AuthToken = your-token -UseEncryption = 1 -DisableCertificateVerification = 0 -``` -{{% /show-in %}} - -{{% show-in "cloud-serverless" %}} -```ini -[InfluxDB3] -Driver = Arrow Flight SQL ODBC Driver -Host = us-west-2-1.aws.cloud2.influxdata.com -Port = 443 -Database = mydb -AuthToken = your-token -UseEncryption = 1 -DisableCertificateVerification = 0 -``` -{{% /show-in %}} - -{{% show-in "cloud-dedicated" %}} -```ini -[InfluxDB3] -Driver = Arrow Flight SQL ODBC Driver -Host = cluster-id.a.influxdb.io -Port = 443 -Database = mydb -AuthToken = your-token -UseEncryption = 1 -DisableCertificateVerification = 0 -``` -{{% /show-in %}} - -{{% show-in "clustered" %}} -```ini -[InfluxDB3] -Driver = Arrow Flight SQL ODBC Driver -Host = cluster-host.com -Port = 443 -Database = mydb -AuthToken = your-token -UseEncryption = 1 -DisableCertificateVerification = 0 -``` -{{% /show-in %}} - -## Troubleshooting - -### Driver not found - -If applications cannot find the Arrow Flight SQL ODBC driver: - -{{< tabs-wrapper >}} -{{% tabs %}} -[Windows](#) -[macOS and Linux](#) -{{% /tabs %}} - -{{% tab-content %}} -1. Open **ODBC Data Source Administrator (64-bit)** -2. Navigate to the **Drivers** tab -3. Verify **Arrow Flight SQL ODBC Driver** appears in the list -4. If not listed, reinstall the driver - -{{% /tab-content %}} - -{{% tab-content %}} -1. Run the following command to list installed drivers: - - ```bash - odbcinst -q -d - ``` - -2. Verify **Arrow Flight SQL** appears in the output -3. Check `/etc/odbcinst.ini` for proper driver configuration -4. Ensure the driver library path is correct - -{{% /tab-content %}} -{{< /tabs-wrapper >}} - -### Connection failures - -If you cannot connect to {{% product-name %}}: - -- Verify your {{% product-name %}} instance is running and accessible -- Check host and port settings: - - Local instances: `localhost:8181` - - {{% show-in "cloud-serverless,cloud-dedicated" %}}{{% product-name %}}: Use your cluster URL with port `443`{{% /show-in %}} -- Ensure `UseEncryption` is set correctly for your connection type -- Verify network connectivity and firewall rules allow connections - -### Authentication errors - -If authentication fails: - -- Confirm your token is valid and not expired -- Ensure the token is specified in the `AuthToken` parameter (not `Token`) -- {{% show-in "enterprise" %}}Verify the token has query permissions for the target database{{% /show-in %}} -- Check that the token was copied correctly without extra spaces or characters - -### Query errors - -If queries fail or return errors: - -- Verify SQL syntax is correct for InfluxDB SQL -- Check that referenced tables (measurements) exist in the database -- Ensure column names match your schema -- Review the [SQL reference](/influxdb3/version/reference/sql/) for supported features -- For large result sets, consider adding `LIMIT` clauses - -### Performance issues - -For slow queries or connection timeouts: - -- Add time range filters to limit data scanned -- Use appropriate indexes if available -- Increase timeout values in your DSN configuration -- Monitor query execution plans for optimization opportunities - diff --git a/content/shared/influxdb3-visualize/powerbi.md b/content/shared/influxdb3-visualize/powerbi.md index ca07483c0e..803ca101ab 100644 --- a/content/shared/influxdb3-visualize/powerbi.md +++ b/content/shared/influxdb3-visualize/powerbi.md @@ -9,15 +9,15 @@ Note: The Microsoft Power BI Connector for InfluxDB is currently in BETA > > {{% cite %}}-- [Microsoft Power BI documentation](https://learn.microsoft.com/en-us/power-bi/fundamentals/power-bi-overview){{% /cite %}} -> [!Important] +> \[!Important] > These instructions are for Power BI Desktop only; it uses a custom connector. -- [Prerequisites](#prerequisites) -- [Install the Power BI connector](#install-the-power-bi-connector) -- [Install the Arrow Flight SQL ODBC Driver](#install-the-arrow-flight-sql-odbc-driver) -- [Enable the connector in Power BI](#enable-the-connector-in-power-bi) -- [Connect Power BI to InfluxDB](#connect-power-bi-to-influxdb) -- [Query and visualize data](#query-and-visualize-data) +1. [Prerequisites](#prerequisites) +2. [Install the Arrow Flight SQL ODBC driver](#install-the-arrow-flight-sql-odbc-driver) +3. [Install the Power BI connector](#install-the-power-bi-connector) +4. [Enable the connector in Power BI](#enable-the-connector-in-power-bi) +5. [Connect Power BI to InfluxDB](#connect-power-bi-to-influxdb) +6. [Query and visualize data](#query-and-visualize-data) ## Prerequisites @@ -28,65 +28,141 @@ Note: The Microsoft Power BI Connector for InfluxDB is currently in BETA - **{{% product-name %}}**: A running instance with data to query - **Database token**: Your {{% show-in "cloud-dedicated, clustered" %}}{{% token-link "database" %}}{{% /show-in %}}{{% show-in "cloud-serverless" %}}{{% token-link %}}{{% /show-in %}}{{% show-in "core, enterprise" %}}{{% token-link "admin" "database" %}}{{% /show-in %}}{{% show-in "enterprise" %}} with query permissions for the target database{{% /show-in %}} -The following steps guide you through downloading and installing the Arrow Flight SQL ODBC Driver and the InfluxDB 3 custom connector. +## Install the Arrow Flight SQL ODBC driver -## Install the Power BI connector - -The InfluxDB 3 custom connector for Power BI Desktop enables you to connect to -{{% product-name %}} and query data using SQL. +The InfluxDB 3 custom connector for Power BI requires the Arrow Flight SQL ODBC driver. +Install the driver before installing the Power BI connector. -### Install the Arrow Flight SQL ODBC Driver +> \[!Note] +> For more information about the Arrow Flight SQL ODBC Driver, see the [Dremio documentation](https://docs.dremio.com/current/client-applications/drivers/arrow-flight-sql-odbc-driver/). -The custom connector requires the Arrow Flight SQL ODBC Driver. +{{< tabs-wrapper >}} +{{% tabs %}} +[Windows (PowerShell)](#) +[Windows (Manual)](#) +[macOS and Linux](#) +{{% /tabs %}} -Download the Arrow Flight SQL ODBC driver +{{% tab-content %}} +Run the following PowerShell commands to download and install: -Or use PowerShell to download and install: +{{% code-placeholders "YOUR\_USER" %}} -{{% code-placeholders "YOUR_USER" %}} ```powershell +# Set the driver path +$driverPath = "C:\Users\YOUR_USER\Downloads\arrow-flight-sql-odbc-0.9.7.1195-win64.msi" + # Download the driver Invoke-WebRequest -Uri "https://docs.influxdata.com/downloads/arrow-flight-sql-odbc-0.9.7.1195-win64.msi" ` - -OutFile "C:\Users\YOUR_USER\Downloads\arrow-flight-sql-odbc-0.9.7.1195-win64.msi" + -OutFile $driverPath # Mark as trusted -Unblock-File "C:\Users\YOUR_USER\Downloads\arrow-flight-sql-odbc-0.9.7.1195-win64.msi" +Unblock-File $driverPath # Install -Start-Process msiexec.exe -Wait -ArgumentList '/i "C:\Users\YOUR_USER\Downloads\arrow-flight-sql-odbc-0.9.7.1195-win64.msi"' +Start-Process msiexec.exe -Wait -ArgumentList "/i `"$driverPath`"" ``` + {{% /code-placeholders %}} Replace the following: - {{% code-placeholder-key %}}`YOUR_USER`{{% /code-placeholder-key %}}: Your Windows username -Follow the installation wizard using default settings. +#### Verify driver installation -> [!Note] -> For more information about the Arrow Flight SQL ODBC Driver, see the [Dremio documentation](https://docs.dremio.com/current/client-applications/drivers/arrow-flight-sql-odbc-driver/). +1. Open **ODBC Data Source Administrator (64-bit)** +2. Navigate to the **Drivers** tab +3. Verify **Arrow Flight SQL ODBC Driver** appears in the list + +{{% /tab-content %}} + +{{% tab-content %}} Download the Arrow Flight SQL ODBC driver + +1. Run the downloaded `.msi` installer +2. Follow the installation wizard using default settings +3. Complete the installation + +#### Verify driver installation + +1. Open **ODBC Data Source Administrator (64-bit)** +2. Navigate to the **Drivers** tab +3. Verify **Arrow Flight SQL ODBC Driver** appears in the list + +{{% /tab-content %}} + +{{% tab-content %}} +Download from Dremio: + +- [**macOS (Universal)**](https://download.dremio.com/arrow-flight-sql-odbc-driver/arrow-flight-sql-odbc-LATEST-universal.pkg) +- [**Linux (x86\_64)**](https://download.dremio.com/arrow-flight-sql-odbc-driver/arrow-flight-sql-odbc-LATEST-linux-x86_64.tar.gz) + +#### Install on macOS + +1. Run the downloaded `.pkg` installer +2. Follow the installation prompts +3. Enter your administrator password when prompted +4. Complete the installation + +#### Install on Linux + +1. Extract the downloaded archive: -### Install the Power BI connector file + ```bash + tar -xzf arrow-flight-sql-odbc-LATEST-linux-x86_64.tar.gz + ``` + +2. Install the driver (installation location may vary by distribution): + + ```bash + sudo mkdir -p /opt/arrow-flight-sql-odbc + sudo cp -r lib /opt/arrow-flight-sql-odbc/ + ``` + +3. Configure the driver in `/etc/odbcinst.ini`: + + ```ini + [Arrow Flight SQL ODBC Driver] + Description = Arrow Flight SQL ODBC Driver + Driver = /opt/arrow-flight-sql-odbc/lib/libarrow-odbc.so + ``` + +#### Verify driver installation + +To verify the driver is installed correctly, run: + +```bash +odbcinst -q -d +``` + +The output should include **Arrow Flight SQL**. + +{{% /tab-content %}} +{{< /tabs-wrapper >}} + +## Install the Power BI connector + +After installing the ODBC driver, download and install the InfluxDB 3 custom connector for Power BI Desktop. Download the InfluxDB 3 Power BI connector Or use PowerShell to download: -{{% code-placeholders "YOUR_USER" %}} +{{% code-placeholders "YOUR\_USER" %}} + ```powershell # Download the connector Invoke-WebRequest -Uri "https://docs.influxdata.com/downloads/InfluxDB.pqx" ` -OutFile "C:\Users\YOUR_USER\Downloads\InfluxDB.pqx" ``` + {{% /code-placeholders %}} Replace the following: - {{% code-placeholder-key %}}`YOUR_USER`{{% /code-placeholder-key %}}: Your Windows username -#### Install the connector - -Move the `.pqx` connector file to the Power BI custom connectors directory: +### Move the connector to the custom connectors directory 1. Create the custom connectors folder if it doesn't exist: @@ -96,11 +172,13 @@ Move the `.pqx` connector file to the Power BI custom connectors directory: 2. Move the connector file to the custom connectors folder: - {{% code-placeholders "YOUR_USER" %}} + {{% code-placeholders "YOUR\_USER" %}} + ```powershell Move-Item "C:\Users\YOUR_USER\Downloads\InfluxDB.pqx" ` "$env:USERPROFILE\Documents\Power BI Desktop\Custom Connectors\" ``` + {{% /code-placeholders %}} Replace the following: @@ -119,8 +197,10 @@ To use custom connectors, you must adjust Power BI Desktop's security settings: 5. Click **OK** 6. **Restart Power BI Desktop** for the changes to take effect -> [!Warning] +> \[!Warning] +> > #### Security considerations +> > Enabling uncertified extensions allows any custom connector to load. > Only enable this setting if you trust the connectors you're installing. @@ -129,9 +209,13 @@ To use custom connectors, you must adjust Power BI Desktop's security settings: After installing the connector and restarting Power BI Desktop: 1. Open **Power BI Desktop** + 2. Click **Get Data** > **More** + 3. Search for **InfluxDB 3** and select it + 4. Click **Connect** + 5. In the **InfluxDB 3** connection dialog, configure the following: - **Server**: Your {{% product-name %}} URL without the port, (for example, @@ -141,18 +225,25 @@ After installing the connector and restarting Power BI Desktop: - **Native Query** (optional): Enter a SQL query to limit the data loaded 6. Select **DirectQuery** as the **Data Connectivity mode** + 7. Click **OK** + 8. When prompted for credentials: - Select **Basic** authentication - **Username**: Leave blank or enter any value - **Password**: Enter your {{% show-in "cloud-dedicated, clustered" %}}{{% token-link "database" %}}{{% /show-in %}}{{% show-in "cloud-serverless" %}}{{% token-link %}}{{% /show-in %}}{{% show-in "core, enterprise" %}}{{% token-link "admin" "database" %}}{{% /show-in %}}{{% show-in "enterprise" %}} with query permissions for the target database{{% /show-in %}} + 9. Click **Connect** + 10. Preview your data and click **Load** -> [!Important] +> \[!Important] +> > #### Limit query size for optimal performance +> > {{% product-name %}} can handle high throughput and dimensional data. > To ensure Power BI can successfully process data, limit query size by: +> > - Using a `LIMIT` clause > - Specifying time ranges with `WHERE time >= ...` > - Filtering by specific columns or tags @@ -165,6 +256,7 @@ When connecting to InfluxDB 3, you can use the **Native Query** option to execute custom SQL queries: 1. In the connection dialog, enable **Native Query** + 2. Enter your query in the provided field: ```sql @@ -182,6 +274,7 @@ execute custom SQL queries: ``` 3. Select **DirectQuery** as the connectivity mode + 4. Click **OK** to load the data ### Create visualizations @@ -223,6 +316,42 @@ After loading data, Power BI displays your dataset in the **Fields** pane. ## Troubleshooting +### Driver not found + +If Power BI or other applications can't find the Arrow Flight SQL ODBC driver: + +{{< tabs-wrapper >}} +{{% tabs %}} +[Windows](#) +[macOS and Linux](#) +{{% /tabs %}} + +{{% tab-content %}} + +1. Open **ODBC Data Source Administrator (64-bit)** +2. Navigate to the **Drivers** tab +3. Verify **Arrow Flight SQL ODBC Driver** appears in the list +4. If not listed, reinstall the driver + +{{% /tab-content %}} + +{{% tab-content %}} + +1. Run the following command to list installed drivers: + + ```bash + odbcinst -q -d + ``` + +2. Verify **Arrow Flight SQL** appears in the output + +3. Check `/etc/odbcinst.ini` for proper driver configuration + +4. Ensure the driver library path is correct + +{{% /tab-content %}} +{{< /tabs-wrapper >}} + ### Connector not found If Power BI Desktop doesn't show the InfluxDB 3 connector: @@ -236,28 +365,41 @@ If Power BI Desktop doesn't show the InfluxDB 3 connector: If you encounter connection errors: -- Verify your {{% product-name %}} instance is accessible -- Check that the host URL and port are correct +- Verify your {{% product-name %}} instance is running and accessible +- Check that the host URL and port are correct: - Local instances typically use `http://localhost:8181` - - {{% show-in "cloud-serverless,cloud-dedicated" %}}{{% product-name %}} instances use cluster-specific URLs{{% /show-in %}} + - {{% show-in "cloud-serverless,cloud-dedicated" %}}{{% product-name %}} instances use cluster-specific URLs with port `443`{{% /show-in %}} +- Ensure `UseEncryption` is configured correctly for your connection type +- Verify network connectivity and firewall rules allow connections on the specified port - Ensure your token has query permissions for the specified database -- Verify firewall rules allow connections on the specified port ### Authentication errors If authentication fails: - Verify your database token is valid and not expired -- {{% show-in "enterprise" %}}Ensure the token has permissions for the target database{{% /show-in %}} -- Check that you entered the token in the **Password** field +- Ensure the token is specified correctly (in the **Password** field for Power BI) +- {{% show-in "enterprise" %}}Verify the token has query permissions for the target database{{% /show-in %}} +- Check that the token was copied correctly without extra spaces or characters - Leave the **Username** field blank or enter any value +### Query errors + +If queries fail or return errors: + +- Verify SQL syntax is correct for InfluxDB SQL +- Check that referenced tables (measurements) exist in the database +- Ensure column names match your schema +- Review the [SQL reference](/influxdb3/version/reference/sql/) for supported features +- For large result sets, consider adding `LIMIT` clauses + ### Query performance For better query performance: - Always use `WHERE` clauses to filter data before loading -- Include time range filters to limit the data scanned +- Include time range filters (for example, `WHERE time >= now() - INTERVAL '7 days'`) to limit the data scanned - Select only the columns you need - Use the `LIMIT` clause to restrict result size - Consider using **DirectQuery** mode instead of **Import** for large datasets +- Monitor query execution for optimization opportunities