This is a discussion on Import cell data from XLS into SQL table within the SQL Server forums, part of the Microsoft SQL Server category; --> I'm trying to use DTS to import data from an XLS into a SQL table. It works fine in ...
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| I'm trying to use DTS to import data from an XLS into a SQL table. It works fine in that it INSERT's the data. However, I need it to UPDATE the table, based upon a ProjectID. Can this be done? Can a DTS package be fired from a SP using parameters? Eg UPDATE tProjects SET MyField1=XLS.Sheet1.CellA1, MyField2=XLS.Sheet2.CellA1 WHERE ProjectID = @ProjectID. Also, it must handle dynamic XLS file names, eg 981-Budget.xls, 513-Budget.xls, xyz-Budget.xls Is this the best way to go? Other suggestions most welcome? Thanks everyone in advance! |
| |||
| I would do the querying once and put the data in a temporary table: <SQLCode> DECLARE @Folder varchar(200) DECLARE @Filename varchar(200) DECLARE @Workbook varchar(200) DECLARE @Sqlstring varchar(4000) SET @FileName = 'SomeSheet.xls' SET @Folder = 'C:\SomeFolder\' Set @Workbook = 'SomeWorkbook' SET @SQLString = 'SELECT * FROM OpenDataSource( ''Microsoft.Jet.OLEDB.4.0'',''Data Source="' + @Folder + @FileName + '";User ID=Admin;Password=;Extended properties=Excel 5.0'')...' + @Workbook Create Table #SomeTable ( <YourTableDefinitionhere> ) INSERt INTO #SomeTable EXEC(@SQLString) </Do anything with the data> </SQLCode> HTH, Jens Suessmeyer. |
| ||||
| Sorry, you also has another question: "Can a DTS package be fired from a SP using parameters? " Yes, you have to run the DTSRUn in a cmdshell with XP_cmdshell and hand over the paramters to global paramerters defined in the DTS package. (consider the /A switch and look in the BOL for more syntax information) HTH, Jens Suessmeyer. |