C#如何打开别人以排他方式打开的Access数据库
本帖最后由 qjw795 于 2013-04-23 09:42:02 编辑
各位大侠,大家好,小弟现有一棘手问题急求答案。
我现在做的一个项目A需要用到别的程序B的Access数据库,但一旦B程序打开,他就会以排他方式打开我们共同使用的Access数据库,导致我的程序A连接数据库失败。我在网上查了一些资料,有人说程序A可以以只读的方式打开被排他打开的数据库,我想问这样行的通吗,其实我也就是想读取里面的数据而已。如果可以的话,数据库的操作类该怎样改呢,我现在的连接函数如下:
private void Open(String DBpath)
{
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:DataBase Password=qW;Data Source=" + DBpath + ";Mode=Share Deny Read|Share Deny Write;";
if (con == null)
con = new OleDbConnection(strConn);
if (con.State == ConnectionState.Closed)
con.Open();
}
C#
数据库
access
------解决方案-------------------- strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:DataBase Password=qW;Data Source=" + DBpath + ";"
什么都不加试一下。
------解决方案--------------------只读:
Mode=Read
独占方式:
Mode=Share Deny Read
------解决方案--------------------Share Deny Write