虽然工作经验相当的长,但是之前在SSRS上还没有象今天这样的经验。这只是工作经验的一点记录。

1. 定义DataSet

定义DataSet的时后,可以采用Text的方式。用Text的方式可以用一段比较复杂的DB script来做复杂处理。可以在SSMS那里写好DB script,调试好再copy paste到Text框里。Text框和SSMS那里的略有差别,在Text框里,如果一个@xxx形式的变量没有相应的declare, 则会被自动定义成一个参数(成为报表的参数和Query的参数,而且系统自动将这两个参数连接起来)。而这个特性在SSMS里是不存在的。SSMS的数据库脚本要求所有的变量都有declare。所以如果你希望某些变量成为SSRS里的一个参数,再copy paste的时候,可以把这些变量的declare去掉,再拷贝过去。

2. Custom code

SSRS是基于VB的。Custom code必须写VB代码。但是这个地方不象Visual studio那里可以进行语法提示。 我们在Visual Studio创建一个VB.net 的工程,可以在Visual Studio写好Function的代码。编译好。再copy paste到Custom code框中。

调用Custom code中定义的Function, 在报表中写Code.<Functionname>(parameters)

3. 输出Excel时出现hiding row, merged row

在网络上找了一下。还是微软官方的一个knowledge page写得比较清楚。默认为inch或者厘米为单位,在设计器里会出现很多小数点后很多位的小数。微软说这是因为转换成excel时,转换器用的是points为单位,除不近时,就会用hiding row来补偿。我们要用points为单位,可以避免hiding row。定义高度和宽度的时候,用10pt,2pt之类的。

4. 输出Word时选择正确的Page size

首选在Report property里选择好Page size, 如果是Letter, 宽8.5inch, 高11inch, 定义好白边margin上下左右,比如各1inch, 那么在设计器里,Body的宽度就是8.5 - 1 -1 = 6.5inch, 高度是11 - 1 -1 = 9inch。于是选择Body, 再在属性框里设定其Width, Height。这样设定的报表,输出成Word时就是默认用的Letter纸张。

5. Subreport could not be shown错误的调试

Subreport could not be shown可能因为很多原因产生。我们不能简单地认为是某种原因。其实一个最根本的解决办法就是将报表部署到SSRS 服务器上,然后访问报表,当问题显现后,我们可以到SSRS服务器上 C:\Program Files\Microsoft SQL Server\#SSRS Instance Name#\Reporting Services\LogFiles目录找到log文件。看log文件里的详细错误信息。这样你就可以知道出现错误的根本原因了。从而针对性的解决。当然了,这个解决办法是针对RDL的,RDLC的报表是无法直接用这个办法的。除非你把RDLC转成RDL。

6. 一个SQL server Split string的脚本

在实际工作中用到了这个。存储过程返回的是一个用分割符分割的串。所以这个大量的用这个小巧的方法。

