Skip to main content

Connector Details

Tap MSSQL

Config

tap-mssql requires the following connection parameters to be specified in the config:

Example ETL Script

Optional config flags

The sqlalchemy_url_query Option

When using pyodbc as the driver_type, you can pass ODBC-specific options. This is useful when connecting via Azure Active Directory or when certificate trust settings are required:

The sqlalchemy_eng_params Option

Enable fast_executemany to significantly reduce round trips to the server and improve bulk insert performance:

Connecting to Microsoft Fabric Warehouse

Use an Entra service principal to connect to Microsoft Fabric Warehouse — no username/password required.
Follow the steps below to set up service principal authentication for Microsoft Fabric.

1. Register an app in Entra ID

  • Navigate to the Azure Portal and go to Azure Active DirectoryApp registrationsNew registration
  • Give the app a name (e.g., tap-mssql-fabric) and select Single tenant
  • Click Register

2. Get your Client ID

  • On the app’s Overview page, copy the Application (client) ID
  • This value will be used as user in the tap config

3. Create a client secret

  • Go to ManageCertificates & secretsNew client secret
  • Add a description and choose an expiry period, then click Add
  • Copy the secret Value immediately — it is only shown once and will be used as password in the tap config
If you lose the client secret value, you will need to create a new secret.

4. Grant the app access to Fabric

  • Open your workspace in Microsoft Fabric
  • Add the app as a member with at minimum a Viewer role
  • Confirm the app has access to both the workspace and the specific database in your config

5. Get the warehouse host

  • In Microsoft Fabric, open your workspace and select the Warehouse
  • Go to Settings (gear icon) → SQL Endpoint
  • Copy the SQL connection string — it follows this format: <warehouse-id>.datawarehouse.fabric.microsoft.com

Config for Fabric with Entra service principal


Target MSSQL

target-mssql is a Singer Target that loads data from your integrations into a Microsoft SQL Server database.

Config

You can configure the target using one of two approaches:

Option 1: Connection String

Use a single connection string that includes all database details:
If your password contains special characters, URL-encode them (e.g., @ becomes %40).

Option 2: Individual Connection Parameters

Specify each connection detail separately:

Additional Settings

Per-Stream Configuration

For advanced control over specific tables, create a target-tables-config.json in the directory specified by input_path.
Options per stream:

Configuration Examples

Basic Setup

With Per-Stream Control

Then create target-tables-config.json in ./etl-output: