I have a Teradata SQL query that has over 20 separate SELECT queries all separated by UNION ALL. This query runs fine in SQL Assistant. I am wanting to set up an automated SSIS pull from Teradata using this SQL. I am using an ADO.NET task in my Data Flow area with "SQL" as the Data access mode. When I input my SQL in the box, I get this error:
TITLE: Microsoft Visual Studio
Error at Data Flow Task [TIRKS EDW [1]]: System.Data.Odbc.OdbcException: ERROR [42000] [Teradata][ODBC Teradata Driver][Teradata Database] Syntax error, expected something like an 'END' keyword between ')' and the word 'en'.
at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod)
at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader)
at System.Data.Odbc.OdbcCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Odbc.OdbcCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.ReinitializeMetaData()
at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostReinitializeMetaData(IDTSManagedComponentWrapper100 wrapper)
ADDITIONAL INFORMATION:
ERROR [42000] [Teradata][ODBC Teradata Driver][Teradata Database] Syntax error, expected something like an 'END' keyword between ')' and the word 'en'. (TDATA32.DLL)
BUTTONS:
OK
However, if I reduce my SQL to only two Selects with one UNION ALL separator, it will run fine. Again, my SQL with over 20 SELECT/UNION ALL will run fine outside of SSIS. So I suspect it is something within SSIS. Any ideas?