ssis的script task做業失敗

個人ssis做業包裏用了一個script task,會查詢一個http的頁面接口,獲取json數據後解析而後作後續處理,其中解析json引用了本地目錄下的第三方的類庫:Newtonsoft.Json.dlljava

在vs環境中調試包的時候報錯sql

 在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   在 System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
   在 Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()

檢查後發現:dll沒有正確註冊,須要作以下操做:json

  1. 將dll拷貝到sqlserver的程序目錄中,個人sqlserver是2012,版本號就是110,則文件須要拷貝到...\110\DTS\PipelineComponents目錄中ide

  2. 向將類庫註冊到.net framework gac中,註冊工具室gacutil.exe,由於個人dll是基於.net 4.0的,因此也須要使用4。0的gacutil,可是.net framework 只有1.1纔有這個工具,版本卻不對,不過這個工具在visual studio的安裝中帶了,個人vs版本爲2012,則在系統應用程序目錄下能夠找到,個人目錄是C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin中能夠找到gacutil.exe,執行 gacutil.exe /i ***.dll,成功註冊,再執行ssis package,再也不出現以上錯誤工具

相關文章
相關標籤/搜索