1

我的应用程序有一个非常有趣的问题,我收到如下错误: System.ArgumentException:ConnectionString 中未指定 OLE DB 提供程序。例如,'Provider=SQLOLEDB;'。

但是,当我尝试将连接上的提供程序指定为 Provider=SQLOLEDB.1 或 Provider=SQLOLEDB 时,我收到另一个错误,提示关键字“Provider”无效。

但是我注意到一件事,我的目标计算机有 2 个不同的数据库系统,这会导致这个错误吗?

知道如何解决这个问题吗?

问候

4

2 回答 2

1

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

请注意,您不能使用SqlConnectionfor OLEDB,您需要改为使用System.Data.OleDb.OleDbConnection

于 2009-02-17T09:06:36.523 回答
0

看起来您缺少一些连接字符串 - 试试这些

通用连接字符串:

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;");

从这里http://www.codeproject.com/KB/database/connectionstrings.aspx#OLE DB SqlServer

于 2009-02-17T09:05:53.747 回答