C# 是否需要在connectionstring上指定提供程序?

C# 是否需要在connectionstring上指定提供程序?,c#,sql,database,connection-string,C#,Sql,Database,Connection String,我的申请有一个非常有趣的问题,我得到一个错误如下: System.ArgumentException:未在ConnectionString中指定OLE DB提供程序。例如,“Provider=SQLOLEDB;” 但是,当我试图将连接上的提供程序指定为provider=SQLOLEDB.1或provider=SQLOLEDB时,出现另一个错误,即关键字“provider”无效 但是有一件事我注意到了,我瞄准的计算机有两个不同的数据库系统,这会导致这个错误吗 你知道怎么解决这个问题吗 “注意”看起

我的申请有一个非常有趣的问题,我得到一个错误如下: System.ArgumentException:未在ConnectionString中指定OLE DB提供程序。例如,“Provider=SQLOLEDB;”

但是,当我试图将连接上的提供程序指定为provider=SQLOLEDB.1或provider=SQLOLEDB时,出现另一个错误,即关键字“provider”无效

但是有一件事我注意到了,我瞄准的计算机有两个不同的数据库系统,这会导致这个错误吗

你知道怎么解决这个问题吗


“注意”

看起来您丢失了连接字符串的某些位-请尝试这些

一般连接字符串:

strConnect = _T("Provider=sqloledb;Data Source=MyServerName;"
        "Initial Catalog=MyDatabaseName;"
        "User Id=MyUsername;Password=MyPassword;");
strConnect = _T("Provider=sqloledb;Data Source=MyServerName\MyInstanceName;"
    "Initial Catalog=MyDatabaseName;User Id=MyUsername;Password=MyPassword;");
命名实例连接字符串:

strConnect = _T("Provider=sqloledb;Data Source=MyServerName;"
        "Initial Catalog=MyDatabaseName;"
        "User Id=MyUsername;Password=MyPassword;");
strConnect = _T("Provider=sqloledb;Data Source=MyServerName\MyInstanceName;"
    "Initial Catalog=MyDatabaseName;User Id=MyUsername;Password=MyPassword;");
可信安全性:

strConnect = _T("Provider=sqloledb;Data Source=MyServerName;"
        "Initial Catalog=MyDatabaseName;"
        "Integrated Security=SSPI;");

从这里看,DB SqlServer看起来像是缺少了连接字符串的一些位—请尝试这些

一般连接字符串:

strConnect = _T("Provider=sqloledb;Data Source=MyServerName;"
        "Initial Catalog=MyDatabaseName;"
        "User Id=MyUsername;Password=MyPassword;");
strConnect = _T("Provider=sqloledb;Data Source=MyServerName\MyInstanceName;"
    "Initial Catalog=MyDatabaseName;User Id=MyUsername;Password=MyPassword;");
命名实例连接字符串:

strConnect = _T("Provider=sqloledb;Data Source=MyServerName;"
        "Initial Catalog=MyDatabaseName;"
        "User Id=MyUsername;Password=MyPassword;");
strConnect = _T("Provider=sqloledb;Data Source=MyServerName\MyInstanceName;"
    "Initial Catalog=MyDatabaseName;User Id=MyUsername;Password=MyPassword;");
可信安全性:

strConnect = _T("Provider=sqloledb;Data Source=MyServerName;"
        "Initial Catalog=MyDatabaseName;"
        "Integrated Security=SSPI;");

从这里开始,假设您使用的是ADO.NET,如果您想使用不同的数据库系统,那么您还需要更正数据库连接,而不仅仅是连接字符串


请注意,不能对OLEDB使用
SqlConnection
,您需要使用
System.Data.OLEDB.OleDbConnection

假设您使用的是ADO.NET,如果您想使用不同的数据库系统,则还需要更正数据库连接,而不仅仅是连接字符串


请注意,对于OLEDB,您不能使用
SqlConnection
,您需要使用
System.Data.OLEDB.OleDbConnection

请提供指定提供程序时使用的连接字符串的完整示例。我的连接字符串如下所示:数据源=MyServerName;初始目录=MyDatabaseName;用户Id=我的用户名;Password=MyPassword;,如果没有提供程序,我从www.connectionstrings.com获得的连接字符串是否可以使用示例中的更多代码进行编辑请提供指定提供程序时使用的连接字符串的完整示例。我的连接字符串如下:Data Source=MyServerName;初始目录=MyDatabaseName;用户Id=我的用户名;Password=MyPassword;,在没有提供程序的情况下,我从www.connectionstrings.com获得的connectionstring可以使用示例中的更多代码进行编辑吗?但是,当我在connectionstring上添加提供程序时,我遇到另一个错误,即关键字Provider无效。但是当我在connectionstring上添加提供程序时,我在说关键字提供程序无效时遇到另一个错误。我使用的是SqlConnection,因此我使用的是正确的DbConnection,因为我的应用程序没有使用常规连接。你不能对OLEDB使用SqlConnection,请检查我上次对答案的编辑。我使用的是SqlConnection,因此,我使用的是正确的DbConnection,因为我的应用程序没有使用常规连接。您不能将SqlConnection用于OLEDB,请检查我对答案的最后一次编辑。