SQL 连接字符串提供商名称
SQL Connection string Provider name
这更像是一个一般性问题,我正在构建一个报告生成器:
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 服务器本机客户端版本。您可以尝试 Provider=SQLNCLI11
。有关 sql 服务器的可能连接字符串设置列表,您可以查看 ConnectionStrings.com
如果您使用 SQL 服务器 (System.Data.SqlClient) 的 .NET 提供程序,则无需在连接字符串中指定提供程序名称。
.NET 提供程序的提供程序名称是基于实现的隐式 class,不需要在连接字符串中指定。
不要使用基于 COM 的 OLE DB 提供程序(SQLNCLI 或 SQLOLEDB)或 ODBC 驱动程序从 .NET 应用程序访问 SQL 服务器数据,因为这会导致与 SqlClient 相比的性能损失。
等效的 SqlClient 连接字符串是:
Data Source=SQL01;Initial Catalog=Test80;User Id=mcadmin;Password=password;
这更像是一个一般性问题,我正在构建一个报告生成器:
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 服务器本机客户端版本。您可以尝试 Provider=SQLNCLI11
。有关 sql 服务器的可能连接字符串设置列表,您可以查看 ConnectionStrings.com
如果您使用 SQL 服务器 (System.Data.SqlClient) 的 .NET 提供程序,则无需在连接字符串中指定提供程序名称。
.NET 提供程序的提供程序名称是基于实现的隐式 class,不需要在连接字符串中指定。
不要使用基于 COM 的 OLE DB 提供程序(SQLNCLI 或 SQLOLEDB)或 ODBC 驱动程序从 .NET 应用程序访问 SQL 服务器数据,因为这会导致与 SqlClient 相比的性能损失。
等效的 SqlClient 连接字符串是:
Data Source=SQL01;Initial Catalog=Test80;User Id=mcadmin;Password=password;