target-mssql
is a Singer target for Microsoft SQL Server databases. With changes to ensure compatibility with sql server 2012
Build with the Meltano Target SDK.
- Objects and arrays are converted to strings, as writing json/arrays isn't supported in the underlying library that is used.
- Does not handle encoded strings
Install from Meltano:
meltano add loader target-mssql
Install from PyPi:
pipx install target-mssql
Install from GitHub:
pipx install git+https://github.com/storebrand/target-mssql.git@main
Regarding connection info, either the sqlalchemy_url
or username
, password
, host
, and database
needs to be specified. If the sqlalchemy_url
is set, the other connection parameters are ignored.
about
stream-maps
schema-flattening
Setting | Required | Default | Description |
---|---|---|---|
sqlalchemy_url | False | None | SQLAlchemy connection string |
username | False | None | SQL Server username |
password | False | None | SQL Server password |
host | False | None | SQL Server host |
port | False | 1433 | SQL Server port |
database | False | None | SQL Server database |
default_target_schema | False | None | Default target schema to write to |
table_prefix | False | None | Prefix to add to table name |
prefer_float_over_numeric | False | 0 | Use float data type for numbers (otherwise number type is used) |
stream_maps | False | None | Config object for stream maps capability. For more information check out Stream Maps. |
stream_map_config | False | None | User-defined config values to be used within map expressions. |
flattening_enabled | False | None | 'True' to enable schema flattening and automatically expand nested properties. |
flattening_max_depth | False | None | The max depth to flatten schemas. |
A full list of supported settings and capabilities for this target is available by running:
target-mssql --about
This Singer target will automatically import any environment variables within the working directory's
.env
if the --config=ENV
is provided, such that config values will be considered if a matching
environment variable is set either in the terminal context or in the .env
file.
You can easily run target-mssql
by itself or in a pipeline using Meltano.
target-mssql --version
target-mssql --help
# Test using the "Carbon Intensity" sample:
tap-carbon-intensity | target-mssql --config /path/to/target-mssql-config.json
Follow these instructions to contribute to this project.
pipx install poetry
poetry install
Create tests within the target_mssql/tests
subfolder and
then run:
poetry run pytest
You can also test the target-mssql
CLI interface directly using poetry run
:
poetry run target-mssql --help
Testing with Meltano
Note: This target will work in any Singer environment and does not require Meltano. Examples here are for convenience and to streamline end-to-end orchestration scenarios.
Next, install Meltano (if you haven't already) and any needed plugins:
# Install meltano
pipx install meltano
# Initialize meltano within this directory
cd target-mssql
meltano install
Now you can test and orchestrate using Meltano:
# Test invocation:
meltano invoke target-mssql --version
# OR run a test `elt` pipeline with the Carbon Intensity sample tap:
meltano elt tap-carbon-intensity target-mssql
See the dev guide for more instructions on how to use the Meltano SDK to develop your own Singer taps and targets.