Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SSI,在编写C#ScriptTask以获取文件名后将文件名插入Sql Server_C#_Sql Server_Excel_Ssis - Fatal编程技术网

使用SSI,在编写C#ScriptTask以获取文件名后将文件名插入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

我有一个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.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中的当前表中