我正在尝试将我的.NET 4.5 Windows服务从非托管切换到Oracle.ManagedDataAccess.dll ODP.NET 4.121.1.0。该应用程序本身工作正常。切换到ODP.NET 4.121.2.0没有帮助。
我多年来一直在将log4net保存到数据库表中,在AdoNetAppender中设置连接类型:
<connectionType value="Oracle.DataAccess.Client.OracleConnection,
Oracle.DataAccess, Version=2.112.1.2, Culture=neutral,
PublicKeyToken=89B483F429C47342" />
我想使用托管连接,但经过几个小时和谷歌搜索后,我找不到可行的连接类型。
App.Config:
connectionType value="Oracle.ManagedDataAccess.Client,
Oracle.ManagedDataAccess, Version=4.121.1.0,
Culture=neutral, PublicKeyToken=89b483f429c47342"
输出到textWriterTraceListener包含:
log4net:错误[AdoNetAppender] ErrorCode:GenericFailure。失败 加载连接类型[Oracle.ManagedDataAccess.Client, Oracle.ManagedDataAccess,Version = 4.121.1.0,Culture = neutral, 公钥= 89b483f429c47342] System.TypeLoadException:无法从程序集中加载“Oracle.ManagedDataAccess.Client”类型 'Oracle.ManagedDataAccess,Version = 4.121.1.0,Culture = neutral, 公钥= 89b483f429c47342' 。
答案 0 :(得分:12)
我认为App.Config必须是这样的:
connectionType value="Oracle.ManagedDataAccess.Client.OracleConnection,
Oracle.ManagedDataAccess, Version=4.121.1.0,
Culture=neutral, PublicKeyToken=89b483f429c47342"