Ⅰ sql server 分析和报表设计问题
刚回答了一个类似问题,是统计某个时间段内(1小时,以分钟为间隔尺度)雨量是否达到25,如果达到则标出这个时间段所在的日期
http://..com/question/573243878?&oldq=1#answer-1443402987
selecta.startTime,a.endTime,a.totalRain,
(selectsum(totalRain)fromRainViewb
whereb.startTime<=a.endTimeandb.startTime>=a.startTime)astotalRainXXXXXX
fromRainViewa
可以用上述语句指定startTime和EndTime
Ⅱ sql reportserver 2012 报表系统数据集中筛选器如何让一个字段等于固定值,格式是怎么样的呢,谢谢!
就是你数据集查询出的结果等于你的筛选条件
比如:
值就直接写名称,用双引号就好
Ⅲ 数据库查询生成报表SQL SERVER
select id,(select state from a where data=‘2010-1-1’)as [2010-1-1],(select state from a where data=‘2010-1-2) as [2010-1-2],(select state from a where data=‘2010-1-3') as [2010-1-3] from 表名
Ⅳ sqlserver2012怎么生成报表
1. 打开sql server 2012,创建,一个存储过程
ALTER proc[dbo].[ProTest2]
@StartSubmitTime
varchar(200),
@EndSubmitTime
varchar(200)
as
begin
declare
@sql varchar(max)
set
@sql='select
Ⅳ SQLserver2012如何批量导出表格中的单条记录到txt中
在SQL SERVER 2000里面 有一个导入导出数据的嘛,你把要复制出来的数据选上,然后下一步就有复制到什么地方,你就选择EXCEL就可以进行操作了。
你试着做一下哈,应该没有问题的!!!!!!!!!
Ⅵ sql server 2012 reporting services 在什么地方
Reporting Services 配置管理器(本机节点)
使用本机模式配置管理器完成以下任务: 、 、 、 、 和 。
指定服务帐户。
创建或升级报表服务器数据库。
修改连接属性。
指定 URL。
管理加密密钥。
配置无人参与的报表处理和电子邮件报表传递。
安装:Reporting Services 配置管理器是在您安装 Reporting Services 本机模式时安装的。 有关详细信息,请参阅安装 Reporting Services 本机模式报表服务器 (SSRS)。
启动 Reporting Services 配置管理器
在 Windows“开始”屏幕上,键入 reporting,然后在“应用程序”搜索结果中,单击“Reporting Services 配置管理器”。
或者
单击“开始”,然后依次单击“程序”、“ Microsoft SQL Server 2014 ”、“配置工具”、“Reporting Services 配置管理器”。
此时将出现“选择报表服务器安装实例”对话框,可以选择要配置的报表服务器实例。
在“服务器名称”中,指定安装报表服务器实例的计算机的名称。 指定的默认值是本地计算机名称,但也可以键入远程 SQL Server 实例的名称。
如果指定远程计算机,请单击“查找”以建立一个连接。 必须事先配置报表服务器,以便进行远程管理。 有关详细信息,请参阅配置报表服务器以进行远程管理。
在“实例名”中,选择要配置的 SQL Server Reporting Services 实例。 列表中只显示 SQL Server 2008、SQL Server 2008 R2 和 SQL Server 2014 报表服务器实例。 不能配置较早版本的 Reporting Services。
单击“连接”。
Ⅶ 怎样在SQLServer中正确使用参数报表
一、带报表参数的典型应用。
在一个报表中加入参数,最直接的结果就是可以提高查询语句的重复利用性。如用户可以通过更改参数来调整显示的结果等等。对于这些常规的应用笔者不做过多的阐述。笔者现在要说的是,带参数报表的一些高级应用。
参数报表比较高级的应用就是实现报表钻取。钻取是改变维的层次,变换分析的粒度。它包括向上钻取和向下钻取。向上钻取是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;向下钻取是指自动生成汇总行的分析方法。简单的说,现在数据库中有一张销售订单表。根据这张表可以生成一张各个月份的销售统计表。但是,有可能用户在查看这张报表的时候,对某个月份的统计结果有怀疑,为此需要查看这个月份的销售明细。此时如果利用带参数的报表实现钻取功能的话,那么就不需要重新查询或者生成报表。而只需要直接在这张报表上点击月份,系统就会自动打开另外一张报表。这张报表中的内容就是这月份的销售明细。从技术的角度讲,就是通过参数的传递,将这张报表的时间信息作为另一张报表的查询参数。从而让系统自动根据这个参数来生成相应的数据,从而简化用户的操作。
二、带参数报表要避免注入式攻击。
在使用参数报表的时候,特别需要注意一点就是防止注入式攻击。注入式攻击各位读者或许都了解。可是对于为什么使用参数的报表容易引起注入式攻击,可能大家并不怎么了解。这主要是因为参数如果采用的是string数据类型所造成的。即如果参数采用的是string数据类型,那么就表示用户可以根据需要输入任何类型的字符串。此时如果用户输入了一些注入式攻击的代码当作参数,则就可能会导致注入式攻击。为此如果生成报表时,采用的参数时String数据类型的,就需要特别的注意。为了防止这个注入式攻击,笔者建议如果采用的参数一定要是String数据类型的话,那么最好能够遵循下面的规则。DB2数据库与SQLServer数据库的异同
首先,在客户端将报表查询语句传递给数据库之前,即将参数复制给Select语句之前,最好进行验证。即要验证输入的参数值中,是否存在一些特殊的符号。这些符号往往跟输入攻击有关。如果存在这些特殊字符的话,则需要向用户提供警告信息,表明存在注入式攻击的可能性。并且,系统可以拒绝接受这个参数。这个避免注入式攻击的方法比较消极。如果这些特殊符号确实是查询参数中包含的内容,那么也无法使用。
其次,可以通过值列表的方式来向数据库传递参数。在没有提供值列表的情况下,如果参数是字符类型的,则系统向用户显示的是一个可以使用任何值的文本框。此时数据库管理员可以使用可用值列表的方式来规范化参数的输入,限制其输入一些特殊的字符。也就是说,在定义String类型的参数报表时,让系统向用户显示一个下拉的列表框,然后用户通过选择来指定参数。这个操作就跟Excel表格中的下拉列框差不多,用户只能够选择数据库管理员所提供的值,或者说只能够选择某张表中存在的值。由于用户不能够自己输入值,而只能够选择,这就可以有效的避免注入式攻击。不过采用这种方式有一个缺陷,就是如果有效的值太多的话,这个列表就会很长。为此用户在选择参数的时候,就会很麻烦。如当有效值有500个的话,那么就需要在500个值中选择一个值,显然这有点困难。即使按照参数的名字顺序来排列,选择也是比较麻烦的。大内存SQLServer数据库的加速剂
第三,可以利用列表查询的方式,来避免注入式攻击。即当用户输入一个参数之后,系统会自动从一个列表中查询是否存在这个值。如果存在的话,则将这个参数赋值给查询语句中的变量。如果不存在的话则提醒用户参数可能输入错误。如现在有一张销售订单明细报表。用户可能需要根据订单号码来查询销售订单明细。此时这个订单号码就是一个字符型的参数。当用户输入这个参数的时候,并不是马上传递给数据库,这么做太危险,容易产生注入式攻击。而是前台应用程序也从后台数据库中取得所有的销售订单的订单号码信息。当用户输入参数之后,前台应用程序会把这个用户输入的参数跟自己查询出来的信息先进行对比。如果有匹配的信息,就将这个参数传递给后台数据库。如果没有的话,就向用户报告错误的信息。有些应用程序在设计的时候,还会更进一步。如客户端程序会先从数据库中取得订单号码与对应的订单ID。当用户输入参数之后,会进行比对。如果比对成功的话,那么客户端应用程序会将这个订单号码对应的订单ID作为参数传递给查询语句。也就是说,从数据库服务器角度来讲,真正的参数是订单ID(整数型数据类型)而不是订单号码(字符串数据类型)。通过这个数据类型转换,从而可以从根本上防止注入式的攻击。
以上三种方式都可以很有效的避免注入式攻击。数据库管理员需要根据实际应用来选择合适的解决方案。如当有效值比较少的时候,如按年份来统计销售订单时,则可以使用列表的形式。当有效值比较多,特别是这个有效值会自动增长的时候,则可以使用列表查询的方式。总之一个基本的原则,对于String参数,一定要进行验证其合法性。否则的话,很容易造成注入式攻击。
三、对于日期型的数据给与特殊的照顾。
日期型的数据是数据库中最容易出现问题的一个数据类型。因为不同语言环境下,如英语与汉语环境下,其采用的日期格式是不同的。如果数据库中定义了某个日期格式,而输入的参数如果不符合这个格式的话,则系统就会认为这条记录不存在,从而在报表中查询不到相关的数据。为此如果在报表中要使用日期型数据参数的话,将会是一件比较麻烦的事情。所以,在应用程序设计时,数据库管理员最好提醒前台应用程序的设计者,能够规范化日期的格式。如可以要求他们,对于日期型的数据作为参数时,用户不能够手工输入日期。因为不同的用户输入习惯不同,如有些人会按年月日的格式输入(有些用户会把8月份写成08,而有些直接写成8),有些人则会按月、日、年的格式进行输入。由于格式不统一,那么数据库就很难按照同一个规则进行转换。为此,对于日期型的数据作为参数时,最好在前台应用程序中能够规范化输入的格式。如以一个统计的格式输入。要做到这一点的话,就可以通过一个日期型的控件来完成。即用户不能够手工输入日期型的数据。当遇到某个参数时日期型的数据时,当鼠标定位到这个文本框,则系统就会弹出一个类似日历的界面。用户只有通过选择日期来输入日期型的数据,从而规范化用户的输入。另外也可以通过掩码的方式来规范用户输入的格式。即预先规定年月日的输入掩码。用户在输入的时候必须按照这个格式,否则的话,系统不会接受用户的输入。这两种方式都可以实现对日期数据的规范化。
当用户按照同一个格式输入日期数据后,以后的工作就容易处理了。在将参数传递给数据库的时候,可以在查询语句中加入一个日期型数据的强制转换语句。将输入的日期型数据按照系统表中定义的日期型数据进行转换。即如果前台客户端输入的日期型数据格式是日、月、年(只要输入的内容统一即可,没有具体的要求),然后在查询语句中就可以通过数据类型转换工具对数据类型进行转换。如将日、月、年表示的字符型数据类型表示会年、月、日的日期型数据类型。如此的话,就可以保证用户输入的参数是数据库可以识别的。就可以避免因为日期格式不一致或者数据类型不一致而导致报表不能够抓取记录。
Ⅷ sql server 中有个自定义报表 这个功能怎么用
可以看一下这个文库《如何用SQL编写复杂的自定义报表》
http://wenku..com/link?url=-
Ⅸ sql server报表是什么
格式化数据输出,做成的报表可以 直接在网站和应用程序中使用,导出多种文件格式,包括PDF,Excel,CSV,XML等等
Ⅹ SQL Server 2012 如何配置报表服务器的服务账户
你配置完账户后,需要你备份一下Encryption key以备之后在新的安装中重用现有报表服务器数据库。这时,你只需要选择一个路径给Encryption key 文件,再输入密码及二次确认密码即可。关于备份和还原 Reporting Services 加密密钥的详细信息,参考下面这个文档:https://msdn.microsoft.com/zh-cn/library/ms157275.aspx