In a SSIS ETL transformation I'm trying to load a certain .xls file. I have several identical files with similar schemas, and all of them work correctly. However this one file throws the "External table is not in the expected format" error. This is what I have tried:
What's weirder though is that the file loads correctly if I keep it open in Excel while it's loaded in SSIS. As additional information:
What else could make this error trigger?
EDIT: Now I tried to set up an ADO.NET source and an OLEDB source for opening the .xls file. ADO.NET cannot "retrieve information from columns", and OLEDB gets its connection closed. Maybe there is a way to know when the reading of the excel file fails?
I also tried something extremely tricky: I checked the event visor and noticed there were some few errors, so I did a quick Google search and fixed it. It was linked to SSIS but fixing it didn't solve the error.
In the end I did something much simpler: I converted the files to .xlsx and made my connection manager an Excel 2007 one. Although I'll mark another answer if it's better than mine, I'll leave this for other people with similar problems.