Hello Everyone,
I need to upload excel sheet in to the database. Which i am doing with the query
SELECT * INTO temp FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\Dokumente und Einstellungen\l.varada\Desktop\BA-Control.xls',
'SELECT * FROM [qry_BA_Controlling (Report)$]')
Here C:\Dokumente und Einstellungen\l.varada\Desktop\BA-Control.xls is the path from where the excel file needs to be fetched. qry_BA_Controlling (Report) is the name of the worksheet.
So on executing the query, a table with name 'temp' is created. With records that are populated from excel.
Now here i have a date field in excel. sometimes the values of this field are not uploaded properly into the temp table. The values for this date field are set to NULL eventhough they have values in EXCEL.
EDIT I have modified my query so,
Insert into temp Select * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\Dokumente und Einstellungen\l.varada\Desktop\BA-Control.xls',
HDR=YES', 'SELECT * FROM [qry_BA_Controlling (Report)$]')
Here temp is an existing table, i have defined the date type of the field [creation date] to varchar and uploaded the excel. Then i used convert to change the datatype to the correct format..
update temp set [Creation date] = CONVERT (varchar,[Creation date],101)
Even now it is populating NULL values..Or this conversion needs to be done while uploading. if so, please let me know.
I think the reason behind this is, the first few values of this column are spaces and after that it has values..As it determines the datatype by checking first few rows..Then it is assigning NULL..Please suggest me an alternative.