MS Access 数据库的连接字符串
Connection String of MS Access database
我用 C# 开发了一个 Windows 应用程序,它的数据库在 Access 2010 中。
我有数据库连接字符串,但出现错误:
OleDbException 未处理
请告诉我问题所在及其解决方案。
con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="\dtinaurdsna02\LE-IN\Admin\Quality Rating\Quality_Rating_Tool\Quality_Rating_Tool.accdb";Persist Security Info=True;");
您的 "Data Source="\dtinaurdsna02\LE-IN\Admin\Quality Rating\Quality_Rating_Tool\Quality_Rating_Tool.accdb" 是引号,例如 ("") 取消了原来的引号...将其更改为
con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='\dtinaurdsna02\LE-IN\Admin\Quality Rating\Quality_Rating_Tool\Quality_Rating_Tool.accdb';Persist Security Info=True;");
如果您知道确切的路径,您可以使用
con = new OleDbConnection
(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source
=\dtinaurdsna02\LE-IN\Admin\Quality
Rating\Quality_Rating_Tool\Quality_Rating_Tool.accdb;
Jet OLEDB:Database Password=xxxxxxx;
Persist Security Info=True;");
如果数据库在应用程序文件夹中,您可以在下面使用
string path = Environment.CurrentDirectory;
path = path + "\Quality_Rating_Tool.accdb;";
con = new OleDbConnection
(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source" + path);
1) \
是转义的 \
2) 由于引号,您在 Source=
之后结束了字符串。您可以使用 ' 而不是 ".
3) @
禁用转义
您需要阅读有关 Escaping 的内容!
con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;DataSource='\dtinaurdsna02\\LE-IN\Admin\Quality Rating\Quality_Rating_Tool\Quality_Rating_Tool.accdb';Persist SecurityInfo=True;");
var connect = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source= C:\Users\User1\Desktop\test.mdb";
using(var conn = new OleDbConnection(connect))
{
codes here
}
这样使用
我用 C# 开发了一个 Windows 应用程序,它的数据库在 Access 2010 中。
我有数据库连接字符串,但出现错误: OleDbException 未处理
请告诉我问题所在及其解决方案。
con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="\dtinaurdsna02\LE-IN\Admin\Quality Rating\Quality_Rating_Tool\Quality_Rating_Tool.accdb";Persist Security Info=True;");
您的 "Data Source="\dtinaurdsna02\LE-IN\Admin\Quality Rating\Quality_Rating_Tool\Quality_Rating_Tool.accdb" 是引号,例如 ("") 取消了原来的引号...将其更改为
con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='\dtinaurdsna02\LE-IN\Admin\Quality Rating\Quality_Rating_Tool\Quality_Rating_Tool.accdb';Persist Security Info=True;");
如果您知道确切的路径,您可以使用
con = new OleDbConnection
(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source
=\dtinaurdsna02\LE-IN\Admin\Quality
Rating\Quality_Rating_Tool\Quality_Rating_Tool.accdb;
Jet OLEDB:Database Password=xxxxxxx;
Persist Security Info=True;");
如果数据库在应用程序文件夹中,您可以在下面使用
string path = Environment.CurrentDirectory;
path = path + "\Quality_Rating_Tool.accdb;";
con = new OleDbConnection
(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source" + path);
1) \
是转义的 \
2) 由于引号,您在 Source=
之后结束了字符串。您可以使用 ' 而不是 ".
3) @
禁用转义
您需要阅读有关 Escaping 的内容!
con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;DataSource='\dtinaurdsna02\\LE-IN\Admin\Quality Rating\Quality_Rating_Tool\Quality_Rating_Tool.accdb';Persist SecurityInfo=True;");
var connect = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source= C:\Users\User1\Desktop\test.mdb";
using(var conn = new OleDbConnection(connect)) { codes here }
这样使用