gpt4 book ai didi

c# - SQL 连接字符串提供程序名称

转载 作者:太空狗 更新时间:2023-10-30 01:17:55 25 4
gpt4 key购买 nike

这更像是一个一般性问题,我正在构建一个报告生成器:

public ReportGenerator(IReportGeneratorConfig config)
{
Configuration = config;
ImagePaths = new Dictionary<string, string>();
ReportErrors = new StringBuilder();

DatabaseForReportQueries = DatabaseFactory.CreateDatabase(Configuration.DatabaseName);

using (System.Data.Common.DbConnection conn = DatabaseForReportQueries.CreateConnection())
{
//get the connection string for use with the report directly.
ReportConnectionString = conn.ConnectionString + "Provider=SQLOLEDB;";
conn.Close();
}
}

这是我在尝试运行报告生成按钮时收到的错误消息

Cannot open data source, please check ConnectionString and RecordSource properties. 
ConnectionString: Database=Test80;Server=SQL01;uid=mcadmin;pwd=password;Provider=SQLOLEDB;
RecordSource:

除了我在代码中发送的提供者之外,所有信息都完好无损。我不知道如何在网络应用程序中找到提供商名称。这与 connectionStrings.config 中的 providerName 标记不同。它需要是 Provider=something;

连接字符串有一个providerName = System.Data.SqlClient

最佳答案

如果您使用 SQL Server 的 .NET 提供程序 (System.Data.SqlClient),则无需在连接字符串中指定提供程序名称。

.NET 提供者的提供者名称基于实现类是隐式的,不需要在连接字符串中指定。

不要使用基于 COM 的 OLE DB 提供程序(SQLNCLI 或 SQLOLEDB)或 ODBC 驱动程序从 .NET 应用程序访问 SQL Server 数据,因为与 SqlClient 相比,这会导致性能下降。

等效的 SqlClient 连接字符串是:

Data Source=SQL01;Initial Catalog=Test80;User Id=mcadmin;Password=password;

关于c# - SQL 连接字符串提供程序名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30007134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com