Приношу извинения за странный вопрос.
Короче говоря, у нас есть Visual FoxPro .prg, который выполняет запрос с использованием SQLEXEC()
, а затем использует AFIELDS()
для получения имени поля, поля Тип, ширина (длина) поля и десятичные разряды столбцов набора результатов для сохранения в таблицу SQL (даже если выбрано из временной таблицы или динамического c SQL).
What I ' Я ищу, чтобы он мог запускать этот .prg из SQL серверной CLR или даже с помощью xp_cmdshell без необходимости вручную открывать приложение Visual FoxPro.
Я уже пытался воссоздать эту функциональность в только CLR, но продолжал сталкиваться с проблемами с вложенными операторами INSERT INTO при использовании его в качестве хранимой процедуры CLR.
Кроме того, я попытался создать как функцию SQL CLR, но он попытается выполнить наши пользовательские перехватчики и выдать «Процедура не существует» ошибок, даже если они окружены IF Object_ID() IS NOT NULL
.
Кроме того, поскольку некоторые запросы могут быть результатом s временной таблицы, я не могу использовать OPENQUERY
или OPENROWSET
.
Конечная цель здесь - полностью отказаться от нашего клиента Visual FoxPro, но возможность получить метаданные столбца чего угодно брошенный в него, сдерживает нас.