我正在尝试使用 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很新,我做错了什么。