sql-serverssissql-server-2012excel-import

Is there any way to overcome limitations when importing from Excel in SQL Server?


I'm trying to import a large number of columns from an excel file: specifically, here are the ranges:

  1. Biggest column name has 80 characters. When imported, SQL Server chops off anything after 64 characters. I'm not sure why, as the max length for a column name is FAR above 64.

enter image description here

  1. I have 500 columns in my Excel sheet and yet only 255 are imported. Anything after is chopped off also.

Is there a way to overcome these limitations without actually dividing the Excel sheet into more than one piece?


Solution

  • Microsoft has acknowledged this shortcoming and has released the following package to rectify it using "newer" Access/Excel Connection managers. However, after installing and following the instructions - the same issue occurs. You can download the updated , Office 2010 version here. But it didn't help.

    The cause of the problem: The problem is caused due to a limitation that exists with office versions 1997-2003. The connection manager was designed for Office 1997 and has not been amended or improved since. This is why, when you actually research limitations on Office 2000 or 2003, you'll see that they do not allow more than 255 columns (the limit mentioned above) AND the length of the column-name cannot surpass 64 characters. These are software limitations that existed with Office 2000 and 1997 and since the Connection Manager was designed then, they just remained with it given MS did not invest in improving or updating their product. Hope this helps!

    Short Answer: on paper these issues can be resolved by downloading 2010 Office Connection manager (still in its BETA version), but in reality the solution does not work.