虽然工作经验相当的长,但是之前在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. spring提供的解决中文乱码方案

    在表单提交时,如果遇到中文符号会出现乱码问题. Spring提供一个CharacterEncodingFilter过滤器,可用于解决乱码问题. CharacterEncodingFilter使用的时候 ...

  2. python set集合简单使用

    Python 提供了强大的集合操作方法,我们可以完成数学中集合的并集.交集.差集等操作,如下: >>> a = {1,2,3} >>> b = {3,4,5} &g ...

  3. Windows 网络问题

    一.问题描述 每次重启后电脑的ip地址或无故没掉,或不能正常连网,要重新设置ip才能上网.   二.解决方法 在DOS窗口执行 netsh winsock reset netsh int ip res ...

  4. 【温故而知新-Javascript】使用 Document 对象

    Document 对象时通往DOM功能的入口,它向你提供了当前文档的信息,以及一组可供探索.导航.搜索或操作结构与内容的功能. 我们通过全局变量document访问Document对象,它是浏览器为我 ...

  5. jquery 实现邮箱输入自动提示功能:(一)

    记得去年做某个项目的时候,用到了邮箱输入自动提示功能,于是网上搜了一下,发现了这个写得不错,现在回想起来,转载一下,方便查阅. 邮箱的广泛使用得益于它的免费,因此很多网站在注册的时候都会直接使用邮箱作 ...

  6. Android开发环境搭建(转)

    转载:http://www.cnblogs.com/zoupeiyang/p/4034517.html#1 引言   在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想 ...

  7. 数据结构Java实现02----线性表与顺序表

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  8. [ORACLE错误]ORA-00001: unique constraint (...) violated并不一定是数据冲突

    遇到这种情况,重建完表和索引后,终于正常INSERT了.  prompt Importing table COUPON_ACTIVITYset feedback offset define offin ...

  9. java9-8 局部内部类

    1. 局部内部类 A:可以直接访问外部类的成员 B:在局部位置,可以创建内部类对象,通过对象调用内部类方法,来使用局部内部类功能 面试题: 局部内部类访问局部变量的注意事项? A:局部内部类访问局部变 ...

  10. android获取当前行所属类和所属方法名

        第一种方法: String Method = Thread.currentThread().getStackTrace()[2].getMethodName();   第二种方法: priva ...