首先,这不是我的专业领域,所以我提前为我在这个领域缺乏直觉和天真道歉。我只是想帮助一位同事。另外,请让我知道这是否更适合 DBAdmin StackExchange 站点。尽管有道歉和免责声明...
在 2008 年商业智能开发工作室 (BIDS) 创建报告期间,我一直在观察我的一位非编程同事与他的数据集和项目中的硬编码连接字符串无休止地斗争。它已经达到了这样的程度,即他维护了绝对所有东西的三个版本(我们的每个环境一个,每个都有特定的连接硬编码)。在过去的几天里,他冒险升级到 SSDT BIDS for VS 2012。
编辑添加:
他有一个报表服务器实例,其中每个连接到它的环境都有三个版本的所有内容,他没有每个环境的报表服务器。因此,为了正确发布所有内容,他必须维护三个相同的(连接字符串除外)项目和数据集,并在需要更改时修改所有三个。他希望能够做的是不必维护三个报表项目,而只需更改一个设置并针对该环境重新部署他的报表。我认为我们在这个问题上处于上游,愿意考虑重新设计我们的报告架构。
来自网络领域,我最初的盲目想法是:如果您使用的是 Visual Studio,为什么不将连接字符串存储在配置文件中,并在发布时使用SlowCheetah转换它们来转换任何类型的配置文件?从 IDE 得到的答案是:没那么快,因为连接字符串存储在用户界面中,在对象本身的属性窗口中。
通过无休止的网络搜索,我发现了另一种称为基于表达式的连接字符串(页面底部)的技术,但这对我未经训练的眼睛来说似乎有点不安全,但这就是我一直在寻找的吗?
我很感激这不一定是典型的 SO 问题,但如果有人有任何知识可以传授如何在 BIDS 中进行转换部署,以便我们可以将重复减少三倍,我将永远感激不尽。