OPENROWSET找不到文件名中带有特殊字符的文件

时间:2018-08-29 09:39:58

标签: sql-server special-characters filenames openrowset

我必须将整个文档导入到SQL Server表中。我有一个包含所有文件名的表。我遍历该表并使用以下动态SQL加载数据。

SET @sqlUpdate = 'UPDATE [targettable] SET [ScanData]=(SELECT * FROM OPENROWSET(BULK N''' + @sourcePath + @filename + ''', SINGLE_BLOB) f) WHERE [FileName]=''' + @fileName + '''';
EXEC (@sqlUpdate);

这适用于大多数文件。但是,如果文件名中包含特殊字符(例如“ä”或“š”),那么我会收到文件未找到错误。

是否有一些设置可以使OPENROWSET导入这些文件?还是有另一种方法可以将文件放入表中?

1 个答案:

答案 0 :(得分:0)

问题不是OPENROWSET,而是文件本身。许多名称都有不可见的字符。巧合的是,他们也有一些明显的特殊性格,这使我走错了路。除去不可见的字符后,该语句确实起作用。

基本上,我表中的名称与文件名不匹配。特殊字符和空格不是问题。