ASP.Net Core下使用C#进行MS Access数据库连接

时间:2017-04-10 09:50:40

标签: asp.net ms-access asp.net-core appsettings

我正在尝试将我的新项目(ASP.Net核心框架)与Access Database

连接起来

我需要输入什么:appsettings.json -> "ConnectionStrings"?

我必须为它安装一些东西吗?

这个框架是新的,不幸的是我在网上找不到多少。

我需要准确连接"访问数据库"。

我很乐意提供详细信息。

4 个答案:

答案 0 :(得分:3)

从这个链接: https://blogs.msdn.microsoft.com/dotnet/2016/11/09/net-core-data-access/

  

OLE DB怎么样?

     

OLE DB一直是访问各种数据源的好方法   统一的方式,但它是基于COM,这是一个Windows   技术,因此不适合跨平台   .NET Core等技术。它在SQL Server中也不受支持   版本2014及更高版本。由于这些原因,将不支持OLE DB   通过.NET Core。

答案 1 :(得分:2)

使用“ Access Database Engine”,它为您的应用程序提供了ODBC接口。确保使用64位版本(因为dotnet核心仅64位)。请注意,它仅对单线程访问是安全的。在安装时使用被动参数,因为不需要其他Access组件。

AccessDatabaseEngine_X64.exe /passive

答案 2 :(得分:1)

您可以使用强烈推荐用于Entity Framework Core应用的ASP.net Core。还有很多教程可供使用。

official documentation列出了适合EF Core的提供商:

  

EntityFrameworkCore.Jet - > Microsoft Access文件

请先从GitHub页面确认reading the limitations并检查它是否仍符合您的要求。

就个人而言,我还没有使用它,但我很确定整件事情不会太复杂。

答案 3 :(得分:-2)

在此处查看:https://www.connectionstrings.com/

具体来说,这里:https://www.connectionstrings.com/access/

另外,试试这个。

using System;
using System.Windows.Forms;
using System.Data.Odbc; 

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string connetionString = null;
            OdbcConnection cnn ;
            connetionString = "Driver={Microsoft Access Driver (*.mdb)};DBQ=yourdatabasename.mdb;";
            cnn = new OdbcConnection(connetionString);
            try
            {
                cnn.Open();
                MessageBox.Show ("Connection Open ! ");
                cnn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Can not open connection ! ");
            }
        }
    }
}

试试这个......

using System;
using System.Windows.Forms;
using System.Data.OleDb; 

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string connetionString = null;
            OleDbConnection cnn ;
            connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=yourdatabasename.mdb;";
            cnn = new OleDbConnection(connetionString);
            try
            {
                cnn.Open();
                MessageBox.Show ("Connection Open ! ");
                cnn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Can not open connection ! ");
            }
        }
    }
}