Невозможно выполнить массовую загрузку из файла, расположенного на сетевом диске - PullRequest
0 голосов
/ 29 апреля 2020

Я сделал приложение QT, которое создает файл .csv на сетевом диске, подключается к БД MS SQL через соединение ODB C, а затем выполняет BULK INSERT. Проблема в том, что когда программа выполняет запрос с использованием имени входа, происходит сбой с:

[Microsoft] [ODB C SQL Драйвер сервера] [SQL Сервер] Не удается выполнить массовую загрузку потому что файл "\ 10.10.10.10 \ data \ myCSV.csv" не может быть открыт. Код ошибки операционной системы 58 (указанный сервер не может выполнить запрошенную операцию.).

Мне нужно иметь возможность запустить эту программу с удаленного компьютера и указать сетевой путь для оператора BULK INSERT , Должно быть какое-то разрешение, которое не , позволяющее ODB C SQL SERVER входить в сеть / UN C пути. Что это? Что мне не хватает? Я попытался дать разрешение на сетевой путь для чтения всем и множеству других вещей.

Вот несколько тестов, которые я сделал, и их результаты:

Если я Запустите приложение на том же компьютере, используя «TRUSTED_CONNECTION», все работает как положено, независимо от местоположения файла.

Если я запускаю приложение на том же компьютере, используя логин и сетевой путь, я получаю выше ошибка. Если я использую локальный путь (например, C: \), все работает как положено.

Если я запускаю приложение удаленно, я должен использовать логин, и программа завершается с ошибкой, описанной выше.

1 Ответ

0 голосов
/ 29 апреля 2020

Явно предоставьте учетной записи AD серверную службу SQL, работающую с доступом к общему ресурсу

. Это обязательный шаг, чтобы заставить его работать «Для аутентификации на другом хосте? Полностью.

Спасибо @Larnu за ответ, это решило

...