水晶报表 – 如何将Crystal Reports指向新的数据库
我有一个Crystal Reports 2008用户,拥有超过100个定制开发报告.
这些报告全部查询Sql Server数据库(SQL 2005). 该数据库服务器正在被一个新的系统(运行SQL 2008 R2)所取代,现有的数据库将被移动到新的服务器. 新的数据库服务器将具有不同的名称(我可以通过Crystal Reports连接来寻址), 然而,其中一个应用程序也在同时升级.旧数据库(DB_A)将在新服务器上恢复以进行历史报告,并将创建一个新数据库(DB_B). 新的DB_B将具有非常相似的模式,所以我希望大多数Crystal Reports应该能够对新的DB_B运行,而不需要修改任何修改,而不是将报表定义指向新的DB_B. 当然,我的大部分用户定制开发报告查询DB_A. 我的问题是:如何修改现有的Crystal Reports文件以指向新数据库名称(DB_B)而不是旧数据库(DB_A)? 解决方法使用数据库菜单和“设置数据源位置”菜单选项更改报表中每个表的名称或位置.这适用于更改数据库的位置,更改为新数据库,以及更改报告中使用的单个表的位置或名称. 要更改数据源连接,请转到数据库菜单,然后单击设置数据源位置. >更改数据源连接: >从当前数据源列表(上方框)中,单击要更改的数据源连接上的一次. >更改个别表: >从当前数据源列表(顶部)中,展开要更改的数据源连接. >更改子报表: >对您可能已经在报告中嵌入的任何子报表重复上述步骤. >任何命令或SQL表达式: >转到数据库菜单,然后单击数据库专家. 并尝试再次运行报告. 关键是首先更改数据源连接,然后更改需要更新的任何表,然后再更改其他内容.连接不会自动更改下面的表.那些桌子就像是在他们看到的第一只大鹅类动物上印上的幼鸽.他们将继续绕过所有的理由和逻辑,并去除他们一直去的地方,除非你特别手动改变它们. 为了使其更方便,这里有一个提示:您可以在“数据库”菜单中“显示SQL查询”,您将看到任何表格中的数据库(如“Sales”“dbo”.“Customers”)的表名称直接到特定的数据库.这可能会使狩猎更容易,如果你有很多事情进行.当我解决这个问题时,我不得不更改每个表,以指向新数据库中的新表. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |