+ -
当前位置:首页 → 问答吧 → 数据库已打开,拷贝文件是否有影响?另外读写的语句是否可以优化?

数据库已打开,拷贝文件是否有影响?另外读写的语句是否可以优化?

时间:2011-12-02

来源:互联网

数据库文件(Access)放在公司公共文件夹中(网络硬盘),15人左右的访问量,如果数据库已经打开,我是否可以拷贝.mdb文件呢?是否对其他人的访问造成影响,或者经常这样操作是否对数据库有影响?

另外数据库的搜索和数据读写都用以下函数,是否有优化的可能呢?感觉速度比较慢(也有一部分是因为数据库是存放在网络硬盘上的原因):
VB code
Public Function WIS_Base_Connect(ByVal txtSQL As String) As ADODB.Recordset
On Error GoTo ErrCode
Dim WIS_ConnectName As String

Flag_DB_Con = True
WIS_ConnectName = WIS_Base_DataBaseConnectName & ";"

Set WIS_Base_Con = New ADODB.Connection
WIS_Base_Con.Open "provider=microsoft.jet.OLEDB.4.0;data source= " & WIS_ConnectName & ";Jet OLEDB:Database Password = pd"
Set WIS_Base_Rs = New ADODB.Recordset
WIS_Base_Rs.Open txtSQL, WIS_Base_Con, adOpenKeyset, adLockPessimistic
Set WIS_Base_Connect = WIS_Base_Rs
end function

作者: QQ342151559   发布时间: 2011-12-02

mdb文件被打开时,是可以拷贝到其他地方去的,只不过要注意,ACCESS 数据库的并行访问性能并不太好,多人通过共享的方式一起访问它,有可能出现数据丢失。即出现所谓的“脏数据”。

程序上,能否将
Set WIS_Base_Rs = New ADODB.Recordset
WIS_Base_Rs.Open txtSQL, WIS_Base_Con, adOpenKeyset, adLockPessimistic
Set WIS_Base_Connect = WIS_Base_Rs
并成一句,直接
WIS_Base_Connect.Open ...
呢?
没试过。

作者: qianjin036a   发布时间: 2011-12-02

象这样的情况最好使用Sql Server

作者: Veron_04   发布时间: 2011-12-02

引用 1 楼 qianjin036a 的回复:
mdb文件被打开时,是可以拷贝到其他地方去的,只不过要注意,ACCESS 数据库的并行访问性能并不太好,多人通过共享的方式一起访问它,有可能出现数据丢失。即出现所谓的“脏数据”。

程序上,能否将
Set WIS_Base_Rs = New ADODB.Recordset
WIS_Base_Rs.Open txtSQL, WIS_Base_Con, adOpenKeyset, adLock……

不知道这样的改动会有什么好的效果呢,我在本地上看不出什么变化...


我把数据库分成2个文件,其中一个文件A为公共数据,比如说一些人员的信息,而另外一个文件B为记录数据,经常要更新,在本地硬盘上测试,软件读取文件A和B时很快,但网络硬盘比较慢,如果我将文件A在每次开启软件后自动拷贝到本地硬盘,这样操作比较顺畅,就是怕这样操作带来一些很多弊端。。
是否有什么好的方法来解决呢?呵呵

作者: QQ342151559   发布时间: 2011-12-02

好东西,值得下载

作者: lijian0722   发布时间: 2011-12-02

热门下载

更多