完整路径必须少于260个字符?

时间:2011-06-21 00:09:23

标签: c# file-io reporting-services ssrs-2008

我将我的网络应用程序中的一个菜单项指向以下路径

http://localhost/Reports/Pages/Folder.aspx?ItemPath=/Parent Reports/Child Reports

当我点击它时,报告管理器UI会显示以下消息:

  

项目'http://localhost/Reports/Pages/Folder.aspx?ItemPath = / Parent Reports / Child Reports'的路径无效。完整路径长度必须少于260个字符;其他限制适用。如果报表服务器处于纯模式,则路径必须以斜杠开头。

PLS。建议。感谢。

3 个答案:

答案 0 :(得分:0)

Windows中肯定存在260个路径限制(或者是NTFS?)。也许解决方案文件夹的路径以及为该请求提供服务的aspx页面的子文件夹和文件名超过260个字符。如果是这种情况,请尝试将解决方案文件夹移近c:\ root,然后重试。

答案 1 :(得分:0)

请注意,Windows确实实现了旧版MS-DOS 260 char路径限制的解决方案。它是Long UNC路径格式,以\\?\开头,例如\\?\c:\path\file.txt

如果您有权访问产生此错误的Web服务的源代码,您可以尝试在将URL参数转换为本地文件路径的服务代码中进行挖掘,并查看在前端添加\?\是否有助于解决问题一点都不。

您在URL上收到此文件路径错误消息似乎很奇怪。检查您的代码(或Web服务的代码),看看是否有人使用Path函数,他们应该使用URI函数。

最后,请注意您的示例在路径和URI中都包含空格字符。 URI中绝对禁止使用空格字符;你将需要URI使用%20转义它们以使它们成为有效的URI。这可能是问题的真正原因 - Web服务实际上并没有接收您发送的整个URI,因为URI解析将停在第一个空格字符处。

答案 2 :(得分:0)

当我的一位开发人员尝试使用report builder

在ssrs中编辑报告时,我遇到了同样的问题

当他访问位于不同路径上的数据源时,问题就开始了。

我在授予该特定数据源后,立即获得了以下权限,一切正常:

enter image description here