I am using SSIS to export an Excel 2007 file to a SQL table. When I execute my package locally it works; however, on the server I get the following error:

Data Flow Task:Error: Excel Source failed the pre-execute phase and returned error code 0xC02020E8.

Data Flow Task:Error: Opening a rowset for "Sheet$" failed. Check that the object exists in the database.

Data Flow Task:Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.

I have tried the following, with no success:

  • changing the sheet name to just A
  • Installing the Ace 12.0 driver
  • Converted my Excel file to a flat file (that takes a long time, so the app times out)
  • Are you doing it all locally? If your excel sheet is saved on your desktop c:\user\documents and you pass a command to your sql server, it will look to its own c:\user\documents folder - and find nothing. – James Dec 20 '17 at 20:37
  • It can also be a driver issue. Does your SQL server have the Access 2010 drivers (or an installation of MS Office?) – James Dec 20 '17 at 20:39
  • If it's not those, you can try connecting your excel sheet as a Server object, and inserting that way. – James Dec 20 '17 at 20:39
  • oh, and make sure that your sql service accounts have access to the folder where you've saved the excel sheet. – James Dec 20 '17 at 20:43
  • Are you running the package the same way locally and on the server? If not (for instance, if you're using the Execute Package app on the server, and running from within SQL Server Data Tools locally), try running the package the same way in both environments. Depending on the version of SSIS, you may need to run the package in 32-bit mode. – RDFozz Dec 20 '17 at 21:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.