YES IT IS... According to me, it is not a good idea when you have alphanumeric characters in any of the columns.
Several times I have imported data from excel sheets to SQL Server. No errors popped. But when data is thoroughly checked there will be data loss if you have alphanumeric data in any of the columns.
The following behaviors of the Jet provider with the Excel driver can lead to unexpected results when reading data from an Excel data source.
Several times I have imported data from excel sheets to SQL Server. No errors popped. But when data is thoroughly checked there will be data loss if you have alphanumeric data in any of the columns.
The following behaviors of the Jet provider with the Excel driver can lead to unexpected results when reading data from an Excel data source.
-
Data sources: The source of
data in an Excel workbook can be a worksheet, to which the $ sign must
be appended (for example, Sheet1$), or a named range (for example,
MyRange). In a SQL statement, the name of a worksheet must be delimited
(for example, [Sheet1$]) to avoid a syntax error caused by the $ sign.
The Query Builder automatically adds these delimiters. When you specify a
worksheet or range, the driver reads the contiguous block of cells
starting with the first non-empty cell in the upper-left corner of the
worksheet or range. Therefore you cannot have empty rows in the source
data, or an empty row between title or header rows and the data rows.
-
Missing values: The Excel
driver reads a certain number of rows (by default, 8 rows) in the
specified source to guess at the data type of each column. When a column
appears to contain mixed data types, especially numeric data mixed with
text data, the driver decides in favor of the majority data type, and
returns null values for cells that contain data of the other type. (In a
tie, the numeric type wins.) Most cell formatting options in the Excel
worksheet do not seem to affect this data type determination. You can
modify this behavior of the Excel driver by specifying Import Mode. To
specify Import Mode, add IMEX=1 to the value of Extended Properties in the connection string of the Excel connection manager in the Properties window. For more information, see PRB: Excel Values Returned as NULL Using DAO OpenRecordset.
-
Truncated text: When the
driver determines that an Excel column contains text data, the driver
selects the data type (string or memo) based on the longest value that
it samples. If the driver does not discover any values longer than 255
characters in the rows that it samples, it treats the column as a
255-character string column instead of a memo column. Therefore, values
longer than 255 characters may be truncated. To import data from a memo
column without truncation, you must make sure that the memo column in at
least one of the sampled rows contains a value longer than 255
characters, or you must increase the number of rows sampled by the
driver to include such a row. You can increase the number of rows
sampled by increasing the value of TypeGuessRows under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel registry key. For more information, see PRB: Transfer of Data from Jet 4.0 OLEDB Source Fails w/ Error.
The above details obtained from Microsoft Library. Follow the below link
http://msdn.microsoft.com/en-us/library/ms141683.aspx
No comments:
Post a Comment