下面描述一个场景,你用SSRS报表通过存储过程或者SQL语句来获取数据进而输出报表,如果,你的报表上面需要有个二维码,该如何实现?答案当然可以有很多种,生成实体图片,链接动态给入?或者是将图片转成流存进数据库,报表读取的时候取出来?这些办法当然都可以。下面是我的办法,在C#里面去做生成二维码转成流的动作,然后打包成DLL,在数据库中将DLL导入,建立数据库的Function,然后在生成报表的时候能直接像一个数据库的字段一样直接Select出来,中间不需要在数据库服务器存在任何的图片文件。在C# 里面写代码生成二维码的方式有很多,我是用Zixing.dll,这里就不细说了,重点是后面的如何将DLL引入数据库。
数据库服务器准备工作
1.启用CLR
exec sp_configure 'clr enabled' , 1
reconfigure
2.设置信任程序集(如果有还原数据库也要重新执行)
ALTER DATABASE 数据库名 SET TRUSTWORTHY