2012-04-26 123 views
1

我想在IIS中托管WCF服务,但出现以下错误。 “配置节'oracle.dataaccess.client'不能被读取,因为它缺少一个节声明”托管WCF服务时出错

我已经添加了下面的程序集。

add assembly="Oracle.DataAccess, Version=2.111.7.20, Culture=neutral, PublicKeyToken=89B483F429C47342" 

,并宣布

<oracle.dataaccess.client> 
    <settings> 
     <add name="SubbType" value="udtMapping factoryName='Project.TypeObjects.TYP_SUBMISSION_PROCESSFactory, PublicKeyToken=NULL'   typeName='TYP_SUBMISSION_PROCESS' schemaName='ABC' dataSource='XYZ'"/>  
    </settings> 
</oracle.dataaccess.client> 

有什么可以为这个错误的原因是什么?

+0

<添加名称= “SubbType” 值=“udtMapping factoryName = 'Project.TypeObjects.TYP_SUBMISSION_PROCESSFactory公钥= NULL' typeName ='TYP_SUBMISSION_PROCESS'schemaName ='ABC'dataSource ='XYZ'“/>在web.config中添加了这个 – user1208862 2012-04-26 07:37:37

+0

您使用的是64位操作系统吗? – 2014-09-03 07:24:20

回答

5

如错误所述,您缺少一个部分声明。事情是这样的:

<configSections> 
    <section name="oracle.dataaccess.client" 
      type="Oracle.DataAccess.ClientSettings, Oracle.DataAccess, Version=2.111.7.20, Culture=neutral, PublicKeyToken=89B483F429C47342" /> 
</configSections> 

请注意:这只是一个例子,我不知道到底什么是需要在特定情况下,type属性。

3

我有IIS 7.5的这个问题。缺少的是machine.config中的“oracle.dataaccess.client”部分。 Oracle的ODP.NET安装程序假设将此部分添加到machine.config中,但它缺失。因此,如上所述,您可以将缺少的部分添加到web.config中,或将缺少的部分添加到machine.config。

的Machine.config:

<section name="oracle.dataaccess.client" type="System.Data.Common.DbProviderConfigurationHandler, System.Data,版本= 4.0.0.0,文化=中性公钥= b77a5c561934e089" />

1

我也有这个问题,IIS 7.5上64位服务器和32位oracle客户端和“oracle.dataaccess.client”部分仅在... Framework64/v4.0.30319/Config/machine.config中缺失。在32位中有部分定义。在我的应用程序中加载web.config。

所以我建议你检查两台机器的配置。 ODAC客户端(32位/ 64位)只更改一个。

2

增加这部分申报工作对我来说:

<configSections> 
    <section name="oracle.manageddataaccess.client" 
    type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.112.3.50, Culture=neutral, PublicKeyToken=89b483f429c47342" /> 
</configSections>