# Setting up NetSuite SuiteAnalytics Connect for ODBC and JDBC access

> Source: https://netray.co/erp-help/netsuite-suiteanalytics-connect-odbc-setup
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: ERP Help

## Short answer

SuiteAnalytics Connect is a separately licensed feature that exposes a read-only relational view of NetSuite data over ODBC or JDBC for BI tools like Power BI, Tableau and Excel. Setup means enabling the feature, downloading the driver, configuring a DSN against the account's connect host, and using a role with the SuiteAnalytics Connect permission.

## Kind

advanced

## System

netsuite

## Erp

Oracle NetSuite

## Module

SuiteAnalytics Connect

## Query

how to connect to NetSuite with SuiteAnalytics Connect ODBC driver

## Alternate Queries

- netsuite odbc driver power bi connection setup
- suiteanalytics connect dsn configuration
- netsuite odbc query timeout error
- netsuite analytics connect vs saved search performance

## Applies To

NetSuite editions with SuiteAnalytics Connect provisioned (Enterprise/Ultimate tiers or purchased add-on), ODBC and JDBC drivers for Windows, macOS and Linux BI clients

## Steps

### Set up SuiteAnalytics Connect for BI access

**Items:**

Confirm the account has SuiteAnalytics Connect provisioned; it is a licensed add-on, not something every account can simply enable at Setup > Company > Enable Features > SuiteCloud without it being purchased.

Download the correct driver (ODBC for Windows/Power BI/Tableau Desktop, JDBC for Java-based BI or ETL tools) from the link under Setup > Integration > SuiteAnalytics Connect (or Setup > Company > Enable Features if using the newer flow), matching your NetSuite account's driver version.

Install the driver on the machine or server that will run the BI tool, not on end users' machines individually if you are centralizing reports on a server.

Create a role (or reuse an existing one) with the 'SuiteAnalytics Connect' permission under Setup, plus view permission on whatever record types the reports need.

Configure a DSN (Windows ODBC Data Source Administrator, or the equivalent on macOS/Linux) with the host in the form ACCOUNTID.connect.api.netsuite.com, the account ID (with the sandbox suffix if applicable), and either TBA credentials or email/password plus role ID for authentication depending on the driver version.

Test the DSN connection before pointing a BI tool at it; a successful test confirms host, port (typically 1708 for the native protocol or the driver's documented port) and credentials are all correct.

In Power BI, Tableau or Excel, connect via the ODBC data source you created and browse the exposed table list, which mirrors NetSuite record types (Transaction, TransactionLine, Customer, Item and many joined views) rather than raw internal database tables.

Write SQL against these tables using standard SELECT/JOIN/WHERE syntax; SuiteAnalytics Connect is read-only, so there is no INSERT/UPDATE/DELETE support.

## Sections

### What SuiteAnalytics Connect actually exposes

**Body:**

Rather than a raw dump of NetSuite's internal database schema, Connect exposes a curated, documented relational layer: tables like Transaction, TransactionLine, Customer, Item, Account and many joined or derived views, plus your account's custom fields as additional columns on the relevant table.

This layer is read-only by design; it is meant for reporting and analytics, not for writing data back into NetSuite. Any write-back requirement needs SuiteTalk REST/SOAP or SuiteScript instead.

Saved searches can also be exposed as their own queryable objects through Connect, which is useful when a saved search already encodes business logic (filters, formula columns) that would otherwise need to be reproduced in the BI tool's own query layer.

### Why big pulls time out or run slowly

**Body:**

TransactionLine in particular can be enormous in a mature NetSuite account, and a BI tool that tries to pull the whole table with no filters, or that joins several large tables without a selective WHERE clause, commonly hits query timeouts or takes long enough to look hung.

The practical fix is the same as with any reporting warehouse: filter by date range and subsidiary/business unit at the query level rather than pulling everything and filtering in the BI tool, and prefer incremental pulls (only new/changed rows since the last extract, using lastmodifieddate) for scheduled refreshes instead of full reloads every time.

**Code:**

SELECT t.tranid, t.trandate, tl.item, tl.quantity, tl.netamount
FROM transaction t
JOIN transactionline tl ON tl.transaction = t.id
WHERE t.trandate >= TO_DATE('2026-01-01','YYYY-MM-DD')
  AND t.type = 'SalesOrd'

### Common connection failures

**Body:**

A connection that fails immediately is usually the host (wrong account ID or missing sandbox suffix), the port, or a firewall blocking outbound access from the BI server to NetSuite's connect endpoint on the required port.

A connection that succeeds but every query fails with a permission error usually means the role used for the DSN lacks the SuiteAnalytics Connect permission itself, view access to specific record types, or both; check the role, not just the user's login credentials.

## Pitfalls

- Assuming SuiteAnalytics Connect is available on every NetSuite edition; it requires specific provisioning.
- Pulling entire large tables (especially TransactionLine) without date or business unit filters and blaming NetSuite for slow BI refreshes.
- Using a broad administrator role for the DSN instead of a scoped reporting role, which is both a security risk and slower due to unnecessary field-level permission checks.
- Not accounting for driver version mismatches after a NetSuite release upgrade, which can break previously working DSNs until the driver is updated.
- Trying to write data back through the ODBC connection, which is not supported since Connect is read-only.

## Ai Angle

For teams that already have SuiteAnalytics Connect wired into a warehouse or BI tool, ERPray can be grounded directly on those same read-only tables and answer ad hoc business questions in natural language without anyone hand-writing a new SQL join every time, while still respecting the same role-based data access the ODBC connection uses.

## Faq

### Is SuiteAnalytics Connect included with every NetSuite subscription?

**Answer:** No, it is a separately licensed feature typically available on higher editions or as a purchased add-on. Accounts without it provisioned will not see the feature usable even if the checkbox appears to exist in Enable Features.

### Can I use SuiteAnalytics Connect to update NetSuite records?

**Answer:** No, it is strictly read-only. Any write operations need to go through SuiteTalk REST or SOAP web services, RESTlets, or SuiteScript instead of the ODBC/JDBC connection.

### Why do custom fields not show up in the ODBC table list?

**Answer:** Custom fields need to be exposed to SuiteAnalytics before they appear as queryable columns; check the custom field's 'Available for SuiteAnalytics' or equivalent checkbox on its definition, since not every custom field is exposed by default.

### What is the difference between using saved searches and raw SQL through Connect?

**Answer:** A saved search already encapsulates filters and formulas as configured in NetSuite's UI, so querying it through Connect reuses that logic. Raw SQL against the base tables gives full flexibility but means reproducing any business logic that a saved search would otherwise provide for free.

## Search terms

suiteanalytics connect odbc setup, netsuite odbc driver power bi, netsuite jdbc connection tableau, suiteanalytics connect dsn, netsuite connect.api.netsuite.com, netsuite odbc query timeout, netsuite transactionline table, suiteanalytics connect permission, netsuite read only reporting connection

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
