.net - EntLib 4.1 中的 Oracle.ManagedDataAccess.Client 错误“连接字符串格式不正确”
问题描述
我使用 Oracle.ManagedDataAccess.Client 并通过 Nuget 安装了 Oracle.ManagedDataAccess。这是 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;
}
我卡在连接字符串上,因为它失败并出现错误:“连接字符串格式不正确”
解决方案
当调用 Microsoft.Practices.EnterpriseLibrary.Data.GenericDatabase("Oracle", providerFactory); 而不是传递配置键名称=“Oracle”,我必须传递整个连接字符串。
推荐阅读
- elasticsearch - Percolate query alternative for given use case
- ubuntu-14.04 - Python3.6 No module named '_curses'
- dbeaver - How do I enable or configure "Code Folding" and Side-by-Side Text Compare in DBeaver?
- python - 您可以在 TensorFlow/Keras 顺序网络中为多个输出设置目标吗
- kubernetes - K8S Fabric8 API + deploy、pod 和 service 一口气?
- list - 在列表中的每 n 个元素之后输出 y 元素
- angular - 在 Angular 中将 Markdown 预渲染为 HTML
- upgrade - 在 Rasperry Pi 4 中运行命令 sudo apt-get upgrade 失败
- android - 安卓:ApplicationContext 类
- php - 如何在 php 中向论坛帖子内容添加“提及”?