【发布时间】:2019-01-15 08:49:55
【问题描述】:
我正在为 .Net Core 使用 this Microsoft.EnterpriseLibrary 端口。它需要一个配置文件app.config,其中指定了连接字符串。我尝试使用在另一个工作项目中使用的相同连接字符串,但在这里不起作用。
如何为 ASP.NET Core 2.1 指定 DB2 连接字符串?
这是我尝试过的:
<connectionStrings>
<add name="Development" connectionString="server=MY.SERVER.COM:446;database=DBXX;user id=USERXX;password=PASSWORDXX;" providerName="IBM.Data.DB2.Core"/>
</connectionStrings>
但是当我执行这个时:
DatabaseFactory.SetDatabaseProviderFactory(
new DatabaseProviderFactory(
new SystemConfigurationSource(false).GetSection
),
false
);
var db = DatabaseFactory.CreateDatabase("Development");
它抛出了这个异常:
Exception has occurred: CLR/System.InvalidOperationException
An exception of type 'System.InvalidOperationException' occurred in Microsoft.Practices.EnterpriseLibrary.Data.dll but was not handled in user code: 'The connection string for the database 'Development' does not exist or does not have a valid provider.'
Inner exceptions found, see $exception in variables window for more details.
Innermost exception System.Configuration.ConfigurationErrorsException : The requested database Development does not have a valid ADO.NET provider name set in the connection string.
我认为提供者名称不正确,但我在网上找不到任何工作示例。
【问题讨论】:
-
您是否尝试过阅读文档?具体来说,[此页面] (ibm.com/support/knowledgecenter/SSEPGG_11.1.0/…) 上的链接 1 和 2 分别显示正确的提供程序名称和连接字符串属性。
-
@mustaccio 这些文章是关于 .NET Framework,而不是关于 .NET Core。无论如何,我尝试了他们建议的提供商名称(
IBM.Data.DB2),但它仍然不起作用。
标签: asp.net-core db2 connection-string enterprise-library enterprise-library-6