雪候鸟
发表于 2013-2-23 19:04
媛珊娃娃 发表于 2013-2-22 01:38 static/image/common/back.gif
的确每个层应该满足自身的需求,这也是我的编程理念,不过你说的trigger我的确不懂,能否指教下如果在2个 ...
我对sql server不熟悉,主要在oracle环境下做过数据库开发。我估计sql server没有弱爆到不能这样做。
媛珊娃娃
发表于 2013-2-23 20:28
雪候鸟 发表于 2013-2-23 19:04 static/image/common/back.gif
我对sql server不熟悉,主要在oracle环境下做过数据库开发。我估计sql server没有弱爆到不能这样做。
如果oracle有这个功能,那sql server肯定也可以。但我们要实现的不是两个数据库的数据一致性,而只有在A运行B的时候要求数据一致性,我没做过数据库开发,但还是很难想象通过数据库层面解决这个问题,如果你有可行方案的话,能否具体点。
媛珊娃娃
发表于 2013-2-23 20:33
那个winforms版的css,我根据源程序做了点改动,现在基本实现了类wpf style的功能,但dock的功能我还没实现,有没有人有兴趣研究下,如果能实现的话,还是很有意思的,这样就基本上可以用类css为winforms程序在设计期布局,甚至在运行期改变布局。
雪候鸟
发表于 2013-2-23 20:43
本帖最后由 雪候鸟 于 2013-2-23 20:44 编辑
媛珊娃娃 发表于 2013-2-23 20:28 static/image/common/back.gif
如果oracle有这个功能,那sql server肯定也可以。但我们要实现的不是两个数据库的数据一致性,而只有在A运 ...
像你说的数据量很小,你怎么做都行,无论是应用层还是数据层。你要在数据库层做,A运行B之前先写个数据库标志位到数据库中,如果A表中有更新触发器检查这个标志位被设置则经过数据库连接更新B表。我也只是看你说想在用共享数据库和timer的方案才上来回贴的,用timer觉得不好。
媛珊娃娃
发表于 2013-2-23 22:19
本帖最后由 媛珊娃娃 于 2013-2-23 22:22 编辑
雪候鸟 发表于 2013-2-23 20:43 static/image/common/back.gif
像你说的数据量很小,你怎么做都行,无论是应用层还是数据层。你要在数据库层做,A运行B之前先写个数据 ...
数据量不大,头儿已经决定在应用层解决。另外虽然我认为数据层的任务要在数据层解决,但此类问题我个人不倾向于在数据层解决,WCF实现应用间通信解决此类问题感觉结构化更好一点,纯属个人愚见,当然处理海量数据可能会存在performance问题。
LS的如果对数据库非常熟悉的话,可以自己出来做自由职业。我听说过不少企业应用需要data mining。
Timing的解决方案的确不好,所以我问WCF是不是好的方案。
雪候鸟
发表于 2013-2-23 22:37
本帖最后由 雪候鸟 于 2013-2-23 23:23 编辑
媛珊娃娃 发表于 2013-2-23 22:19 static/image/common/back.gif
数据量不大,头儿已经决定在应用层解决。另外虽然我认为数据层的任务要在数据层解决,但此类问题我个人 ...
嗯,数据量小无所谓。 我们这里经常要和20多个vertriebspartner数据库同步,互相同步更新对方。应用层也是互相为publish/subscriber做queue都写满了都来不及处理。最后就是触发器级别的数据库之间的replication。数据库只是爱好,我也主要是做应用层,不过没有做过.net, 但是推测原理都机制都差不了太多。
并非如此
发表于 2013-2-25 08:48
本帖最后由 并非如此 于 2013-2-25 09:07 编辑
媛珊娃娃 发表于 2013-2-22 01:38 static/image/common/back.gif
的确每个层应该满足自身的需求,这也是我的编程理念,不过你说的trigger我的确不懂,能否指教下如果在2个 ...
如果你两个数据库都是sql serve的, 那么用trigger触发器和存储过程来保证数据库的一致性,也是不错的选择,但是要注意更新数据库的设计文档,同时应用层还是要改动, 如果你的项目时间不是很充裕。知识储备不够,我不建议这么做,因为既要改动数据库,又要修改应用层,无论加不加触发器和新的存储过程, 你都要用用wcf来隔离数据库操作,只是,部分逻辑功能放到数据库层而已,这其实也是很普遍的做法。
这里的数据层和应用层有两个不用的概念,如果从抽象的设计原理来说,存储过程,其实就是数据库的应用层,在这里已经可以实现很多应用层的数据处理的业务逻辑。
但是从布局角度来说,它处于数据库系统处理的范围之内。
媛珊娃娃
发表于 2013-2-26 00:05
并非如此 发表于 2013-2-25 08:48 static/image/common/back.gif
如果你两个数据库都是sql serve的, 那么用trigger触发器和存储过程来保证数据库的一致性,也是不错的选 ...
google了下trigger,学习了。但项目中还是应用层解决比较合适。毕竟不同的应用是不同团队做的,如果为了实现部分部分数据同步而采用flag去决定是否trigger,相信不见得每个团队都愿意采用。