如果你通过一个ERP系统的数据库使用水晶报表(Crystal Reports)的话,那么你很可能碰到过这个问题。在水晶报表中有一项注册表设置,该设置将可添加至一张报表的对象数限定为8000个对象。而这对于如今轻松能超过这个对象数的ERP系统来说就构成了问题,尤其是在包括表、试图和存储过程的情况下。。只需简单修改注册表并重启水晶报表程序就可以解决这个问题。
以下为具体步骤:
1. 点击“开始”,“运行”,接着在“打开”字段中输入“regedt32”,然后点击“确定”按钮(需要管理员访问权限)。
2. 展开HKEY_CURRENT_USER\Software\Business Objects\Suite XI 4.0\Crystal Reports\FetchOptions
请注意:这个路径可能会略有差异,具体取决于你的水晶报表版本。你也可以通过注册表搜索FetchOptions,这在我所使用过的所有版本都是相同的。请记住,在同一台机器上你可能有多个水晶报表版本。
3. 双击NTablesMax的密钥,并选择“十进制”作为[基准]。将默认值8000替换为一个更大的数字,例如20000。
4. 点击OK,关闭“注册表编辑器”。
5. 重新启动水晶报表程序,你就会在你的数据源中看到所有对象。
例如,让我们打开Crystal Reports 2013,启动Database Expert(数据库专家),并采用一个ODBC数据源,连接至一个Sage X3 SQL数据库。由于注册表中水晶报表默认8000个对象,我的表停在了tsoChngOrder:
在将数字更改为20000个对象之后,现在我可以通过Crystal Reports中的Database Expert看到我数据库中的所有表了。
|