- - When you change the storage type in a Microsoft Azure Synapse SQL connection in an existing mapping, you must either refresh that mapping or create a new mapping to display the source and target properties for the updated storage type.
- - When you use Microsoft Azure Data Lake Storage Gen2 or Microsoft Azure Blob Storage to stage files in Microsoft Azure Synapse SQL mapping, consider the following guidelines:
- ▪ You can specify the Microsoft Azure Data Lake Storage Gen2 file system name and Microsoft Azure Blob Storage container name at the connection level for all mappings that use the Microsoft Azure Synapse SQL connection. You can override file system name and container name specified in the connection from the advanced source or target properties.
- ▪ You must specify the file system name and container name either in the connection or in the advanced source or target properties. If you specify at both the places, the Secure Agent considers values that you specify in the advanced properties.
- - When you use Microsoft Azure Data Lake Storage Gen2 to stage files in Microsoft Azure Synapse SQL mapping, consider the following guidelines:
- ▪ You can use managed identity authentication for Microsoft Azure Data Lake Storage Gen2 to stage files only when you run a mapping to read data from a Microsoft Azure Synapse SQL source or Microsoft Azure Data Lake Storage Gen2 source.
- ▪ If the object ID for the system assigned identity is reset in the Azure portal, you must delete and recreate the user.
- - You can use role-based access control or access control lists to authenticate access to the storage account for Microsoft Azure Data Lake Storage Gen2. Consider the following rules and guidelines when you use managed identity authentication with role-based access control or access control lists:
- ▪ You cannot use both role-based access control and access control lists for the same storage account.
- ▪ When you use access control lists, assign the read, write, and execute permissions to Microsoft Azure Synapse SQL to access the file system.
- ▪ Assign read, write, and execute permissions to Microsoft SQL Server to access the file system.
- ▪ If you enable system assigned identity, assign the required role or permissions to the Azure virtual machine to run the mappings and tasks.
If you enable user assigned identity, assign the required role or permissions to the Azure virtual machine and the user assigned identity to run the mappings and tasks.
- - When you connect to a Microsoft Azure Synapse SQL case-sensitive database and if a mapping uses multiple sources or targets, ensure that the sources or targets do not have the same name.
- - When you specify the external data source, the container or file system used by the external data source is used for staging data. The container or file system specified in the connection properties or advanced properties is not considered for staging data.
- - The session load summary in the session log is not captured for each commit interval.
- - When you use an ODBC connection to connect to Microsoft Azure Synapse SQL, do not use the MERGE statement in the pre-SQL or post-SQL query. Else, the mapping task fails.
- - When the source fields are empty, the Secure Agent writes the empty values as NULL in the target.
- - When you use the $$$SESSSTARTTIME variable in an SQL query, the variable returns the session start time as a string value.
Use the following syntax to convert the string values to datetime:
SELECT CAST(CONVERT(VARCHAR,SUBSTRING('$$$SESSSTARTTIME',0,20),113) as datetime)
Use the following syntax to convert the string values to date:
SELECT CAST(CONVERT(VARCHAR,SUBSTRING('$$$SESSSTARTTIME',0,20),113) as date)
- - When you use a custom query, SQL override, or update override for Uniqueidentifier fields, you must convert the Uniqueidentifier data type to string data type. Else, the mapping fails.
For example, when you use Select * from uid.NEWID_TEST2;, the mapping fails.
Use the following SQL query:
Select CONVERT(CHAR(36),ID) AS ID, TESTCOLUMN from uid.NEWID_TEST2;
- - When you use a custom query for Time field and select Parquet as the staging file format, you must convert the Time data type to nchar data type. Else, the mapping fails.
For example, Select CONVERT(nchar(16),[TIME]) AS [TIME] FROM [AzureDW_DIatScale].[TimeNUUID];
- - When you run a mapping to write float or real data types, the source and target data don't match in some cases. The values written to the target are approximate and not the same as in the source. To write the exact values, map real and float data types with numeric or decimal data types.
- - To use the IS NULL and IS NOT NULL operators in a source filter or an uncached lookup, set the following property as a JVM option under the DTM type in the Secure Agent properties:
-DENABLE_NULL_FLAG_FOR_UNCACHED_LOOKUP=true
- - When you define a Not Parameterized filter condition with IS NULL or IS NOT NULL operators, the mapping fails with the following error:
- ▪ Operation failed: Invalid expression string for filter condition
You must define an advanced filter condition to use IS NULL or IS NOT NULL operators to filter rows that contain null values.
- - When you use pre-SQL and post-SQL queries in a Microsoft Azure Synapse SQL mapping and a runtime error is encountered, the mapping fails if you have configured the following property in the JVM options of the Secure Agent:
- ▪ -DAzureSynapseFailOnPrePostSQLError=true
If you don't configure this property, the mapping does not display an error and runs successfully.
- - Use only non-UTF8 collation when you create a database in Microsoft Azure Synapse SQL.