2012-04-26 3 views
1

Я пытаюсь разместить службу WCF в IIS, но я получаю следующую ошибку. «Конфигурационный раздел« 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, PublicKeyToken = NULL' typeName = 'TYP_SUBMISSION_PROCESS' schemaName = 'ABC' dataSource = 'XYZ' "/> добавил это в web.config – user1208862

+0

вы используете 64-битную ОС? –

ответ

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. Отсутствует раздел «oracle.dataaccess.client» в файле machine.config. Установщик Oracle ODP.NET должен добавить этот раздел в файл machine.config, но он отсутствовал. Итак, как сказано выше, вы можете добавить отсутствующий раздел в свой web.config или добавить отсутствующий раздел в файл machine.config.

Machine.config:

<section name="oracle.dataaccess.client" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version = 4.0.0.0, культура = нейтральной, PublicKeyToken = b77a5c561934e089" />

1

Я также имел эту проблему с IIS 7.5 на 64-битный сервер и 32-битный клиент oracle, а раздел «oracle.dataaccess.client» отсутствовал только в ... Framework64/v4.0.30319/Config/machine.config. В 32 бит был определен раздел. После того, как я добавил раздел IIS, для загрузки 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>