Я пытаюсь создать скрипт, который будет генерировать нужные мне папки на лету.
Скрипт принимает переменные FolderName
и OrderID
для генерации имен папок для создания.Я добавил их в переменные «Только чтение» для скрипта.
Все отлично работает с FolderName
, только когда я пытаюсь получить доступ кOrderID
переменная, которая взрывается.Я получаю неприятную ошибку исключения ниже.
public void Main()
{
// Output File Expression
// "" + @[User::FolderName]+"\\Folder_"+ (DT_WSTR,20) @[User::T1_ID] +"\\SalesOrderHeader_T1_"+ (DT_WSTR,20) @[User::T1_ID]+ ".txt"
String folderName = (string)Dts.Variables["User::FolderName"].Value;
String OrderIDStr = (string)Dts.Variables["User::OrderID"].Value;
System.Windows.Forms.MessageBox.Show(OrderIDStr, "OrderID Var");
folderName = string.Concat(folderName, "\\Folder_");
System.Windows.Forms.MessageBox.Show(folderName, "Folder Name");
try
{
// Determine whether the directory exists.
if (Directory.Exists(folderName))
{
Console.WriteLine("That path exists already.");
System.Windows.Forms.MessageBox.Show("That path exists already.", "WARNING");
return;
}
// Try to create the directory.
DirectoryInfo di = Directory.CreateDirectory(folderName);
Console.WriteLine("The directory was created successfully at {0}.", Directory.GetCreationTime(folderName));
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
finally { }
}
Я устанавливаю значение 1
на уровне пакета и приводю его к типу String, поэтому я не уверен, в чем проблемаis.
Текст обрезается в поле, вот все:
в System.RuntimeMethodHandle.InvokeMethod (Object target, Object [] arguments, Signature sig, логический конструктор) в system.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal (Object obj, Object [] arguments, Object [] arguments) в System.Reflection.RuntimeMethodInfo.Invoke (Object obj,BindingFlags invokeAttr, связыватель Binder, параметры Object [], культура CultureInfo) в System.RuntimeType.InvokeMember (имя строки, привязка BindingFlags, связыватель Binder, объект Object, объект [] предоставлял арги, модификаторы ParameterModifier [], культура CultureInfo, строка String [] namedParams) в Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript ()