c# - SQL Server 程序集中的非法字符问题

标签 c# database tsql stored-procedures assemblies

我正在使用 C# 中的 Directory.GetFiles。此代码被转换为程序集,然后在 T-SQL 脚本中使用。这是我认为是问题所在的代码行:

C#代码:

string[] filePaths = Directory.GetFiles(path, ext, SearchOption.AllDirectories);

错误(T-SQL 脚本):

System.IO.DirectoryNotFoundException: Could not find a part of the path 'G:\Photography\Archive\SPBKF3~L'.

我假设波浪号不是 Windows 中用于文件夹名称的合法字符,因为导致此错误的唯一文件夹是带有波浪号的文件夹。这些文件在 Mac 和 Windows 系统之间共享,我发现文件和文件夹名称在过去一直是一个问题。

我很难理解为什么 Directory.GetFiles 方法甚至会找到一个不存在的目录。该文件夹显示在 Windows 资源管理器中,但我无法访问该文件夹。

我可以做些什么来避免这些有问题的文件夹吗?

最佳答案

SPBKF3~L 看起来很像一个 8.3 缩短的文件名。您确定这不会在某处发生吗?

关于c# - SQL Server 程序集中的非法字符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6508768/

相关文章:

c# - 使用 Web 服务作为数据访问层开发 ASP.NET MVC 应用程序

c# - 监控日志数据类架构

sql-server - SQL Server XML 查询错误输出

sql - 排除 NULL 的 JOIN 字段上的匹配

mysql - 仅存储 0、1、-1 值的数据类型是什么?

sql - T-SQL 分组依据;包含或如果有

c# - 将函数从 C++ 转换为 C#

c# - C# 中的任意大整数

c# - .net 3.5 的 Rx(响应式扩展)的替代方案

java - MySQL 和 Java - 多个数据库的重复操作