У меня будет 3 ежедневных файла, поступающих на мой C:
диск с отметками времени в формате YYMMDDhhmm
. напр. TotalSale1611160037
означает 2016-11-16 12:37 am
Проверка файлов существует с использованием wild card в SQL Server 2014
TotalSale1611160037
RegionSale1611160037
Statesale1611160037
Я запланировал работу агента SQL Server, чтобы загрузить эти 3 файла в SQL Server 2014.
Мое требование, что перед началом работы загрузки, мне нужно проверить, если 3 файлы присутствуют на диске C:
. Работа должна выполняться только в том случае, если 3 файла присутствуют на диске C:
.
Если какой-либо из этих файлов отсутствует на диске C:
, задание загрузки не должно запускаться и отправлять электронную почту базы данных, показывающую, какие файлы отсутствуют.
Первая часть файлов (TotalSale
, RegionSale
, Statesale
) будет одинаковой каждый день; изменится только временная метка (1611160037
). После процесса загрузки я переместлю эти файлы в другую папку.
Пожалуйста, помогите мне. Я не знаю, как проверить файлы, используя символы wild card в SQL Server.
Спасибо за ваше время и помочь
Есть способы сделать это в SQL, который включает в себя xp_cmdshell, но это проблема безопасности. Я предлагаю вам поместить это на прикладном уровне, то есть использовать .net или java, а затем запустить SQL-сервер SQL из уровня приложения вместо кодирования всего этого в SQL Server – Surendra
Возможный дубликат [Проверить файл существует или нет в SQL-сервере ?] (http://stackoverflow.com/questions/11740000/check-for-file-exists-or-not-in-sql-server) – Doliveras
Обычно вы должны использовать задачу сценария SSIS и System.IO.File.Exists() и/или system.io.directoryinfo.getfiles и прокрутите, чтобы узнать, существуют ли файлы, которые вы хотите. – Matt