@ZEAL Blog·厉
WWW Zeal Blog
We stand alone,
TOGETHER.

BOXI CMC 数据库配置无法保存?

Posted by zeal on 2010-03-18 12:30 , 1443 characters |  + 0 - 0   English
转载请保留本行原始出处声明信息 : http://www.zeali.net/entry/644 MaDe1nZEAL
标签 ( 开发/理论 ):  , 

使用 BusinessObjects Enterprise XI 3 中央管理控制台 (CMC) 发布水晶报表 rpt 文件,打算通过 CMC 的计划功能每天定时执行水晶报表并生成Excel发送到指定邮箱里。

其他测试都OK,结果想把测试好的报表数据源指向正式数据库的时候发现死活改不了数据库配置了。网上所能找到的都是说直接进入属性修改数据库配置,然后选择“使用此处指定的自定义数据库登录信息(Use custom database logon information specified here)”重新配置数据库连接信息保存就行了。

问题是我选择之后填好内容保存,CMC没有给我任何报错信息,但再打开数据库配置对话框看到的配置信息仍然是修改前的初始信息(即设计rpt报表使用默认使用的测试数据源),甚至即便使用缺省的初始化连接信息也无法保存用户密码信息,只有在建立计划的时候输入密码。网上也有人在问跟我同样的问题,却没看到有正确解答的。

然后不停的看官方文档、试验、Google ... (省去N行失败吐血的过程描述)... 连百度和Bing也用上了,仍然无解。唯一能找到的解释是BOXI Release Notes里面关于 Central Management Control 的 General Issues :In the Central Management Console, you cannot set custom database logon information for a report that is based on a universe. 但没有任何更进一步的说明。

最后小武童鞋横空出世,一次机缘巧合的测试发现了问题所在。

原来从安全角度考虑,我们的测试MS SQL Server数据库启用TCP/IP协议的时候把缺省的1433端口改成了一个其他的端口数字9393,这样SQL Server的连接地址就变成了 xxx.xxx.xxx.xxx,9393 。就是这里这个MS SQL Server特有的逗号端口分隔符导致了 CMC 抽筋。把rpt文件的默认连接指向一个不使用特殊端口号的地址 xxx.xxx.xxx.xxx 再发布,一切就都正常了!如果尝试在自定义数据库登录信息里面再填写成 xxx.xxx.xxx.xxx,9393 保存刷新之后可以看到 9393 这个数字跑到了数据库名一栏。整个配置信息从逗号开始全部错位,貌似是 CMC 内部保存配置信息时候使用了逗号作为字段分隔符,导致在解析的时候就把 MS SQL Server 这个特有的IP和端口之间的这个逗号分隔符当作了字段分隔符。所以一开始rpt文件的连接信息包含了自定义端口就会导致无论如何都没法再修改数据库配置。

真不知该骂微软为嘛非要特立独行用逗号而不是冒号来分隔ip和端口,还是该骂 BusinessObjects Enterprise XI 做得烂连这个问题都没考虑到。总之无可奈何,只好把我们的数据库端口改回默认端口,让rpt的默认连接信息里面没有逗号的出现。

然后又发现, CMC 虽然可以指定计划按天执行,但在配置传入参数的时候是直接调用rpt的接口,并不提供宏定义允许设定传入参数为当时计划执行时的日期。这对于发送日报表来说完全不能接受,目前暂时只能在水晶报表里面设置公式转换来解决。。。

1 条评论:
- QQ个性签名 () (link) 于 2010-03-30 14:26
CMC 虽然可以指定计划按天执行
日志存档
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
本 Blog 原创内容
遵循以下授权:

Creative Commons
(创作共用) CC

署名-非商业性
-相同方式分享
ZEAL Blog 基于
Powered byPivot - 1.24.1: 'Arcee'
Pivot1.24.1
开发
系统部署于
Linode.com
Launched @
2005-04-27
Since 2005.04.27  梦想 就像鸡蛋 要么孵化 要么臭掉RSS Feed (Entries) | About me | Back To Home | @ZEAL | zbird.com | 沪ICP备05024379号