Я использую SSIS и задачу сценария в C#.
У меня есть FOR EACH L oop, который просматривает папку и назначает полный путь и имя файла для каждого найденного файла. переменная с именем FileNameFound
, которая, в свою очередь, затем назначается переменной с именем filepath
в задаче сценария.
У меня также есть параметр Project, в котором хранится выходной путь, он назначается для 'newFilepath' в рамках задачи «Сценарий».
Используя какой-то другой код, я зашифрую файл csv.
Суть в том, что мне нужен вывод в go в другую папку, отличную от того, где он был найден, но с тем же именем файла.
например,
- find файл:
c:\folder\test.csv
- зашифровать и вывести на
c:\folder\new folder\test.csv
Мне нужно newFilepath
в качестве переменной $Project::CSV_OutputFolder + test.csv
Я пытаюсь включить GetFileNameWithoutExtension(String)
, но продолжать получать сообщение об ошибке:
Имя 'GetFileNameWithoutExtension' не существует в текущем контексте
Это мой код:
public void Main()
{
// Get the filepath of the file that needs to be encrypted.
string filepath = Dts.Variables["FileNameFound"].Value.ToString();
// build output path
string newFilepath = Dts.Variables["$Package::$Project::CSV_OutputFolder"].Value.ToString() + GetFileNameWithoutExtension(Dts.Variables["FileNameFound"].Value.ToString())+ ".csv";
// Get password from SSIS variable
string encryptionKey = Dts.Variables["EncryptionKey"].ToString();
// Create an encrypted copy of the file
Encrypt(filepath, newFilepath, encryptionKey);
// Close Script Task
Dts.TaskResult = (int)ScriptResults.Success;
}
Чего мне не хватает?