Skip to content

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.

Values come from config.toml (installed as C:\ProgramData\SyntraODBC\config.toml). A fresh install has:

ParameterDefaultNotes
Host127.0.0.1Set [server].host = "0.0.0.0" in config.toml to accept non-local clients.
Port5433[server].port.
DatabaseqbconnectFixed — always qbconnect.
Usernameqbconnect[auth].username. Change in production.
Passwordchangeme[auth].password. Change it.
SSLoffTurn on with [server].tls_cert / tls_key, then pass SSLMode=require on the client.
DSN=Syntra QuickBooks

That’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>;

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;

Every supported language connects through the same ODBC driver. The snippets below show the idiomatic approach per ecosystem.

Imports System.Data.Odbc
Using conn As New OdbcConnection("DSN=Syntra QuickBooks")
conn.Open()
' ...
End Using

Driver-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 Using
using System.Data.Odbc;
using var conn = new OdbcConnection("DSN=Syntra QuickBooks");
conn.Open();
Terminal window
$conn = New-Object System.Data.Odbc.OdbcConnection "DSN=Syntra QuickBooks"
$conn.Open()
# $conn.CreateCommand(), ...
$conn.Close()
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;"
)
const odbc = require("odbc");
const conn = await odbc.connect("DSN=Syntra QuickBooks");
import (
"database/sql"
_ "github.com/alexbrainman/odbc"
)
db, err := sql.Open("odbc", "DSN=Syntra QuickBooks")
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.

Names are case-insensitive. Recognised parameters:

ParameterExamplePurpose
DSNSyntra QuickBooksNamed DSN lookup — pulls values from the registry
Driver{Syntra ODBC - QuickBooks ODBC}Driver lookup — use with driver-direct strings
Server / Host127.0.0.1Syntra host
Port5433Syntra port
DatabaseqbconnectAlways qbconnect
Uid / UsernameqbconnectFrom [auth].username
Pwd / PasswordchangemeFrom [auth].password
SSLModedisable / allow / prefer / requireTLS mode; server must be TLS-enabled for require
Timeout10Connect timeout in seconds
ReadOnlytrueReject writes at the driver layer

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}.

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.).

Syntra binds to 127.0.0.1 by default, which rejects non-local clients.

  1. Edit C:\ProgramData\SyntraODBC\config.toml → set [server].host = "0.0.0.0".
  2. Open TCP port 5433 in Windows Firewall (and any upstream firewall).
  3. Restart the Syntra service.
  4. Strongly recommended: enable TLS ([server].tls_cert + tls_key) and use SSLMode=require from 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.