MSSQL
The MSSQL connector lets Tabsdata run queries against MSSQL and write tables into MSSQL.
The MSSQLSrc connector can be used by a publisher function to read data from MSSQL into a Tabsdata table.
The MSSQLDest connector can be used by a subscriber function to write data from a Tabsdata table into MSSQL.
Publisher
The MSSQLSrc connector can be used by a publisher function to read data from MSSQL into a Tabsdata table. See the full publisher walkthrough
Connection
MSSQL publishers use MSSQLSrcConn to define the database connection and credentials used by the publisher.
kind: connectionDef
apiVersion: '1.0'
type: tabsdatak.conn.mssql:MSSQLSrcConn
spec:
uri: 'mssql+pyodbc://db.internal:1433/world'
credentials:
kind: userPasswordCredentials
apiVersion: '1.0'
type: tabsdatak.conn.common.types:UserPassword
spec:
user: 'secret:tabsdata_reader'
password: 'secret:example-password'
- required
- required
- optional
- optional
Connection Config Parameters
uri
The SQLAlchemy-style connection URI: mssql+pyodbc://host:port/database. Written as a plain value here, but accepts secret: too.
credentials
The database user and password, spliced into the URI at connect time. UserPassword requires a user and password.
entity_whitelist
Limits which source tables are discovered (registered in the collection's table catalog) when the source collection is created: a YAML list of regular expressions, not a comma-separated string. A table is kept if it matches any pattern. Omit it entirely to discover every table in the database.
conn_cfg
Driver-side options forwarded to the connection as SQLAlchemy connect_args.
Publisher
Configure MSSQLSrc as the source of a publisher function to select the queries that Tabsdata runs against MSSQL.
from tabsdatak.api import publisher
from tabsdatak.conn.mssql import MSSQLSrc
@publisher(
source=MSSQLSrc(
queries=[
"SELECT * FROM orders",
],
),
output_tables=["orders"],
)
def publish_orders(orders):
return orders
- required
- optional
- optional
Function Config Parameters
queries
Defines the SQL queries the publisher runs against MSSQL.
Each element in queries represents one source slot and maps positionally to an argument in the publisher function.
For example:
MSSQLSrc(
queries=[
"SELECT * FROM country",
"SELECT * FROM city",
],
)
initial_values
Values substituted into {placeholder}-style tokens inside queries, so one publisher can read the same tables out of a different schema or catalog without the SQL changing.
src_cfg
Sets additional source configuration.
Subscriber
The MSSQLDest connector can be used by a subscriber function to write data from a Tabsdata table into MSSQL. See the full subscriber walkthrough
Connection
MSSQL subscribers use MSSQLDestConn to define the database connection and credentials used by the subscriber.
kind: connectionDef
apiVersion: '1.0'
type: tabsdatak.conn.mssql:MSSQLDestConn
spec:
uri: 'mssql+pyodbc://db.internal:1433/warehouse'
credentials:
kind: userPasswordCredentials
apiVersion: '1.0'
type: tabsdatak.conn.common.types:UserPassword
spec:
user: 'secret:tabsdata_reader'
password: 'secret:example-password'
- required
- required
- optional
- optional
Connection Config Parameters
uri
The SQLAlchemy-style connection URI: mssql+pyodbc://host:port/database. Written as a plain value here, but accepts secret: too.
credentials
The database user and password, spliced into the URI at connect time. UserPassword requires a user and password.
entity_whitelist
Limits which destination tables are discovered (registered in the collection's table catalog) when the destination collection is created: a YAML list of regular expressions, not a comma-separated string. A table is kept if it matches any pattern. Omit it entirely to discover every table in the database.
conn_cfg
Driver-side options forwarded to the connection as SQLAlchemy connect_args.
Subscriber
Configure MSSQLDest as the destination of a subscriber function to define which tables Tabsdata writes in MSSQL.
from tabsdatak.api import subscriber
from tabsdatak.conn.mssql import MSSQLDest
@subscriber(
destination=MSSQLDest(
tables=[
"orders",
],
),
input_tables=["orders"],
)
def write_orders(orders):
return orders
- required
- optional
- optional
Function Config Parameters
tables
Defines the destination tables the subscriber writes to in MSSQL.
Each element in tables represents one destination slot and maps positionally to a value returned by the subscriber function.
For example:
MSSQLDest(
tables=[
"vendors",
"items",
],
)
if_table_exists
Controls what happens when the destination table already has rows. "append" (the default) keeps inserting into the existing rows. "replace" truncates the table before inserting. Neither mode changes the destination table's schema, so the returned frame's columns need to match the table MSSQL already has.
dest_cfg
Sets additional destination configuration.