In this article
...
You can use this Snap to execute arbitrary SQL query. This Snap supports SQL Server 2008 or a later version.
This Snap works only with single queries.
Valid JSON paths that are defined in the WHERE clause for queries/statements will be substituted with values from an incoming document. Documents are written to the error view if the document is missing a value to be substituted into the query/statement. If a SELECT query is executed, the query's results are merged into the incoming document and any existing keys will have their values overwritten. On the other hand, the original document is written if there are no results from the query. If an output view is available and an UPDATE/INSERT/MERGE/DELETE statement was executed, then the original document that was used to create the statement will be output with the status of the statement executed.
...
Field Name | Field Type | Description | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Label* Default Value: SQL Server - Execute | String | Specify the name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your Pipeline. | |||||||||||||||||||||||||
SQL statement* Default Value: N/A | String/Expression | Specify the SQL statement to execute on the server.
Examples:
Single quotes in values must be escapedAny relational database (RDBMS) treats single quotes ( For example:
| |||||||||||||||||||||||||
Query type Default Value: Auto | Dropdown list/Expression | Select the type of query for your SQL statement (Read or Write). When Auto is selected, the Snap tries to determine the query type automatically. | |||||||||||||||||||||||||
Pass through Default Value: Selected | Checkbox | Select this checkbox to pass the input document to the output view under the key 'original'. This property applies only to the Execute Snaps with SELECT statement. | |||||||||||||||||||||||||
Ignore empty result Default Value: Deselected | Checkbox | Select this checkbox to ignore empty result; no document is written to the output view when a SELECT operation does not produce any result. | |||||||||||||||||||||||||
Number of retries Default Value: 0 | Integer/Expression | Specify the maximum number of attempts to be made to receive a response. The request is terminated if the attempts do not result in a response. Ensure that the local drive has sufficient free disk space to store the temporary local file. | |||||||||||||||||||||||||
Retry interval (seconds) Default Value: 1 | Integer/Expression | Specify the time interval between two successive retry requests. A retry happens only when the previous attempt resulted in an exception. | |||||||||||||||||||||||||
Auto commit Default value: Use account setting | Dropdown list | Select one of the options for this property to override the state of the Auto commit property on the account. The Auto commit at the Snap-level has three values: True, False, and Use account setting. The expected functionality for these modes are:
'Auto commit' may be enabled for certain use cases if PostgreSQL jdbc driver is used in either Redshift, PostgreSQL or generic JDBC Snap. But the JDBC driver may cause out of memory issues when Select statements are executed. In those cases, “Auto commit" in Snap property should be set to ‘False’ and the Fetch size in the “Account setting" can be increased for optimal performance.
| |||||||||||||||||||||||||
Default Value: Execute only | Dropdown list |
|
...
Error | Reason | Resolution |
---|---|---|
| Incorrect syntax near 'GO'. | Rewrite the query without ‘GO’ and run it. |
Example
In this example, we have a table named "customer1" that stores user details. It has the columns: product, phoneno, customername, city, country. We will execute the query and retrieve customers with given name.
...