SQL Server Integration Services source configuration
The Source configuration field in theSQL Server Integration Services (SSIS) technical lineage Edge capability allows you to map the systems names of databases and connections in SSIS to the names of System assets in Data Catalog.
Tip If you previously integrated SQL Server Integration Services via the lineage harvester (deprecated), you can copy and paste the JSON code from your <source ID> configuration file into the Source configuration field.
The value of the Source configuration field must be a valid block of JSON code, for example:
{
"DataSources": {
"dhb-sql-prod": {
"dialect": "mssql",
"collibraSystemName": "my-system-name"
}
},
"ConnStringRegExTranslation": {
"Data Source=dhb-sql-prod;Initial Catalog=SFG_repl_staging;Provider=SQLNCLI11;Integrated Security=SSPI.*": {
"dbname": "DATAHUB",
"schema": "DBO",
"dialect": "mssql",
"collibraSystemName" : "WAREHOUSE"
},
"Server=sb-dhub;User ID=SYS_USER;Initial Catalog=STAGEDB;Port=6306.*": {
"dbname": "STAGEDB",
"schema": "STAGE_OWNER",
"dialect": "sybase",
"collibraSystemName" : ""
}
}
}
The following sections describe the properties you can use in your JSON code block.
DataSources
Use DataSources to map a connection name to a Collibra system name and dialect. The connection name must match the name as it appears in your SSIS connection manager. If you define the same connection in both DataSources and ConnStringRegExTranslation, the ConnStringRegExTranslation definition takes precedence.
|
Property |
Description | Required? |
|---|---|---|
|
DataSourceName |
The name of your data source. |
|
|
dialect
|
The dialect of the database. If you omit this property, SSIS connections are parsed as SQL Server ( See the list of allowed values.
You can enter one of the following values:
|
|
|
collibraSystemName
|
The system or server name of the data source. Use this property to override the default Collibra System asset name for this data source. |
|
ConnStringRegExTranslation
Use ConnStringRegExTranslation to map a connection string to connection details. Definitions in this section take precedence over DataSources.
If a connection string does not match any pattern in this section and has no corresponding entry in DataSources, it remains unresolved and appears as UNDEFINED on the technical lineage source status page. To resolve unresolved connections, go to Resolving a CONFIGURATION analyze error.
|
Property |
Description | Required? |
|---|---|---|
|
<regular expression> |
A regular expression pattern that must match one or more connection strings. When you define the pattern:
See the examples
Example 1: Shortened pattern Connection string in the SSIS package:
Regular expression:
The pattern starts with the same prefix as the connection string ( Example 2: Complete escaped key Connection string in the SSIS package:
Regular expression:
The backslash in the named instance and the dot in the provider version are each escaped for both the regular expression and JSON. The key matches the full connection string without |
|
|
dbname |
The name of your database, to which the data source connection refers. |
|
|
schema
|
The name of your schema, to which the regular expression refers. |
|
|
dialect
|
The dialect of the database. See the list of allowed values.
You can enter one of the following values:
If you omit this property, SSIS connections are parsed as SQL Server ( |
|
|
collibraSystemName
|
The system or server name of the data source. Use this property to override the default Collibra System asset name for this data source. |
|
Resolving a CONFIGURATION analyze error
If the technical lineage source status page shows a CONFIGURATION analyze error for your SSIS source, expand the error to find the unresolved connections and a snippet for each one:
# Please, define 'UNDEFINED' values in your configuration file
# Move these entries into the 'ConnStringRegExTranslation' section of
# your connection_definitions.conf, keeping the entries and sections it already
# has, and leave these '#' lines behind - they are not valid JSON. Keys of that
# section are regular expressions, so the connection strings below are escaped
# to match as they are.
{
"ConnStringRegExTranslation": {
"Data Source=SQLPROD01\\\\FINANCE;Initial Catalog=DW_Staging;Provider=SQLNCLI11\\.1;Integrated Security=SSPI;": {
"collibraSystemName": "UNDEFINED",
"dbname": "DW_Staging",
"dialect": "mssql",
"schema": "UNDEFINED"
}
}
}
Copy only the JSON object. Consider the following:
- Do not copy the lines that start with
#, as they are not valid JSON. - The JSON snippets provided in the analyze error are already escaped as required. You don't need to escape the regular expression patterns manually.
- Do not modify the connection string key or append
.*. Replace eachUNDEFINEDvalue with the appropriate value.
{
"ConnStringRegExTranslation": {
"Data Source=SQLPROD01\\\\FINANCE;Initial Catalog=DW_Staging;Provider=SQLNCLI11\\.1;Integrated Security=SSPI;": {
"collibraSystemName": "finance-warehouse",
"dbname": "DW_Staging",
"dialect": "mssql",
"schema": "dbo"
}
}
}
Then add this entry to the ConnStringRegExTranslation section of your Source configuration, keeping any existing entries:
{
"DataSources": {
"analytics-db": {
"dialect": "mssql",
"collibraSystemName": "analytics-system"
}
},
"ConnStringRegExTranslation": {
"Data Source=SQLPROD01\\\\FINANCE;Initial Catalog=DW_Staging;Provider=SQLNCLI11\\.1;Integrated Security=SSPI;": {
"collibraSystemName": "finance-warehouse",
"dbname": "DW_Staging",
"dialect": "mssql",
"schema": "dbo"
},
"Server=reporting-db;User ID=SYS_USER;Initial Catalog=REPORTS;Port=6306.*": {
"dbname": "REPORTS",
"schema": "dbo",
"dialect": "sybase",
"collibraSystemName": "reporting-system"
}
}
}