问题
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