Sus*_*ire 14 c# oledb ms-access
我正在尝试连接到mdb文件,我知道我需要Microsoft.OLEDB.JET.4.0数据提供程序.不幸的是,我没有在(大学)机器上安装它.既然,他们没有提供那个提供者,我相信应该有办法解决.
如何在没有Microsoft.OLEDB.JET.4.0或没有替代方案的情况下连接到文件?
我有以下提供者:

我尝试过使用OLE DB Provider for Microsoft Directory Services,在测试连接的同时,我得到"测试成功,但提供商不接受某些设置".我拿了那根绳子然后用它而且我得到了ADsDSOObject' failed with no error message available, result code: DB_E_ERRORSINCOMMAND(0x80040E14).
Ste*_*eve 23
最简单的连接方式是使用像这样的代码通过OdbcConnection
using System.Data.Odbc;
using(OdbcConnection myConnection = new OdbcConnection())
{
myConnection.ConnectionString = myConnectionString;
myConnection.Open();
//execute queries, etc
}
Run Code Online (Sandbox Code Playgroud)
其中myConnectionString是这样的
myConnectionString = @"Driver={Microsoft Access Driver (*.mdb)};" +
"Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;
Run Code Online (Sandbox Code Playgroud)
或者,您可以创建DSN,然后在连接字符串中使用该DSN
现在你的connectionString可以用这种方式编写
myConnectionString = "DSN=myDSN;"
Run Code Online (Sandbox Code Playgroud)
这是使用Jet OLEDB或Ace OLEDB Access DB的方法:
using System.Data;
using System.Data.OleDb;
string myConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=C:\myPath\myFile.mdb;" +
"Persist Security Info=True;" +
"Jet OLEDB:Database Password=myPassword;";
try
{
// Open OleDb Connection
OleDbConnection myConnection = new OleDbConnection();
myConnection.ConnectionString = myConnectionString;
myConnection.Open();
// Execute Queries
OleDbCommand cmd = myConnection.CreateCommand();
cmd.CommandText = "SELECT * FROM `myTable`";
OleDbDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); // close conn after complete
// Load the result into a DataTable
DataTable myDataTable = new DataTable();
myDataTable.Load(reader);
}
catch (Exception ex)
{
Console.WriteLine("OLEDB Connection FAILED: " + ex.Message);
}
Run Code Online (Sandbox Code Playgroud)