string constr = "数据源=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=spp01)(PORT=1521))(CONNECT_DATA=(SID=Global)));用户
Id=SYSMAN;Password=testman3"; 字符串 ProviderName = "Oracle.DataAccess.Client";
DbProviderFactory factory = DbProviderFactories.GetFactory(ProviderName);
我能够在控制台和 winforms 应用程序中连接到 oracle。上面的代码在一个单独的类库中。我已经安装了 64 位 ODAC。
ORACLE.DATAACCESS 设置为 2.x 版本 2.112.3.0。我检查了 machine.config 条目 Framework64 v2.0.50727 和 v4.0.30319
type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, 版本=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
CPU = 任何 CPU 框架 = 3.5
当我从 ASP.net 的类库中调用相同的代码时,我收到以下错误
System.ArgumentException 未被用户代码处理 Message=Unable to find the requested .Net Framework Data Provider。它可能没有安装。Source=System.Data StackTrace:在 System.Data.Common.DbProviderFactories.GetFactory(字符串 providerInvariantName)
我什至将 apppool 设置为允许 32 位应用程序。
如何解决此错误?