c#程序中SQL Server的OleDB连接字符串

本文关键字:OleDB 连接 字符串 Server 程序 SQL | 更新日期: 2023-09-27 18:14:04

我看过很多通过OleDB连接到MS Access的答案,但是SQL Server没有好的答案。我尝试在我的c#程序中通过OleDB提供程序连接到SQL Server数据库。

这是我提供的连接字符串。

Provider=SQLOLEDB;Data Source=<servername>;Initial Catalog=<dbname>;Integrated Security=SSPI

但是显示错误

' Keyword not support ' Provider '

我要做的是在c#程序中通过OleDB连接数据库。

c#程序中SQL Server的OleDB连接字符串

这在我这边工作。从错误信息中,我强烈怀疑您正在使用SqlConnection类而不是OleDbConnection(当然,您需要使用OleDb提供的所有其他类,如OleDbCommand, OleDbDataReader等…)

  string connStr = "Provider=SQLOLEDB;Data Source=<servername>;Initial Catalog=<dbname>;Integrated Security=SSPI";
  using(OleDbConnection cnn = new OleDbConnection(connStr))
  {
     ....
  }

如果有疑问,请使用visual studio中的字符串生成器。这样,不支持的关键字就不会出现在你的连接字符串中,下面是如何使用它的一个很好的例子。

http://www.c-sharpcorner.com/uploadfile/suthish_nair/how-to-generate-or-find-connection-string-from-visual-studio/

相同的连接字符串在我的结束工作良好。我张贴我的示例代码,这是成功地执行在我的结束

public   string connStr = "Provider=SQLOLEDB;Data Source=.;Initial  Catalog=<dbName>;Integrated Security=SSPI";
  public OleDbConnection con;
    protected void Page_Load(object sender, EventArgs e)
    {
        Test();
    }
    public void Test()
    {
        con = new OleDbConnection(connStr);
        con.Open();
        OleDbCommand cmd = new OleDbCommand("select * from tblApartments", con);
        OleDbDataAdapter da = new OleDbDataAdapter(cmd);
        DataSet ds = new DataSet();
        da.Fill(ds);
        con.Close();
    }

请设置断点并逐行检查,当您的断点到达con.close()时;然后检查ds,可以看到输出

考虑到OLE DB提供程序,您使用的连接字符串是正确的。我没有发现任何错误的连接字符串使用,如果你想连接到一个SQL Server数据源。

最有可能的是,该错误的原因应该是您没有正确使用OLE DB提供程序所需的所有类和对象,如OleDbCommand(类似于SqlCommand,但不同),OleDbConnection, OleDbDataAdapter等。简而言之,这个错误的原因应该是:

string connStr = "Provider=SQLOLEDB;Data Source=<servername>;Initial Catalog=<dbname>;Integrated Security=SSPI";
using(SqlConnection scn = new SqlConnection(connStr))
  {
     ....
  }

事实上,使用SqlConnection对象,ConnectionString属性不支持关键字Provider,并且在执行应用程序时,您得到一个关于不支持关键字的错误。

看一下这个关于使用OLE DB提供程序的简单教程。