0
我试图循环访问一个文件夹。每个文件的后缀都可以在SQL表的列中找到。这个后缀是我的LINQ语句的WHERE
,并且是脚本任务中的一个变量(显示在注释中)。在谓词为真的情况下,我希望它从SQL表中同一行的另一列返回值,并将其他列的值分配给脚本任务中的另一个变量。现在我只是在做一个MessageBox.Show测试。在SSIS脚本任务中使用LINQ将值赋给变量
我在我的SSIS包中建立了一个OLEDB连接管理器,我不知道如何在任务内部运行LINQ查询,我想我在如何设置连接时缺少一些东西。任何指针都会被感激地收到。这里有多远,我有:
public void Main()
{
string sourcePath = Dts.Variables["User::sourcePath"].Value.ToString();
string archivePath = Dts.Variables["User::archivePath"].Value.ToString();
string destinationPath = Dts.Variables["User::archivePath"].Value.ToString();
SqlConnection conn = new SqlConnection();
conn = (SqlConnection)(Dts.Connections["Server.Database"].AcquireConnection(Dts.Transaction) as SqlConnection);
DirectoryInfo directoryInfo = new DirectoryInfo(sourcePath);
FileInfo[] files = directoryInfo.GetFiles();
foreach (FileInfo fileInfo in files)
{
string fileName = fileInfo.ToString();
fileName = fileName.Split('_')[0]; // File Suffix
string destinationPrefix = "";
// LINQ HERE USING fileName variable:
//destinationPrefix = FROM t in Table where t.Column == fileName select destinationPrefixColumn
MessageBox.Show(destinationPrefix);
}
}