Пакетный SQL-запрос Windows, имя базы данных включает знак процента (%)
Я использую пакетные файлы с RazorSQL для запроса баз данных размещенного кэша для определенных данных. Я хочу использовать тот же процесс для сбора текущего времени резервного копирования для кэша. Большая разница в том, что эти данные хранятся в системном пространстве имен, в имени которого есть знак процента%. Запрос выглядит так:
Выберите * из%sys.task, где имя, например, "%Backup%"
Это прекрасно работает с RazorSQL. Но когда я помещаю его в пакетный файл, происходит сбой из-за знака%. Пакетный файл выглядит следующим образом (что очень похоже на другие вещи, которые я успешно использую против обычных имен баз данных):
"C: \ Reporting \ Casecount \ RazorSQL \ jre \ bin \ java" -jar "C: \ Reporting \ Casecount \ RazorSQL \ razorsql.jar" -export "Tst_Bkup" "Выбрать * из%sys.task, где имя похоже на '%Vision%'" csv NO
Когда вы запускаете это в командном окне, вы можете видеть, как оно разбирает аргументы, но аргумент для запроса выглядит так:
args [2]: Выбрать * из Vision'
Он в основном пропускает с первого% на 2% и игнорирует все промежуточное. Против обычных имен баз данных вы бы правильно увидели запрос в этом аргументе. Я пробовал кавычки, двойные кавычки, скобки, восклицательные знаки и т. Д., И не могу заставить его передать% в аргумент. Я не кодер по профессии, поэтому я не в себе.