繁体   English   中英

Access数据库,连接字符串急速扑克

[英]Access Database, Connection string jiggery pokerery

我正在尝试从我的C#代码文件访问Access数据库。 如果我使用:

SqlConnection连接=新的SqlConnection(connectionString)

连接字符串为:

connectionString =“ Provider = Microsoft.Jet.OLEDB.4.0; Data Source = F:\\ testing_dev \\ sm_development \\ App_Data \\ SMWeb.mdb”

尝试创建不支持单词“ provider”的数据集时出现错误! 我究竟做错了什么?

尝试这个。

OleDbConnection connection = new OleDbConnection();
string connectionString= @"Data Source=F:\testing_dev\sm_development\App_Data\SMWeb.mdb";

OleDbConnection在System.Data.OleDb命名空间中。

“ SqlConnection”,“ SqlCommand”中的“ Sql”以及通常在System.Data.SqlClient中的所有内容严格地指的是Sql Server。 MS Access绝对不是Sql Server。 改为查看System.Data.OleDb命名空间。

放下SqlConnection并选择OleDbConnection

using System.Data;
using System.Data.OleDb;
using System.Configuration;

public class DataAccess
{
    string connectionString = ConfigurationManager.ConnectionStrings["KeyName"].ConnectionString;

    public DataSet GetData( string sql, string tableName )
    {
        using( var conn = new OleDbConnection( connectionString ) )
        {
            conn.Open();
            var da = new OleDbDataAdapter( sql, conn );
            var ds = new DataSet();
            da.Fill( ds, tableName );
            return ds;
        }
    }
}

使用它来访问2007

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|/My_DB.accdb;Persist Security Info=False;

如果您在C#中尝试此操作,请尝试在路径中两次输入“ \\”

“ F:\\ testing_dev \\ sm_development \\ App_Data \\ SMWeb.mdb”;

否则一切都好

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM