C# 使用SSIS以编程方式将Excel工作表数据导入SQL表

C# 使用SSIS以编程方式将Excel工作表数据导入SQL表,c#,.net,sql-server,ssis,C#,.net,Sql Server,Ssis,我试图实现一个解决方案,通过编辑脚本任务,使用C以编程方式将Excel工作表数据导入SSIS中的SQL表 不幸的是,我没有找到任何简单的例子来说明如何在线实现类似的解决方案 下面是我在编辑脚本窗口中尝试的代码,它向我抛出以下错误 public void Main() { ADODB.Connection conn=new ADODB.Connection(); string strSQL; object

我试图实现一个解决方案,通过编辑脚本任务,使用C以编程方式将Excel工作表数据导入SSIS中的SQL表

不幸的是,我没有找到任何简单的例子来说明如何在线实现类似的解决方案

下面是我在编辑脚本窗口中尝试的代码,它向我抛出以下错误

  public void Main()
        {
            ADODB.Connection conn=new ADODB.Connection();

            string strSQL;
            object lngRecsAff;

            conn.Open(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Engagements\QCRT\SSIS\InputFolder\Order.xlsx;Extended Properties=Excel 12.0","","",0);
            strSQL = @"SELECT * INTO [ODBC;Driver={SQL Server};Server=IN45216580W1\SQLEXPRESS;Database=[Northwind]].[dbo].[Order_Test1] FROM [1$]";
            conn.Execute(strSQL,out lngRecsAff,0);


            Dts.TaskResult = (int)ScriptResults.Success;
        }
错误消息:

错误:System.Reflection.TargetInvocationException:调用的目标已引发异常。-->System.Runtime.InteropServices.COMException 0x80004005:找不到可安装的ISAM。 在ADODB.ConnectionClass.OpenString ConnectionString、字符串用户ID、字符串密码、Int32选项 在ST_2d2b7b209a00481087e0c1720214c207.csproj.ScriptMain.Main -内部异常堆栈跟踪的结束-- 在System.RuntimeMethodHandle.\u InvokeMethodFastObject目标、Object[]参数、SignatureStruct&sig、MethodAttributes、MethodAttributes、RuntimeTypeHandle类型所有者 在System.RuntimeMethodHandle.InvokeMethodFastObject目标处,对象[]参数,签名符号,MethodAttributes MethodAttributes,RuntimeTypeHandle类型所有者 在System.Reflection.RuntimeMethodInfo.InvokeObject obj中,BindingFlags invokeAttr、Binder Binder、Object[]参数、CultureInfo区域性、布尔skipVisibilityChecks 在System.Reflection.RuntimeMethodInfo.InvokeObject obj中,BindingFlags invokeAttr、Binder Binder、Object[]参数、CultureInfo区域性 在System.RuntimeType.InvokeMemberString名称、BindingFlags BindingFlags、Binder Binder、对象目标、对象[]提供的参数、参数修改器[]修饰符、CultureInfo区域性、字符串[]namedParams 在System.Type.InvokeMemberString名称、BindingFlags invokeAttr、Binder Binder、对象目标、对象[]参数、CultureInfo区域性 位于Microsoft.SqlServer.Dts.Tasks.ScriptTask.vstatasksscriptingengine.ExecuteScript


我对SSIS非常陌生,我做错了什么。

您为什么希望以编程方式执行此操作?如果在SSI中实现这种连接而不使用SCRPT,则有更简单的方法。如果您有一个应用程序,它接收Excel文件并将其数据加载到Sql Server中,请使用Microsoft.Ace.Oledb provider查询Excel工作簿,并使用SqlClient将此数据加载到DB Server上的表中。网上有很多例子,哪一个是解决方案?有源代码吗?