Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于存储在数据库中的XML数据创建Microsoft SQL报表(SSRS)_Xml_Visual Studio 2012_Ssrs 2008_Reporting Services - Fatal编程技术网

基于存储在数据库中的XML数据创建Microsoft SQL报表(SSRS)

基于存储在数据库中的XML数据创建Microsoft SQL报表(SSRS),xml,visual-studio-2012,ssrs-2008,reporting-services,Xml,Visual Studio 2012,Ssrs 2008,Reporting Services,我正在尝试在Visual Studio 2012中创建Microsoft SQL报表。我的报告数据输入是存储在数据库中的XML二进制文件 要分解它,我想做的是: 从数据库检索XML二进制文件 用XML的内容填充报告 创建报告的PDF版本 步骤1和3不是问题。但第二步是。我不知道如何在数据集中使用XML数据,所以我在报告中使用它 有什么基本的东西我遗漏了吗 我以前创建过许多报告,只使用数据库中的数据,从不使用XML 谢谢。如果XML存储在数据库中,您只能通过SQL查询来访问它,我建议您: 使用空连

我正在尝试在Visual Studio 2012中创建Microsoft SQL报表。我的报告数据输入是存储在数据库中的XML二进制文件

要分解它,我想做的是:

  • 从数据库检索XML二进制文件

  • 用XML的内容填充报告

  • 创建报告的PDF版本

  • 步骤1和3不是问题。但第二步是。我不知道如何在数据集中使用XML数据,所以我在报告中使用它

    有什么基本的东西我遗漏了吗

    我以前创建过许多报告,只使用数据库中的数据,从不使用XML


    谢谢。

    如果XML存储在数据库中,您只能通过SQL查询来访问它,我建议您:

  • 使用空连接字符串创建XML数据源。通常是一个网站/服务URL
  • 在报表的数据集中,选择使用XML数据源。请注意,现在唯一可能的命令类型是文本
  • 为报告添加一个内部参数,该参数将包含XML文件
  • 编写一个表达式,从数据库中获取参数的默认值。值应该是您的XML
  • 在dataset命令中,用于选择字段,例如:

    <Query>
       <XmlData>
        <!-- Your XML starts -->
        <Books>
            <Book id='1'>Foo</Book>
            <Book id='2'>Bar</Book>
            <Book id='3'>Baz</Book>
        </Books>
        <!-- Your XML ends -->
       </XmlData>
       <ElementPath>Books/Book</ElementPath>
    </Query>
        <!--just tweaked indentation-->
    
    
    福
    酒吧
    巴兹
    书
    
  • 这将添加两个字段:
    id
    Book
    。您需要使用参数而不是XML


    更新:很抱歉XML格式,我无法使代码块正常工作

    谢谢你的回复,谢尔盖。我有点被第五步卡住了。我无法从查询XML中嵌入的输入参数中获取XML。我想要的是:
    Books/Book
    ,但我只是得到了一个语法错误。让它工作,只是没有正确的语法<代码>=“”&参数!ReportParameter1.Value&“我也在考虑这个解决方案,但我相信由于报告参数长度限制,它会将XML限制在约65000个字符。