0

我们在 SQL Server 集成服务 (SSIS) 包中使用 Quest Geo Solution 的 Grid InQuest DLL (GIQ60.DLL)。通过使用 tlbimp 创建一个 .NET 包装器(互操作),我们已经成功地在本地(32 位)使用它而没有问题。但是,当它移动到我们的集成服务器时,这不起作用,因为服务器是 64 位的。

GIQ60.DLL 是 16 位 DLL,供应商已确认不再积极支持此功能。如果我们在服务器上运行 32 位版本的 DTEXEC,包运行没有问题。是否有一种技巧/方法可以转换 .NET 包装器以使其能够工作 SQL Server 集成服务(64 位安装)。

或者,我们需要一个替换的免费 32 位 .net 库,它将 OS 网格(东/北)转换为英国和爱尔兰的地理空间经度/纬度(它们使用不同的网格系统),那么这将是一个可行的解决方案。

4

2 回答 2

1

我能想到的唯一其他解决方案是创建一个 Windows 服务(32 位)来托管您的组件并将其公开为 WCF 或远程处理端点。然后使用 SSIS 中的脚本任务来访问它。这样您就可以在 64 位 DTEXEC 中运行您的包,并在 32 位进程中运行您的组件。

高温高压

于 2009-12-08T22:29:56.403 回答
0

在我支持的一个环境中,有一个依赖于特定版本的 Lotus Notes 连接的 SSIS 包。该 dll 是 32 位 dll,在 64 位生产服务器上的 SSIS 中执行时不起作用。

我们通过命令提示符调用 32 位版本的 DTEXEC 来简单地执行 SSIS 包。这很好用。

您可能会尝试这样做以避免维护两个不同版本的代码?

于 2009-12-05T14:58:07.767 回答