0

有没有人使用 SSIS 将文件推送到 BOE 服务器?我正在尝试开发一个 SQL Server 2008 SSIS 包,它将报告 (Excel) 文件推送到我们的 Business Objects Enterprise (BO XI 3.1) 服务器。通过脚本任务,我使用 Business Objects .NET SDK 组件来验证并连接到 BOE 服务器。

我有一个包的副本部署到我的 Windows XP 桌面上运行的 SQL Server 2008 的本地实例。包成功执行(通过 SQL 代理作业)并将文件传送到 BOE 服务器上的指定位置。

当我将包部署到我们的开发 SQL 服务器(Windows Server 2008 64 位上的 SQL Server 2008)并尝试通过 SQL 代理作业执行包时,当脚本执行时收到错误消息“文件存储库服务器输入已关闭”任务尝试将文件“提交”到 BOE 服务器。该包能够打开与 BOE 服务器的会话,创建一个新的信息对象,但在 infoStore.Commit 命令上失败。

我有另一个从我们的开发 SQL 服务器成功执行的 SSIS 包 - 它与 BOE 服务器通信并搜索用户会话。它不与输入文件存储库通信——这似乎是关键区别。

我发现与此错误相关的有限信息表明 SQL Server 和 BOE 服务器之间的防火墙和端口可能是原因。我已经查看了 BOE 管理员指南,但无济于事(很可能是由于我对防火墙和端口缺乏了解)。两台服务器都在同一个子网中,并且两台服务器都没有打开防火墙。BOE CMS 服务器和输入/输出文件存储库服务器的端口已设置为静态端口 ID。我们的网络人员表示,基于防火墙或端口设置,不应该有任何东西阻止服务器之间的通信。

任何帮助将不胜感激!

4

2 回答 2

0

您是否尝试过所有常见的“以 32 位方式运行”解决方案?我猜你的 SDK 是 32 位的,而不是 64 位的。

http://www.bidn.com/blogs/ShawnHarrison/ssis/2362/ssis-basics-running-a-package-in-32-bit-mode

然而,SDK 适用于不同服务的事实意味着它可以在 64 位中运行。因此,如果您想对端口进行故障排除,我发现此链接http://scn.sap.com/thread/2027785表明 BOE 端口是 6400 到 6411。要检查给定端口是否打开,请转到 DOS提示并输入

TELNET hostname port

因此,如果您的 BOE 服务器是 BOESERVER,那么您可以试试这个:

TELNET BOESERVER 6400

测试端口 6400。您应该得到一个黑屏,表明它已连接。

但是,再一次,您似乎能够连接和操作但无法提交的事实意味着您可以连接并没有端口问题,只是无法提交。

京东方方面是否有任何日志可以让您更好地了解问题?

于 2013-04-02T23:55:45.700 回答
0

已确定并验证了此问题的解决方案。SQL 代理作业用于执行 SSIS 包的代理所使用的 Windows AD 帐户在网络上没有足够的权限。我们的 DBA 为帐户提供了 SQL 服务器上的本地 Windows 管理员权限,这解决了我收到的“文件存储库服务器输入已关闭”错误。

感谢那些回应并给我其他调查想法的人。

于 2013-04-12T16:37:50.313 回答