有一些数据库的问题请教大家,都以SQL SERVER7数据库为准(100分)

  • 主题发起人 主题发起人 foxnt
  • 开始时间 开始时间
F

foxnt

Unregistered / Unconfirmed
GUEST, unregistred user!
有一些数据库的问题请教大家,都以SQL SERVER7数据库为准

1。处理多用户同时更新数据库。
比方说,A、B两个用户都用SELECT语句找出一条记录,把某个字段X
加一,这样一来就会少加了一次。但如果,我用:
UPDATE SET X=X+1,这样一来,在更新该记录时,程序会先读一次
X字段,如果A用户先于快过B用户万份之一秒更新了该字段,那么
B用户的UPDATE语句就会先读到X的最新值,所以就不会少加一次。不知
该想法是否正确。如果我不是立即修改数据库,而是先添到缓冲。这样
的方法是否还有效?请教各位是如何做的。

2。远程连接数据库,我在ODBC上设定SERVER的INTERNET的IP地址,ODBC
是否会自动上INTERNET去找数据库SERVER?我的机器在局域网有一个IP,
上INTERNET又有一个IP,是否该填INTERNET的IP?

3。是否要主动锁定SQL SERVER?据说SQL SERVER会自动锁定某个字段,人
工的LOCK就不需要了?

以上问题一直困扰了我,请大家帮帮忙,先谢谢了!
 
1. 我没有用过,

2. 在ODBC中设置Server的Internet IP 地址,可以现在Sql Server 7.0
的Clinet Network Utility中配置连接信息,然后在到ODBC中就可以
看到刚才配置的别名(有点像BDE), 这样就可以远程连接了

3. 好像一般不用主动去Lock,可以通过隔离级别的设置来满足不同的要求.


 
g第一条,我也考虑如何避免同样的问题。
 
隔离级别!
完全正确,有4种隔离级别,分别对应不同的锁。
所以你必须选择合适的锁才行。
一般有“乐观”的锁和“悲观”的锁之分,
你的这种情况所对应的锁应该是“独占,不允许读”
比一般的“悲观”的锁更强一些。
 
1.MSSQL7据说是行级锁,所以第一个人UPDATER前已加锁,如果不提交,
第二个人应该不允许做的(由发异常).
2.没用过.
3.如果没有特殊应用,应该不用主动LOCK
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
816
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
737
SUNSTONE的Delphi笔记
S
后退
顶部