|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
这能找出所有错误的99.99%。它不能找出的是仅仅涉及数据文件的损坏(这很不常见)。如果你想要检查一张表,你通常应该没有选项地运行myisamchk或用-s或--silent选项的任何一个。数据|数据库
怎样判别是不是以独有体例翻开以后数据库?
成绩:
怎样判别是不是以独有体例翻开以后数据库?
在链接大概用ADO操纵其他数据库时,假如被操纵的数据库已被某用户以独有体例翻开,就会堕落,怎样事后判别该数据库是不是已被独有翻开?
办法一:
很复杂,只需判别currentproject.connection.ConnectionString中是不是包括以下字母
JetOLEDB:DatabaseLockingMode=0
写一个函数就能够判别:
FunctiontestLockMode()
IfInStr(CurrentProject.Connection.ConnectionString,"JetOLEDB:DatabaseLockingMode=0")>0Then
MsgBox"本数据库已用独有体例翻开"
Else
MsgBox"本数据库未用独有体例翻开"
EndIf
EndFunction
以下是debug.printCurrentProject.Connection.ConnectionString的了局供参考:
Provider=Microsoft.Jet.OLEDB.4.0;UserID=Admin;DataSource=L:IBMWinXPdesktopmdb反复纪录.mdb;Mode=ShareDenyRead|ShareDenyWrite;ExtendedProperties="";JetOLEDB:Systemdatabase=C:DocumentsandSettingsecApplicationDataMicrosoftAccessystem.mdw;JetOLEDB:RegistryPath=SOFTWAREMicrosoftOffice10.0AccessJet4.0;JetOLEDB:DatabasePassword="";JetOLEDB:EngineType=5;JetOLEDB:DatabaseLockingMode=0;JetOLEDB:GlobalPartialBulkOps=2;JetOLEDB:GlobalBulkTransactions=1;JetOLEDB:NewDatabasePassword="";JetOLEDB:CreateSystemDatabase=False;JetOLEDB:EncryptDatabase=False;JetOLEDB:DontCopyLocaleonCompact=False;JetOLEDB:CompactWithoutReplicaRepair=False;JetOLEDB:SFP=False
办法二:
很复杂,你只需在程序中实验用独有体例翻开数据库便可,假如前往了毛病号加以判别便可。就像本站中的良多成绩办理办法相似,用毛病圈套便可判别了
FunctiontestLockMode()
OnErrorResumeNext
DimconnAsNewADODB.Connection
conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=Admin;DataSource=L:IBMWinXPdesktopmdb反复纪录.mdb;JetOLEDB:DatabaseLockingMode=0;"
IfErr.Number=-2147467259Then
MsgBox"文件已在利用中,估量是被他人以独有体例翻开了"
EndIf
EndFunction
办法三:
固然,你还能够间接读取currentdb属性来判别是不是已被独有翻开
http://www.access911.net站长保藏目前的方案是用mysqlbinlog工具,增加一个Flashback参数,输出结果为一个新的binlog文件――姑且叫做flashbacklog,这个flashbacklog顺序执行,可制定某张表和执行到哪个pos,来实现数据库的闪回。 |
|