Help · section 28 of 44

ODBC Sync (non-SQL-Server sources)

Mirrors the in-app Help. The live copy in your console and `dlake guide help` are always current.

When the customer’s source is not Microsoft SQL Server, the ODBC sync agent bridges it: running on the customer’s premises, it reads the source over ODBC and stages the data through an S3 bucket into an intermediary database, which Normal Sync then moves into the clone tables. Both agents run on an ODBC customer; this surface configures the ODBC half — where the agent writes, who may reach the bucket, and how the agent behaves.

The odbcsync_* admin tools cover it end to end: odbcsync_status (the customer’s record plus the merged bucket registry), odbcsync_register_bucket (record a bucket name — confirm-gated: nothing verifies the name in AWS and no API call can remove a registry row), odbcsync_ip_allowlist / odbcsync_allow_ip (read and extend the bucket policy’s IP condition — until the customer’s IP is admitted the agent cannot upload a single file), odbcsync_read_agent_config / odbcsync_save_agent_config (the agent’s BridgeClient.exe.config in the bucket, with a per-bucket status on read and change-only semantics on save), and the two verification reads: odbcsync_bucket_data (what the agent has actually staged) and odbcsync_errors (the last 24 hours of sync errors).

dlake admin odbcsync_status --profile <tenant>
dlake admin odbcsync_allow_ip --profile <tenant> --bucketName sync-acme --ipAddress 203.0.113.9 --confirm true
dlake admin odbcsync_read_agent_config --profile <tenant>

Two things deserve care. The config read returns ten sensitive settings encrypted (AWS keys, SMTP, the source connection string) and the save writes verbatim — so echoing an unchanged sensitive value back would store ciphertext where the agent expects plaintext; odbcsync_save_agent_config refuses such a batch unless allowSensitive: true states you are supplying a new plaintext value. And configuring ODBC is necessary but not sufficient — the ERP connector flags, the agent install and Normal Sync’s table selection are separate; dlake normalsync readiness reports ODBC Sync as its own phase. The deeper guide is the dlake-odbcsync skill.