Connection Strings
Syntra’s bundled ODBC driver is the single connection surface for every client. The installer registers it under these names:
- Driver:
Syntra ODBC - QuickBooks ODBC - Default System DSN:
Syntra QuickBooks
Most applications only need the DSN name. If you need to target a second instance, a different machine, or a client that doesn’t read from the DSN registry, use a driver-direct (DSN-less) connection string.
Defaults out of the box
Section titled “Defaults out of the box”Values come from config.toml (installed as C:\ProgramData\SyntraODBC\config.toml). A fresh install has:
| Parameter | Default | Notes |
|---|---|---|
| Host | 127.0.0.1 | Set [server].host = "0.0.0.0" in config.toml to accept non-local clients. |
| Port | 5433 | [server].port. |
| Database | qbconnect | Fixed — always qbconnect. |
| Username | qbconnect | [auth].username. Change in production. |
| Password | changeme | [auth].password. Change it. |
| SSL | off | Turn on with [server].tls_cert / tls_key, then pass SSLMode=require on the client. |
DSN reference
Section titled “DSN reference”DSN=Syntra QuickBooksThat’s the whole string for the default install — credentials and server address come from the DSN registry entry the installer wrote. You can override any parameter inline by appending it:
DSN=Syntra QuickBooks;Uid=reporting_user;Pwd=<their-password>;Driver-direct (DSN-less)
Section titled “Driver-direct (DSN-less)”Use when the DSN isn’t registered, when you want to target a non-default port/host, or when you want to embed everything in application config.
Driver={Syntra ODBC - QuickBooks ODBC};Server=127.0.0.1;Port=5433;Database=qbconnect;Uid=qbconnect;Pwd=changeme;With TLS (requires tls_cert / tls_key configured on the server):
Driver={Syntra ODBC - QuickBooks ODBC};Server=127.0.0.1;Port=5433;Database=qbconnect;Uid=qbconnect;Pwd=changeme;SSLMode=require;Language examples
Section titled “Language examples”Every supported language connects through the same ODBC driver. The snippets below show the idiomatic approach per ecosystem.
VB.NET
Section titled “VB.NET”Imports System.Data.Odbc
Using conn As New OdbcConnection("DSN=Syntra QuickBooks") conn.Open() ' ...End UsingDriver-direct:
Dim cs As String = "Driver={Syntra ODBC - QuickBooks ODBC};Server=127.0.0.1;Port=5433;" & "Database=qbconnect;Uid=qbconnect;Pwd=changeme;"Using conn As New OdbcConnection(cs) conn.Open()End UsingC# / .NET
Section titled “C# / .NET”using System.Data.Odbc;
using var conn = new OdbcConnection("DSN=Syntra QuickBooks");conn.Open();PowerShell
Section titled “PowerShell”$conn = New-Object System.Data.Odbc.OdbcConnection "DSN=Syntra QuickBooks"$conn.Open()# $conn.CreateCommand(), ...$conn.Close()Python (pyodbc)
Section titled “Python (pyodbc)”import pyodbc
conn = pyodbc.connect("DSN=Syntra QuickBooks")# or driver-direct:conn = pyodbc.connect( "Driver={Syntra ODBC - QuickBooks ODBC};" "Server=127.0.0.1;Port=5433;Database=qbconnect;" "Uid=qbconnect;Pwd=changeme;")Node.js (node-odbc)
Section titled “Node.js (node-odbc)”const odbc = require("odbc");const conn = await odbc.connect("DSN=Syntra QuickBooks");Go (alexbrainman/odbc)
Section titled “Go (alexbrainman/odbc)”import ( "database/sql" _ "github.com/alexbrainman/odbc")
db, err := sql.Open("odbc", "DSN=Syntra QuickBooks")R (RODBC)
Section titled “R (RODBC)”library(RODBC)con <- odbcDriverConnect("DSN=Syntra QuickBooks")Excel, Access, Crystal Reports, Power Query, Tableau, any other ODBC-capable tool
Section titled “Excel, Access, Crystal Reports, Power Query, Tableau, any other ODBC-capable tool”Choose Syntra QuickBooks from the ODBC data-source list. No string needed.
Parameter reference
Section titled “Parameter reference”Names are case-insensitive. Recognised parameters:
| Parameter | Example | Purpose |
|---|---|---|
DSN | Syntra QuickBooks | Named DSN lookup — pulls values from the registry |
Driver | {Syntra ODBC - QuickBooks ODBC} | Driver lookup — use with driver-direct strings |
Server / Host | 127.0.0.1 | Syntra host |
Port | 5433 | Syntra port |
Database | qbconnect | Always qbconnect |
Uid / Username | qbconnect | From [auth].username |
Pwd / Password | changeme | From [auth].password |
SSLMode | disable / allow / prefer / require | TLS mode; server must be TLS-enabled for require |
Timeout | 10 | Connect timeout in seconds |
ReadOnly | true | Reject writes at the driver layer |
Special characters in passwords
Section titled “Special characters in passwords”Key/value connection strings (both DSN-based and driver-direct) pass values through verbatim — no encoding needed. If your password contains ;, wrap it in braces: Pwd={pa;ssword}. Braces inside the value are escaped by doubling: Pwd={pa}}ss}.
Timeouts
Section titled “Timeouts”DSN=Syntra QuickBooks;Timeout=30;Default connect timeout is 15 seconds. Long-running cache syncs can exceed the default query timeout on large QB files — bump it via your client’s command-timeout API (OdbcCommand.CommandTimeout in .NET, pyodbc.Connection.timeout, etc.).
Connecting from another machine
Section titled “Connecting from another machine”Syntra binds to 127.0.0.1 by default, which rejects non-local clients.
- Edit
C:\ProgramData\SyntraODBC\config.toml→ set[server].host = "0.0.0.0". - Open TCP port 5433 in Windows Firewall (and any upstream firewall).
- Restart the Syntra service.
- Strongly recommended: enable TLS (
[server].tls_cert+tls_key) and useSSLMode=requirefrom the client. QuickBooks data and credentials should not cross a network in plaintext.
Replace 127.0.0.1 in the examples above with the Syntra host’s IP or DNS name.