MS Access Database Connection with C# under ASP.Net Core

一个人想着一个人 提交于 2019-12-20 02:32:34

问题


I am trying to connect my new Project (ASP.Net Core Framework) with Access Database.

What do I need to enter into: appsettings.json -> "ConnectionStrings"?

And do I have to install something for it?

This framework is new and unfortunately I found no much on the Internet.

I need to connect exactly "Access database".

I would be very happy for detailed information.


回答1:


From this link : https://blogs.msdn.microsoft.com/dotnet/2016/11/09/net-core-data-access/

What about OLE DB?

OLE DB has been a great way to access various data sources in a uniform manner, but it was based on COM, which is a Windows-only technology, and as such was not the best fit for a cross-platform technology such as .NET Core. It is also unsupported in SQL Server versions 2014 and later. For those reasons, OLE DB won’t be supported by .NET Core.




回答2:


Use the "Access Database Engine", which provides an ODBC interface to your application. Be sure to use the 64-bit version (since dotnet core is 64 bit only). Note that it is safe for single-threaded access only. Use the passive parameter at install since the additional Access components are not needed.

AccessDatabaseEngine_X64.exe /passive




回答3:


You can use the Entity Framework Core which is highly recommended for ASP.net Core applications. Also there are a lot of tutorials out there for using it.

The official documentation lists a suitable Provider for EF Core:

EntityFrameworkCore.Jet -> Microsoft Access files

Please make sure reading the limitations first from the GitHub Page and check if it's still passes your requirements.

Personally i haven't used it yet, but i'm pretty sure that the whole thing can't be too complicated.




回答4:


Looks here: https://www.connectionstrings.com/

Specifically, here: https://www.connectionstrings.com/access/

Also, try this.

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

Try this as well...

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


来源:https://stackoverflow.com/questions/43320008/ms-access-database-connection-with-c-sharp-under-asp-net-core

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!