找回密码
 立即注册

QQ登录

只需一步,快速开始

wskqjqeeq

注册会员

3

主题

12

帖子

119

积分

注册会员

积分
119

微信认证勋章

最新发帖
wskqjqeeq
注册会员   /  发表于:2021-3-5 10:51  /   查看:2902  /  回复:6
200金币
场景:1、启用事务命令 SqlTransaction 查询一个或多个表,原来sqlserver使用     select * from 表名  with(TABLOCKX)
           2、依据查询结果作处理,其间不允许其他事务和用户读取这个表。
           3、直到提交事务后,其他用户才能读取这个表。

最佳答案

查看完整内容

您好, 您的使用场景感觉像是数据库的锁机制, 活字格中是没有数据库锁相关的配置的, 需要在您使用的外联数据库中做相关配置哈

6 个回复

正序浏览
Timothy.Xu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-3-8 09:36:56
7#
感谢楼上的支持~~
回复 使用道具 举报
app转转风悬赏达人认证 活字格认证
中级会员   /  发表于:2021-3-6 11:28:45
6#
根据所提供的信息,应该是多个系统连接到同一个库,为保证不同系统读取到数据的准确性,所以要锁表。

这种情况,需要依靠数据库的锁表机制来解决。

可以尝试在数据库创建存储过程(当然不是必须这样),然后应用调用存储过程实现功能。

存储过程中的事务加上锁表 with(TABLOCKX).


个人认为,应根据实际的应用场景来评估是否有必要锁表,如果多个系统在用,如果锁表出故障会导致其它系统或是功能也出现故障;应尽可能使用其它方法达到目的而不用锁表。




回复 使用道具 举报
wskqjqeeq
注册会员   /  发表于:2021-3-6 11:21:34
5#
Lucas.Su 发表于 2021-3-5 17:21
您好,
您的使用场景感觉像是数据库的锁机制,
活字格中是没有数据库锁相关的配置的,

谢谢,通过视图做数据库 表锁,查询表改为查询视图。
回复 使用道具 举报
wskqjqeeq
注册会员   /  发表于:2021-3-5 14:46:36
3#
Lucas.Su 发表于 2021-3-5 13:51
您好,
可以详细了解一下活字格服务端命令的事务命令哈~
【https://help.grapecity.com.cn/pages/viewpag ...

您好,发问之前已经测试过了,没有达到要求。用友U8表单 ID和单据编码都是保存在其他表,所以查询需要用独占方式,现5种方式查询,其他用户依然可以查询到该表,同时操作的情况下会造成数据冲突
回复 使用道具 举报
Lucas.Su讲师达人认证 悬赏达人认证 活字格认证
葡萄城公司职员   /  发表于:2021-3-5 13:51:48
2#
您好,
可以详细了解一下活字格服务端命令的事务命令哈~
https://help.grapecity.com.cn/pa ... ion?pageId=53349161

本帖子中包含更多资源

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

x
回复 使用道具 举报
最佳答案
最佳答案
Lucas.Su讲师达人认证 悬赏达人认证 活字格认证
葡萄城公司职员   /  发表于:2021-3-5 10:51:16
来自 4#
您好,
您的使用场景感觉像是数据库的锁机制,
活字格中是没有数据库锁相关的配置的,
需要在您使用的外联数据库中做相关配置哈
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部