У меня есть два тестовых машины. я не знаю, если это возможно, но вот то, что им пытаются сделатьSQL: проверить наличие файла на локальном компьютере, когда я подключен к другому серверу базы данных
MACHINE1: есть установка
DbServer, где я в настоящее время вошли в систему
где файл C: \ test_IDNumber1 .txt расположен
где я использую SSMS. я подключиться к machine2 \ SQLServer
machine2: есть установка DbServer
, где находится DbServer для DBTEST
DBTEST где имя файла хранятся записи
Во-первых, мне нужно сделать некоторые выберите сценарий из DBTEST получить IDNumber для Имя файла
SELECT FileName FROM tblFiles where...... (results to "IDNumber1")
Тогда я буду проверять существование файла с тем же IDNumber (например: «C: \ test_IDNumber1.txt»), используя этот скрипт
EXEC xp_fileexist 'C:\test_IDNumber1.txt', @exists OUTPUT
Если файл существует, то, что мне нужно, чтобы удалить запись из DBTEST на machine2 и файл с mACHINE1
DELETE FROM tblFiles where Filename = 'IDNumber1' EXEC master.dbo.xp_cmdshell 'del ''C:\test_IDNumber1.txt'''
но результат существования всегда 0, так как он проверяет C привод machine2 где DBTEST находится.
Есть ли способ использовать скрипт select из db из Machine2 и проверить наличие файла с Machine1?
большое спасибо
Почему серверу баз данных необходимо проверить файл на удаленной машине? Чего вы пытаетесь достичь? – miroxlav
Привет @miroxlav, имя файла, который я пытаюсь проверить, из базы данных.мне нужно сначала выбрать idnumber из базы данных, а затем проверить, существует ли файл с именем файла, аналогичным idnumber – user6007010
. Можно ли настроить SQL Server на Machine1 и из DBTest на Machine2 выполнить хранимую процедуру на Machine1 SQL Server, которая сообщит вам о существовании файла? – miroxlav