老项目如何做数据库拦截。

2019-04-28 11:09:28 +08:00
 WhyAreYouSoSad

有一个老项目,用 mssql,现在 crud 散落在程序里,有的是 sql hardCode,有些是 sqlcommand,有些在 mssql 的存储过程和视图里。 现有一个需求,我需要在业务量最大的那几张表,做 crud 任何操作前先完成一系列指令,可以是在 mssql 里做,或者调用第三方 dll。前提限制:不能用数据库触发器。

2686 次点击
所在节点    程序员
10 条回复
hcymk2
2019-04-28 13:07:25 +08:00
xxxy
2019-04-28 14:56:54 +08:00
可以加个代理层吗?
ho121
2019-04-28 14:59:13 +08:00
面试题?
annielong
2019-04-28 15:42:31 +08:00
最大的那几张表,做成视图,
zjsxwc
2019-04-28 15:48:59 +08:00
能说下不能用触发器的原因吗
murmur
2019-04-28 15:53:45 +08:00
不用触发器,没有拦截器,我也很想知道答案,视图肯定不行的
bsg1992
2019-04-28 18:17:04 +08:00
SqlDependency
no1xsyzy
2019-04-29 09:46:04 +08:00
要么重构要么代理
WhyAreYouSoSad
2019-04-29 09:46:51 +08:00
昨天没说清楚,因为原来的 crud 操作散落在各个地方,有程序的,有插件的,有数据库的。而且是老项目,现在需要找到一种在数据库上直接干预某几个表操作的底层操作。比如触发器这种,但是最好效率是表级不要是行级监控。
fanyiaa
2019-04-29 11:07:30 +08:00
mssql 里加上队列,用触发器搞。这样触发器不影响性能

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/559403

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX