conn As New ADODB.Connection
conn.Open "provider=microsoft.jet.oledb.4.0;data source=\\server1\share\sjk.mdb;jet oledb:database password=a123456;"我能用以上语句打开共享(完全共享的)在server1电脑中的数据库sjk.mdb但如果是只读共享,且在服务器server1中打开数据库,客户端就会出现“文件正在使用中”错误,无法打开,可是如果在服务器server1中打开数据库,就不会出错,怎么解决?我发现open语句还有个选项,但不知道它的具体值,请高手赐教
conn.Open "provider=microsoft.jet.oledb.4.0;data source=\\server1\share\sjk.mdb;jet oledb:database password=a123456;"我能用以上语句打开共享(完全共享的)在server1电脑中的数据库sjk.mdb但如果是只读共享,且在服务器server1中打开数据库,客户端就会出现“文件正在使用中”错误,无法打开,可是如果在服务器server1中打开数据库,就不会出错,怎么解决?我发现open语句还有个选项,但不知道它的具体值,请高手赐教
rs.cursorlocation
通常是3(adclient)
但是只读共享无法写 ldb 文件,就被当作数据库被锁定而出现“文件正在使用中”错误。
不过服务端先打开会生成 sjk.ldb,然后客户端就读到独占标记,报错。
但是我以前编程时遇到过多用户操作远程共享Access数据库发生.mdb文件头损坏的问题,
多方求证并非程序编写问题,而是Access不适合这种开发方法,
所以访问远程计算机上的数据库建议使用网络数据库,
DBMS可以协助处理并发、接入和断开、表锁等等一系列问题,
或者自己开发一个单线程、命令队列式的.mdb的中间层服务挂在Server1上,
事实上后来我也是这么做的,才避免了Access问题。
因为它们必须同时以非只读方式打开Access文件,
所以就算你在数据库连接中用ReadOnly打开也需要完全共享该目录。