Oracle .ManagedDataAccess.Client в EntLib 4.1 ошибка «Неправильно сформирована строка подключения» - PullRequest
0 голосов
/ 23 января 2020

Я использую Oracle .ManagedDataAccess.Client и установил Oracle .ManagedDataAccess через Nuget. Вот конфигурация app.config:

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

    <dataConfiguration>
    <providerMappings>
      <add name="Oracle.ManagedDataAccess.Client" databaseType="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.18.3, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
    </providerMappings>
  </dataConfiguration>

    <connectionStrings>
    <add name="Oracle" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)));User Id=user;Password=pass;Integrated Security=no"
      providerName="Oracle.ManagedDataAccess.Client" />
    </connectionStrings>

Вот код C#:

 DbProviderFactory providerFactory = DbProviderFactories.GetFactory("Oracle.ManagedDataAccess.Client");
Database database = new Microsoft.Practices.EnterpriseLibrary.Data.GenericDatabase("Oracle", providerFactory);
 OracleCommand commandObj = null;

using (commandObj = (OracleCommand)database.GetStoredProcCommand(spName))
{
    commandObj.CommandType = CommandType.StoredProcedure;
}

Я застрял в строке подключения, так как она завершается с ошибкой: «Подключение Неверно сформированная строка "

1 Ответ

1 голос
/ 24 января 2020

При вызове Microsoft.Practices.EnterpriseLibrary.Data.GenericDatabase ("Oracle", providerFactory); вместо передачи ключа конфигурации name = "Oracle" мне пришлось передать всю строку подключения.

...