Файл не найден в SQL - PullRequest
       9

Файл не найден в SQL

0 голосов
/ 23 ноября 2018

Я пытаюсь сделать следующее: каждый день я получаю CSV-файл, который в конечном итоге необходимо импортировать в SQL через Bulk Insert.Все это прекрасно работало в течение долгого времени, но недавно один из столбцов в файле CSV содержит текст, который необходимо заменить перед массовой вставкой.

После некоторого поиска я нашел следующий код для BAT-file:

@echo off &setlocal
set "search=%1"
set "replace=%2"
set "textfile=Input.txt"
set "newfile=Output.txt"
(for /f "delims=" %%i in (%textfile%) do (
    set "line=%%i"
    setlocal enabledelayedexpansion
    set "line=!line:%search%=%replace%!"
    echo(!line!
    endlocal
))>"%newfile%"
del %textfile%
rename %newfile%  %textfile%

Теперь, когда я положил этот bat-файл в каталог и дважды щелкнул, чтобы запустить его, он прекрасно работает.Но проблема сейчас в том, что я хочу интегрировать ее в хранимую процедуру SQL. Я помещаю ее в процедуру, подобную этой:

EXEC master..xp_CMDShell 'E:\FolderName\REPLACE.BAT'

Когда я пытаюсь запустить это, я получаю сообщение «Файл не найден» вSQL.Как для хранимой процедуры, так и для ее запуска в качестве запроса (под моими собственными учетными данными, которые являются правами администратора).Просто чтобы убедиться, что я дал пользователю SQL также полные права на определенную папку, но это тоже не помогло.

Как я могу получить эту работу внутри SQL Server?

...