我尝试使用脚本组件并将一些数据插入Oracle数据库,但是我遇到以下问题。
无法加载文件或程序集'Oracle.ManagedDataAccess, 版本= 4.122.1.0,文化=中性,PublicKeyToken = 89b483f429c47342' 或其依赖项之一。系统找不到指定的文件。
在ScriptMain.Input0_ProcessInputRow(Input0Buffer Row)在 UserComponent.Input0_ProcessInput(Input0Buffer Buffer)位于 UserComponent.ProcessInput(Int32 InputID,String InputName, PipelineBuffer Buffer,OutputNameMap OutputMap)位于 Microsoft.SqlServer.Dts.Pipeline.ScriptComponent.ProcessInput(Int32 InputID,PipelineBuffer缓冲区)位于 Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput(Int32 inputID,PipelineBuffer缓冲区)
在谷歌搜索之后,我认为我的问题应该与this issue.相同,我从以下位置复制Oracle.ManagedDataAccess.dll C:\ Program Files(x86)\ Oracle开发人员工具VS2017 \ odp.net \ managed \ common \ Oracle.ManagedDataAccess.dll
到
C:\ Windows \ assembly
或
C:\ Windows \ assembly \ GAC
如上一个链接所述。但是我再次面对同样的问题。您介意告诉我我是否想念任何部分吗?
我正在使用SSIS2017。
答案 0 :(得分:1)
那是错误的,您不应将文件手动复制到C:\Windows\assembly
。请注意,从.NET Framework 4开始,全局程序集缓存的默认位置为%windir%\Microsoft.NET\assembly
...\odp.net\managed\x64\OraProvCfg.exe
和/或...\odp.net\managed\x86\OraProvCfg.exe
。