在32位Oracle客户端安装中,是否包含用于.NET 4.0的Oracle.DataAccess.dll?

4
以下是Oracle客户端32位(win32_11gR2_client.zip)安装中的两个路径和文件列表,涉及.NET 2.X和4.X。在我安装Oracle客户端时,在安装向导的两个窗口中,我选择了不使用默认设置。我选择安装“运行时”,并将安装路径从c:\ apps {user}更改为c:\ oracle,因为我们组织的Oracle DBA给了我这些指示。
C:\ oracle \ product \ 11.2.0 \ client_1 \ ODP.NET \ bin \ 2.x \ C:\ oracle \ product \ 11.2.0 \ client_1 \ ODP.NET \ bin \ 2.x \ Oracle.DataAccess.dll C:\ oracle \ product \ 11.2.0 \ client_1 \ ODP.NET \ bin \ 2.x \ OraProvCfg.exe C:\ oracle \ product \ 11.2.0 \ client_1 \ ODP.NET \ bin \ 4 \ C:\ oracle \ product \ 11.2.0 \ client_1 \ ODP.NET \ bin \ 4 \ OraProvCfg.exe 我想在.NET 4.X应用程序中引用Oracle.DataAccess.dll程序集。我找到了这些说明,以将dll文件添加到64位安装的GAC中。 http://devblog.rayonnant.net/2011/04/oracle-11g-r2-x64-client-with-odac.html 四个问题。
1.) 如果我运行此命令(稍微修改了路径),对于我的32位安装,会发生什么?
cd C:\oracle\product\11.2.0\client_1\ODP.NET\bin\4

OraProvCfg.exe /action:gac /providerpath:C:\oracle\product\11.2.0\client_1\ODP.NET\bin\4\Oracle.DataAccess.dll

2.) 在运行步骤 #1 之前,我该如何获取GAC中内容的列表?

3.) 这个命令是撤销步骤 #1 的正确命令吗?

cd C:\oracle\product\11.2.0\client_1\ODP.NET\bin\4

OraProvCfg.exe /action:ungac /providerpath:C:\oracle\product\11.2.0\client_1\ODP.NET\bin\4\Oracle.DataAccess.dll

4.) 不是将它添加到GAC,我该如何生成dll文件呢?正确的“action”参数是什么?我之所以想这样做是因为我无法在“4”文件夹中看到dll。我只能在“2.x”文件夹中看到dll。

如果有兴趣的话,这里是该文件的帮助内容。

C:\oracle\product\11.2.0\client_1\ODP.NET\bin\4>OraProvCfg.exe

Oracle Providers for .NET Configuration Utility for .NET Framework 4 : Release 4 .112.3.0 Production on Thu Jul 23 12:09:37 2015 Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.

Usage: OraProvCfg /action: [/force] [/product:] [/component:] [/productversion:] [/frameworkversion:<.NET framework version>] [/providerpath:] [/verbose:] [/log:]

Example: Installing an assembly in the GAC: OraProvCfg /action:gac /providerpath:

Example: Uninstalling an assembly from the GAC: OraProvCfg /action:ungac /providerpath:

Assembly name can be specified as "Oracle.DataAccess, Version=2.111.5.10"
to uninstall a specific version of assembly.

Example: Configuring machine.config for ODP.NET: OraProvCfg /action:config /product:odp /frameworkversion:v2.0.50727 /providerpath:

OraProvCfg  /action:config  /force /product:odp
            /frameworkversion:v2.0.50727
            /providerpath:<Oracle.DataAccess.dll full path>

Example: Unconfiguring machine.config for ODP.NET: OraProvCfg /action:unconfig /product:odp /frameworkversion:v2.0.50727

Example: Registering ODP.NET Performance Counters: OraProvCfg /action:register /product:odp /component:perfcounter /providerpath:

Example: Unregistering ODP.NET Performance Counters: OraProvCfg /action:unregister /product:odp /component:perfcounter /providerpath:

Example: Configuring ODP.NET OraclePermission for Web Applications: OraProvCfg /action:config /product:odp /component:oraclepermission /frameworkversion:v2.0.50727 /providerpath:

OraProvCfg  /action:config  /product:odp /component:oraclepermission
            /frameworkversion:v2.0.50727
            /productversion:<Oracle.DataAccess.dll product version>

Example: Unconfiguring ODP.NET OraclePermission for Web Applications: OraProvCfg /action:unconfig /product:odp /component:oraclepermission /frameworkversion:v2.0.50727 /providerpath:

OraProvCfg  /action:unconfig  /product:odp  /component:oraclepermission
            /frameworkversion:v2.0.50727
            /productversion:<Oracle.DataAccess.dll product version>

Example: Configuring machine.config for ASP.NET: OraProvCfg /action:config /product:aspnet /component: /frameworkversion:v2.0.50727 /providerpath:

OraProvCfg  /action:config  /force /product:aspnet
            /component:<provider name>
            /frameworkversion:v2.0.50727
            /providerpath:<Oracle.Web.dll full path>

<provider name> valid values: all, membership, profile, rolemanager,
personalization, webevent, sitemap or a combination thereof
("membership | profile", for example). Default value is all.

Example: Unconfiguring machine.config for ASP.NET: OraProvCfg /action:unconfig /product:aspnet /component: /frameworkversion:v2.0.50727

<provider name> valid values: all, membership, profile, rolemanager,
personalization, webevent, sitemap or a combination thereof
("membership | profile", for example). Default value is all.

C:\oracle\product\11.2.0\client_1\ODP.NET\bin\4>

2个回答

3

“gac”操作依赖于文件已经存在于文件(providerpath是此命令的输入文件)中。因此,它甚至没有运行。

我不得不从oracle网站单独下载odp.net包。

ODAC112040Xcopy_32bit.zip (53MB)

然后我引用了这里的dll,因为它没有包含在oracle客户端32位安装中(win32_11gR2_client.zip)。

C:\Users\{user}\Downloads\ODAC112040Xcopy_32bit\odp.net4\odp.net\bin\4\

0

在 Powershell 中查看提供程序:

[System.Data.Common.DbProviderFactories]::GetFactoryClasses()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接