在安装了Office 2007的本地开发计算机上运行SSIS 2008软件包。它有一个脚本任务,以interop.excel作为参考。 (我正在用它重新格式化一些excel表格)
所以一切都像冠军一样,直到我在我的测试SQL 2008(Server 2008 64位)服务器上安装并运行它。我安装到SSIS,通过SQL Server作业执行它,它运行大部分步骤,但当它到达需要excel互操作程序集的脚本任务时抛出异常。
我已经安装了2007 PIA并且执行标记为32位。在这一点上,我只是有点迷失。任何帮助表示赞赏。
答案 0 :(得分:0)
此脚本任务 - 是.NET脚本任务还是32位脚本任务?
我猜测来自interop.excel引用,它是一个.NET脚本任务调用一个旧的32位库?你能证实吗?
如果您在Win64环境中运行的是32位组件,那么您需要注意用于注册它的内容。默认情况下,regsvr32是64位版本,因此您需要使用c:\ windows \ systemWOW64(或类似的)下的regsvr32.exe。这将确保dll在注册表的32位配置单元中注册,并可用于WOW(windows-on-windows)仿真环境。
答案 1 :(得分:0)
SpreadsheetGear for .NET是适用于32位和64位.NET的Excel兼容电子表格组件,其API类似于Excel的COM API。
您可以看到一些实时ASP.NET样本here并下载免费试用here。
免责声明:我拥有SpreadsheetGear LLC
答案 2 :(得分:0)
我在我正在使用的服务器上安装了Office 2007。这解决了一个问题。然后我发现了另一个被SO Link
缓解的问题