declare @Input varchar(max)
set @Input = '9,5,2,4,65,7,89,4,2,3,24,33,98'
declare @delimiter varchar(max)
set @delimiter = ','
declare @sql varchar(max)
set @sql = 'select ''' + REPLACE(@Input, @delimiter, ''' as stringValue union all select ''') + ''' as stringValue'
exec(@sql)

这里用到了replace和union all的主意。比起那些专门写一个function的idea,相对来说轻量一些。

SSRS开发的经验记录的更多相关文章

  1. Java程序员转Android开发必读经验分享

    小编最近几日偷偷的发现部分Java程序员想转安卓开发,故此加紧补充知识,为大家搜集资料,积极整理前人的经验,希望可以给正处于困惑中的你,带来些许的帮助. 啰哩啰嗦的说说Java和Android程序的区 ...

  2. thinkphp开发技巧经验分享

    thinkphp开发技巧经验分享 www.111cn.net 编辑:flyfox 来源:转载 这里我给大家总结一个朋友学习thinkphp时的一些笔记了,从变量到内置模板引擎及系统变量等等的笔记了,同 ...

  3. 我的 Android 开发实战经验总结

    我的 Android 开发实战经验总结 字数4440 阅读5137 评论43 喜欢250 曾经一直想写一篇总结 Android 开发经验的文章,预计当时的我还达不到某种水平,所以思路跟不上,下笔又捉襟 ...

  4. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

  5. Java2年开发工作经验面试总结

    Java2年开发工作经验面试总结最近换了个公司,从二月底开始面,面到三月底,面了有快二十五家公司.我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些 ...

  6. 续关于C#的微信开发的入门记录一

    前几天写了一篇博客<关于C#的微信开发的入门记录一>,原文地址:http://www.cnblogs.com/zhankui/p/4515905.html,现在继续完善: 目前很多小伙伴都 ...

  7. C#开发微信门户及应用(44)--微信H5页面开发的经验总结

    在我们开发微信页面的时候,需要大量用到了各种呈现的效果,一般可以使用Boostrap的效果来设计不同的页面,不过微信团队也提供很多这方面的资源,包括JSSDK的接口,以及Weui的页面样式和相关功能页 ...

  8. 开发错误处理记录(无法激活服务,因为它不支持 ASP.NET 兼容性)

    错误提示:无法激活服务,因为它不支持 ASP.NET 兼容性.已为此应用程序启用了 ASP.NET 兼容性.请在 web.config 中关闭 ASP.NET 兼容性模式或将 AspNetCompat ...

  9. saltstack 开发相关命令记录

    SALT API开发相关命令记录. 查看当前的salt key信息salt-key -L 测试被控主机的连通性salt '*' test.ping 远程命令执行测试salt '*' cmd.run ' ...

随机推荐

  1. python模块调用

    1.某个模块1被调用到另一个模块2的时候,当不想模块1中的某些代码在模块2中执行时,可以在模块一种添加如下代码: if    __name__  ==     "__main__" ...

  2. 设计模式C#实现(四)——迭代器模式

    迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示. UML类图: 煎饼屋和餐厅合并了!但是有个小问题,虽然两家都同意实现相同的菜单项MenuItem,但是煎饼屋想使用A ...

  3. [编]IoT The Internet of Things (IoT) 物联网

    物联网是新一代信息技术的重要组成部分.其英文名称是“The Internet of things”.由此,顾名思义,“物联网就是物物相连的互联网”.这有两层意思:第一,物联网的核心和基础仍然是互联网, ...

  4. ASP.NET网站开发中的配置文件

    来源:微信公众号CodeL 1.配置文件层次分类 Machine.config:  对.netframework整体的配置 web.config(framework目录下):  对所有项目所公有的应用 ...

  5. NOIP2009普及组细胞分裂(数论)——yhx

    题目描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家.现在,他正在为一个细胞实 验做准备工作:培养细胞样本. Hanks 博士手里现在有 N 种细胞,编号从 1~N,一个 ...

  6. css3中box-flex的使用

    语法: box-flex:<number> 其中number取值:使用浮点数指定对象所分配其父元素剩余空间的比例.设置或检索伸缩盒对象的子元素如何分配其剩余空间. html代码: < ...

  7. UVALive 6092 Catching Shade in Flatland --枚举+几何计算

    题意:x=[-200,200],y=[-200,200]的平面,一天中太阳从不同角度射到长椅(原点(0,0))上,有一些树(用圆表示),问哪个时刻(分钟为单位)太阳光线与这些圆所交的弦长总和最长.太阳 ...

  8. [转] Linux下防火墙iptables用法规则详及其防火墙配置

    from: http://www.cnblogs.com/yi-meng/p/3213925.html 备注: 排版还不错,建议看以上的链接. iptables规则 规则--顾名思义就是规矩和原则,和 ...

  9. requirejs学习之路

    2006年,由于微软的名声比SUN公司的名声要大,选择了asp.net,利用VS开发了很多项目,那个时候觉得自己真是很牛气,什么都能做:现在随着互联网和移动互联的冲击,这些传统技术也受到了冲击,由于A ...

  10. IIS mime类型

    参考网站:http://www.iwms.net/n1381c2.aspx 以下例子为iis6.0 下载安卓.苹果安装包时候,需要添加mime类型才可以下载,否则访问不到 安卓 .apk  appli ...