1
|
MarlonRibunal · 技术社区 · 16 年前 |
1
1
查看问题和Tomalak的回答,我假设报表服务器能够访问数据库中的文件夹: 首先设置查询以返回路径的结果集-我假设您对这部分不会有任何问题。接下来,您需要向报表中添加自定义代码函数: http://msdn.microsoft.com/en-us/library/ms155798.aspx -此函数将以文件夹路径作为参数,并返回文件夹的大小。如果你想在报告中嵌入代码,就必须用vb.net编写,或者你可以编写一个dll并将其引入。 一个示例vb.net代码块(请记住,可能需要在对象前面加上System.IO。) http://www.freevbcode.com/ShowCode.asp?ID=4287
现在,在您的报告中,在您的表中,对于显示文件夹大小的单元格,您需要一个表达式,如下所示:
我怀疑这种方法对于手动查看的报告是否有效,但是对于小的结果集,或者通过电子邮件发送的计划报告,您可能会放弃它。 哦,这篇文章建议您使用RS中的system.io“可能”遇到权限问题: http://blogs.sqlxml.org/bryantlikes/pages/824.aspx |
2
0
你能说明在你的场景中谁应该做什么吗?您希望SQL Server获取信息还是希望报表服务器执行此操作?
“文件夹大小”究竟是什么意思?“一个文件夹,总结每个文件”足够吗?还是需要递归?不管怎样,我都会使用一些自定义的.NET函数
|
3
0
我会考虑将它分成两部分,可能是Windows服务扫描目录并将数据聚合到数据库中,然后像往常一样使用SSR报告数据库。 我建议这样做的原因是使用master..xp_filesize,它与SQL Server服务启动时需要访问要扫描路径的帐户相同。一旦这变成了其他机器上的访问路径,我就不太愿意接受它的安全含义。 希望这有帮助 |
4
0
在SSR中,您可以借助自定义数据扩展来实现这一点。您需要将数据源的路径作为文件夹名,它将检索您的文件及其相关信息并显示 为了进一步参考和自定义dll,请使用此 http://www.devx.com/dbzone/Article/31336/0/page/4 我以前做过。 注意:您必须对报表设计器和报表管理器配置文件进行相关更改。 |
ybou · 需要帮助从SQL 2005查询中删除过时的=*连接运算符 7 年前 |
Robert · 将多个分隔符分隔的字段视为不同的行 8 年前 |
hud · 执行存储过程会导致错误 8 年前 |
Gonzalo · 如何将存储过程的结果插入到新表中? 8 年前 |