仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 812|回复: 7
打印 上一主题 下一主题

[学习教程] MSSQL网站制作之怎样判别是不是以独有体例翻开以后数据库...

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:29:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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,来实现数据库的闪回。
兰色精灵 该用户已被删除
沙发
发表于 2015-1-19 14:33:08 | 只看该作者
是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
再现理想 该用户已被删除
板凳
发表于 2015-1-25 21:27:23 | 只看该作者
我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力
乐观 该用户已被删除
地板
发表于 2015-2-9 15:07:09 | 只看该作者
习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。
海妖 该用户已被删除
5#
发表于 2015-2-27 08:37:57 | 只看该作者
不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?
admin 该用户已被删除
6#
发表于 2015-3-8 23:50:24 | 只看该作者
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
小妖女 该用户已被删除
7#
发表于 2015-3-16 18:52:27 | 只看该作者
也可谈一下你是怎么优化存储过程的?
再见西城 该用户已被删除
8#
发表于 2015-3-23 00:14:41 | 只看该作者
原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表