I had the extreme pleasure recently to extract some data out of an Oracle database. I wrote the source query in Toad, where it executed successfully. I created my SSIS package, added the dataflow and an OLE DB Source component. I copy pasted the query into the editor and tested it using the preview. Which failed. Always a good start. The error message was useful, as always:
However, if I went to the columns tab of the source editor, all columns (and their metadata) were there. Hmmm, so SSIS could at least parse the query. Which, again, works just fine when executed directly on the Oracle database. When running the SSIS package, the error message changed to the following:
Source: “OraOLEDB” Hresult: 0x80040E14 Description: “ORA-00907: missing right parenthesis”.
Plot twist: there’s nothing wrong with the parenthesizes in the query. At this point I was ready to set my laptop on fire, but instead I decided to soldier on. After searching online and trying out some theories, it turns out a comment in the WHERE clause was the culprit. Something like this:
... WHERE 1 = 1 --AND mydatecolumn = '01jan2021' ...
For whatever reason, SSIS has issues parsing this. The explanation is that SSIS probably puts everything on one line, thus effectively commenting out the rest of the query. I removed the comment and lo and behold, the dataflow ran without issues. Another solution would be to use block comments using /* */ instead of line comments.
You can find all the session materials for the presentation "Indexing for Dummies" that was…
The slidedeck and the SQL scripts for the session Indexing for Dummies can be found…
You can find the slides of my session on the €100 DWH in Azure on…
I've used Logic Apps a couple of times over the past years for simple workflows,…
I'm giving two online sessions soon on virtual events that are free to attend. The…
I wanted to try out the new JSON index which is for the moment only…