Обратная запись между Excel 2007 и SQL Server 2008R2 - PullRequest
1 голос
/ 20 февраля 2012

Каков наиболее эффективный способ создания обратной записи между Excel 2007 и MS SQL Server 2008 R2?

Мне нужно стабильное решение для связи между Excel и SQL Server. Мне нужно загрузить данные из таблицы в базе данных, рассчитать и заполнить новые данные в Excel и отправить эти новые значения в базу данных.

Я обнаружил, что SSIS должен быть в состоянии сделать это, но это может быть излишним, если я упущу более стандартный способ подключения.

1 Ответ

1 голос
/ 20 февраля 2012

Я использовал динамический sql так ...

SET @sQl='SELECT ID=ROW_NUMBER() OVER(ORDER BY F2), * into xlCitems FROM '+dbo.fsExcelODS(@XLSPATH,'CITEMS')+' WHERE DESCRIPTION IS NOT NULL'

EXEC SP_EXECUTESQL @sql;

Скалярная функция dbo.fsexcelODS возвращает оператор openDatasoure, как определено в

ALTER function [dbo].[fsExcelODS](@pathtods varchar(max),@sourceTable varchar(200))returns varchar(max)as 
begin

return  'OpenDataSource('+dbo.fsQuoteString('Microsoft.ACE.OLEDB.12.0')+','+dbo.fsquoteString('Data Source='+dbo.fsdquotestring(@pathtods)+';Extended Properties="Excel 12.0;HDR=YES;IMEX=10"')+')...'+@sourcetable


end
...