代码之家  ›  专栏  ›  技术社区  ›  Adrian Grigore

在SSRS2008中使用动态连接字符串

  •  2
  • Adrian Grigore  · 技术社区  · 15 年前

    我有一堆SSR2008报告,我想在几个不同的机器上运行(开发、测试、生产)。每台机器都有自己的数据库,所以我需要根据报表运行的位置使用不同的连接字符串。

    我发现的一个解决方法是在运行时传递给报表的隐藏参数中指定服务器和目录名。它在 this tutorial ,but it applications to ssrs 2005 and i could not make it work in ssrs 2008.

    当共享数据源中的连接字符串如下所示时,一切都正常工作:

    为了查看表达式是否可以用于连接字符串,我将连接字符串替换为:

    但当我尝试在Visual Studio中预览报表时,这会导致以下错误:

    < Buff行情>

    本地报告期间出错 处理。项目 “/zeiterfassung adrian”不能是 找到。

    在SSR2008中,动态连接字符串是否仍然有效?

    如果是,我做错了什么?

    如果没有,我还能做什么?

    我发现的一个解决方法是在运行时传递给报表的隐藏参数中指定服务器和目录名。它的描述在 this tutorial 但它适用于2005年的SSRs,我不能使它在2008年的SSRs工作。

    当共享数据源中的连接字符串如下所示时,一切正常:

    Working Connection String

    为了查看表达式是否可以用于连接字符串,我将连接字符串替换为:

    Dynamic but broken connection string

    但当我尝试在Visual Studio中预览报表时,会出现以下错误:

    本地报告期间出错 处理。项目 “/zeiterfassung adrian”不能是 找到了。

    在SSR2008中,动态连接字符串是否仍然有效?

    如果是,我做错了什么?

    如果没有,我还能做什么?

    6 回复  |  直到 10 年前
        1
  •  1
  •   user404463    14 年前

    只需为每个环境创建报表数据源并部署它们。然后切换部署选项以不覆盖数据源。尽管为了进行简单的部署,您必须在每个环境的投标中配置配置管理器。这就是我们在多个环境中工作的方式。

    希望有帮助,如果你对此有任何问题,请告诉我。

        2
  •  2
  •   Eric Muller    13 年前

    因为它是一个共享数据源。对于常规的嵌入式数据源应该可以正常工作。看一看 THIS 有关使用动态连接字符串和共享数据源的选项的链接,可能对您有所帮助。

        3
  •  1
  •   abdullah    13 年前

    请查看相关文章 http://haseebmukhtar.wordpress.com/2011/11/09/dynamic-database-in-ssrs-2008/

    此外,不能对共享数据源使用动态数据库设置。

        4
  •  0
  •   YuriyE    14 年前

    对于服务器名称,字符串应该有双引号。 =“数据源=”&参数!myServerParameter.value&“”;初始目录=dbname..

        5
  •  0
  •   Barbara Roy    10 年前

    我能够使用servername参数创建动态嵌入连接,如下所示:

    =“数据源=”&参数!servername.value&“初始目录=主目录”

        6
  •  -1
  •   JonH    15 年前

    使用隐藏的报表参数怎么样?

    那么你应该能够做到:

    =“数据源=”&参数!myServerParameter.value&““初始目录=dbname….”

    以下是一篇文章,可以帮助您: http://msdn.microsoft.com/en-us/library/ms156450.aspx