我必须将整个文档导入到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导入这些文件?还是有另一种方法可以将文件放入表中?
答案 0 :(得分:0)
问题不是OPENROWSET,而是文件本身。许多名称都有不可见的字符。巧合的是,他们也有一些明显的特殊性格,这使我走错了路。除去不可见的字符后,该语句确实起作用。
基本上,我表中的名称与文件名不匹配。特殊字符和空格不是问题。