使用SSI,在编写C#ScriptTask以获取文件名后将文件名插入Sql Server
我有一个Excel文件目录,其中包括文件名中的日期;它们代表报告。我已经将所有数据从excel文件导入sequel server,但需要将文件名中的日期附加到导入Sql server的每个记录中 示例目录列表使用SSI,在编写C#ScriptTask以获取文件名后将文件名插入Sql Server,c#,sql-server,excel,ssis,C#,Sql Server,Excel,Ssis,我有一个Excel文件目录,其中包括文件名中的日期;它们代表报告。我已经将所有数据从excel文件导入sequel server,但需要将文件名中的日期附加到导入Sql server的每个记录中 示例目录列表 A_201008.xls A_201009.xls A_201010.xls ... ... ... 以下是我的C#ScriptTask,用于填充文件名数组: using System; using System.Data; using Microsoft.SqlServer.Dts.R
A_201008.xls
A_201009.xls
A_201010.xls
...
...
...
以下是我的C#ScriptTask,用于填充文件名数组:
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;
using System.IO
public void Main()
{
// TODO: Add your code here
string[] files = Directory.GetFiles(@"\\S\Apps\Files\", "A*.xls*", SearchOption.AllDirectories);
int Flag = 0;
string dir = @"\\S\Apps\Files\";
string[] files1;
int numFiles;
files1 = Directory.GetFiles(dir);
numFiles = files.Length;
for (int i = 0; i < numFiles; i++)
{
string file = files[i].ToString();
int file1 = file.IndexOf(dir, StringComparison.CurrentCultureIgnoreCase);
if (file1 != -1)
{
MessageBox.Show(file);
Flag = 1;
}
}
if (Flag == 0)
{
MessageBox.Show("No Matches Found");
}
Dts.TaskResult = (int)ScriptResults.Success;
}
使用系统;
使用系统数据;
使用Microsoft.SqlServer.Dts.Runtime;
使用System.Windows.Forms;
使用System.IO
公共图书馆
{
//TODO:在此处添加代码
字符串[]files=Directory.GetFiles(@“\\S\Apps\files\”、“A*.xls*”、SearchOption.AllDirectories);
int标志=0;
字符串目录=@“\\S\Apps\Files\”;
字符串[]文件1;
整数文件;
files1=Directory.GetFiles(dir);
numFiles=files.Length;
对于(int i=0;i
MsgBoxes仅用于测试脚本,将被删除
我的问题是。SSIS中的协议是什么,从我的数组中获取文件名以将它们插入SQL Server中我的表的相关行中
请注意,我已经知道如何修剪日期的文件名
感谢文件夹中的所有文件,是否要将这些文件记录到某个表中?您是否关心是将它们作为一个单独的快照全部插入,还是可以插入一个文件名,插入下一个文件名,或者在SSI中有一个ForEach循环容器,该容器已经循环了所有文件并将数据导入Sql Server(数百万行)。我现在需要从文件名(即201010)中获取日期,并将其插入Sql Server中文件名中相关报告日期的每一行的日期列。@billinkc例如,a_201008.xls有数千行,每一行的日期列中都必须有报告日期(来自文件名)。A-201009.xls还有数千行,每一行都必须有日期……等等。需要注意的是,报告中的所有数据都已导入到同一个表中。因此,所有的日期都需要插入到相关的日期列中。您想在导入中添加一个附加列以提供有关源的元数据吗?正确…我想将文件名中的日期导入Sql Server中的当前表中。我刚刚写了一个c#脚本来获取文件名。我想使用SSIS将日期从文件名导入SQL Server中的当前表中