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

时间:2015-10-01 09:49:56

标签: c# .net sql-server ssis

我正在尝试使用 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。    at ADODB.ConnectionClass.Open(String ConnectionString,String UserID,String Password,Int32 Options)    在ST_2d2b7b209a00481087e0c1720214c207.csproj.ScriptMain.Main()    ---内部异常堆栈跟踪结束---    at System.RuntimeMethodHandle._InvokeMethodFast(Object target,Object [] arguments,SignatureStruct& sig,MethodAttributes methodAttributes,RuntimeTypeHandle typeOwner)    at System.RuntimeMethodHandle.InvokeMethodFast(Object target,Object [] arguments,Signature sig,MethodAttributes methodAttributes,RuntimeTypeHandle typeOwner)    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object [] parameters,CultureInfo culture,Boolean skipVisibilityChecks)    在System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object []参数,CultureInfo文化)    at System.RuntimeType.InvokeMember(String name,BindingFlags bindingFlags,Binder binder,Object target,Object [] providedArgs,ParameterModifier [] modifiers,CultureInfo culture,String [] namedParams)    at System.Type.InvokeMember(String name,BindingFlags invokeAttr,Binder binder,Object target,Object [] args,CultureInfo culture)    在Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()

我对SSIS很新,我做错了什么。

0 个答案:

没有答案