Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Excel 2007和SQL Server 2008R2之间的写回_Sql Server_Sql Server 2008_Excel_Ssis_Excel 2007 - Fatal编程技术网

Sql server Excel 2007和SQL Server 2008R2之间的写回

Sql server Excel 2007和SQL Server 2008R2之间的写回,sql-server,sql-server-2008,excel,ssis,excel-2007,Sql Server,Sql Server 2008,Excel,Ssis,Excel 2007,在Excel 2007和MS SQL Server 2008 R2之间构建写回的最有效方法是什么 我需要一个稳定的解决方案,以沟通之间的Excel和SQL Server。我需要从数据库中的表下载数据,计算并在Excel中填写新数据,然后将这些新值提交到数据库 我发现SSI应该能够做到这一点,但如果我错过了一种更标准的连接方式,那可能就太过分了 我已经像这样使用了动态sql SET @sQl='SELECT ID=ROW_NUMBER() OVER(ORDER BY F2), * into xlC

在Excel 2007和MS SQL Server 2008 R2之间构建写回的最有效方法是什么

我需要一个稳定的解决方案,以沟通之间的Excel和SQL Server。我需要从数据库中的表下载数据,计算并在Excel中填写新数据,然后将这些新值提交到数据库


我发现SSI应该能够做到这一点,但如果我错过了一种更标准的连接方式,那可能就太过分了

我已经像这样使用了动态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

我已经像这样使用了动态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

计算数据和新数据是否基于用户输入?如果不是的话,当您可以在SQL Server中完成所有工作时,转到excel似乎毫无意义。数据是用户定义的,不能仅用SQL中的逻辑来完成。计算出的数据和新数据是否基于用户输入?如果不是,那么当您可以在SQL Server中完成所有工作时,使用excel似乎毫无意义。数据是用户定义的,不能仅使用SQL中的逻辑来完成。