OPENROWSET не может найти файлы со специальными символами в имени файла - PullRequest
0 голосов
/ 29 августа 2018

Мне нужно импортировать документы целиком в таблицу 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 голосов
/ 29 августа 2018

Ошибка не в OPENROWSET, а в именах файлов. У многих имен были невидимые символы. По совпадению у них также был некоторый видимый специальный характер, который привел меня на неправильный след. После удаления невидимых символов оператор сработал.

В основном имена в моей таблице не совпадают с именами файлов. Специальные символы и пробелы не были проблемой.

...