网站同时操作多个数据库,怎么做比较科学,效率高,数据稳定

尐孑 2017-06-08 02:14:22
程序好多地方要同时操作两个数据库 一个总数据库:SUP 一个客户数据库
我现在的处理方式是在客户数据库里的存储过程里 直接操作的SUP数据库,比如:update [SUP].[dbo].[Merchant] set .....
现在经理让改成 再程序里面分开处理 没给数据库创建一个链接 new SqlConnection(strConn);
大家觉得这两种方案 哪个比较好 各有什么优缺点
...全文
565 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
尐孑 2017-06-12
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
引用 13 楼 meixiafeng 的回复:
[quote=引用 9 楼 sp1234 的回复:] [quote=引用 5 楼 meixiafeng 的回复:] [quote=引用 4 楼 sp1234 的回复:] 站在一个管理者的角度考虑,会让你去掉存储过程,以便于更适合简单、好维护、面向跨数据库平台。
但我们领导还让所以操作数据库的地方都用存储过程 即使一个单纯的insert 对一个表的单纯select都要用存储过程[/quote] 那么可以想象到的一个情况,是你们领导习惯于在比较缓慢地搞开发的那种组织背景下工作。那么所谓的“不让用连接服务器方式访问其它数据库实例”,这就可能是他个人不熟悉连接服务器,所以他才不让你用。否则他的基本的编程设计逻辑就自相矛盾了![/quote] 给你说一下我们公司目前的概况,公司在一个准三线城市,老板丝毫不懂开发,开始我们三个程序员在做这个系统,也都是有几年工作经验的,有的已经工作十年了,但是我们三个有什么建议老板从来不听我们的,可能是我们都是本地人,外来的和尚会念经,老板只听他在网上认识的一个他口中的“大神”,现在老板高薪把“大神“挖到了公司,“大神”来到公司差不多一个月了,不写代码,也不帮我们三个解决遇到的问题,有问题还是我们三个讨论解决,只是传达老板给的工作让我们三个做,监督我们工作进度,在一次讨论问题的时候,我们发现“大神”居然对触发器都不了解,这次修改也是他和老板定的[/quote] 是不是可以考虑换老板了
  • 打赏
  • 举报
回复
引用 5 楼 meixiafeng 的回复:
[quote=引用 4 楼 sp1234 的回复:] 站在一个管理者的角度考虑,会让你去掉存储过程,以便于更适合简单、好维护、面向跨数据库平台。
但我们领导还让所以操作数据库的地方都用存储过程 即使一个单纯的insert 对一个表的单纯select都要用存储过程[/quote] 当数据库有变动需要修改sql而不用修改程序的时候只需要在数据库中修改存储过程并不需要修改程序重新发布了
尐孑 2017-06-09
  • 打赏
  • 举报
回复
引用 9 楼 sp1234 的回复:
[quote=引用 5 楼 meixiafeng 的回复:] [quote=引用 4 楼 sp1234 的回复:] 站在一个管理者的角度考虑,会让你去掉存储过程,以便于更适合简单、好维护、面向跨数据库平台。
但我们领导还让所以操作数据库的地方都用存储过程 即使一个单纯的insert 对一个表的单纯select都要用存储过程[/quote] 那么可以想象到的一个情况,是你们领导习惯于在比较缓慢地搞开发的那种组织背景下工作。那么所谓的“不让用连接服务器方式访问其它数据库实例”,这就可能是他个人不熟悉连接服务器,所以他才不让你用。否则他的基本的编程设计逻辑就自相矛盾了![/quote] 给你说一下我们公司目前的概况,公司在一个准三线城市,老板丝毫不懂开发,开始我们三个程序员在做这个系统,也都是有几年工作经验的,有的已经工作十年了,但是我们三个有什么建议老板从来不听我们的,可能是我们都是本地人,外来的和尚会念经,老板只听他在网上认识的一个他口中的“大神”,现在老板高薪把“大神“挖到了公司,“大神”来到公司差不多一个月了,不写代码,也不帮我们三个解决遇到的问题,有问题还是我们三个讨论解决,只是传达老板给的工作让我们三个做,监督我们工作进度,在一次讨论问题的时候,我们发现“大神”居然对触发器都不了解,这次修改也是他和老板定的
尐孑 2017-06-09
  • 打赏
  • 举报
回复
引用 11 楼 sp1234 的回复:
你可以再看看你的当初的问题,你直接问“大家觉得这两种方案 哪个比较好 各有什么优缺点”,其实如果不深入说明一些背景,那么久根本没有什么定论。
正如你说的,调试、修改都要跑到数据库里找存储过程倒腾一番 之所以发这个帖子,是现在用的第一种方案,如果改成第二种程序要改很多地方,估计得改上一个月
  • 打赏
  • 举报
回复
你可以再看看你的当初的问题,你直接问“大家觉得这两种方案 哪个比较好 各有什么优缺点”,其实如果不深入说明一些背景,那么久根本没有什么定论。
  • 打赏
  • 举报
回复
连接服务器方式访问其它数据库实例 --> 链接服务器方式访问其它数据库实例 既然连个简单的 insert 语句都必须写成(每一种数据库方言都大不一样的)存储过程,你们的系统中有至少几百个存储过程需要维护,而且开发中随时调试、修改 sql 代码时都得跑到数据库工具中去忙活一阵,而且你们想临时试验一下某个跟数据库有关的想法、都得去数据库系统中去走一圈存储过程创建,这基本上可以判断出其背景。其实用户不会在乎程序里边有什么癖好形式,只有工程师才对过程非常在意,有不同的背景。
  • 打赏
  • 举报
回复
引用 5 楼 meixiafeng 的回复:
[quote=引用 4 楼 sp1234 的回复:] 站在一个管理者的角度考虑,会让你去掉存储过程,以便于更适合简单、好维护、面向跨数据库平台。
但我们领导还让所以操作数据库的地方都用存储过程 即使一个单纯的insert 对一个表的单纯select都要用存储过程[/quote] 那么可以想象到的一个情况,是你们领导习惯于在比较缓慢地搞开发的那种组织背景下工作。那么所谓的“不让用连接服务器方式访问其它数据库实例”,这就可能是他个人不熟悉连接服务器,所以他才不让你用。否则他的基本的编程设计逻辑就自相矛盾了!
尐孑 2017-06-08
  • 打赏
  • 举报
回复
帖子加了60分 希望大家多给提意见 不要吝啬 回复多了再加分
尐孑 2017-06-08
  • 打赏
  • 举报
回复
引用 6 楼 closurer 的回复:
[quote=引用 5 楼 meixiafeng 的回复:] [quote=引用 4 楼 sp1234 的回复:] 站在一个管理者的角度考虑,会让你去掉存储过程,以便于更适合简单、好维护、面向跨数据库平台。
但我们领导还让所以操作数据库的地方都用存储过程 即使一个单纯的insert 对一个表的单纯select都要用存储过程[/quote] 所有操作都用存储过程,有个好处是可以对业务逻辑进行热更新,修改存储过程不是需要重启网站的。 [/quote] 确实有这个好处 我们现在是一个总数据库 100多个客户数据库 一个客户一个数据库 客户数据库的数量还会增加
闭包客 2017-06-08
  • 打赏
  • 举报
回复
引用 5 楼 meixiafeng 的回复:
[quote=引用 4 楼 sp1234 的回复:] 站在一个管理者的角度考虑,会让你去掉存储过程,以便于更适合简单、好维护、面向跨数据库平台。
但我们领导还让所以操作数据库的地方都用存储过程 即使一个单纯的insert 对一个表的单纯select都要用存储过程[/quote] 所有操作都用存储过程,有个好处是可以对业务逻辑进行热更新,修改存储过程不是需要重启网站的。
尐孑 2017-06-08
  • 打赏
  • 举报
回复
引用 4 楼 sp1234 的回复:
站在一个管理者的角度考虑,会让你去掉存储过程,以便于更适合简单、好维护、面向跨数据库平台。
但我们领导还让所以操作数据库的地方都用存储过程 即使一个单纯的insert 对一个表的单纯select都要用存储过程
  • 打赏
  • 举报
回复
站在一个管理者的角度考虑,会让你去掉存储过程,以便于更适合简单、好维护、面向跨数据库平台。
xdashewan 2017-06-08
  • 打赏
  • 举报
回复
网站?那就是B/S罗,B/S怎么可能客户端操作数据库,肯定是服务器上操作。至于方案,我认为两种方案都没什么问题,用你经理的方案即可,责任由他来承担
尐孑 2017-06-08
  • 打赏
  • 举报
回复
引用 1 楼 hanjun0612 的回复:
一般不会按照楼主的方式,让客户端直接连接服务器数据库操作。 你的项目经理说的没问题。应该在程序中进行对服务器数据库的操作。 其实按照你之前的代码,也就是将存储过程放到程序后台执行。
在程序里面创建链接 来处理比较好
正怒月神 版主 2017-06-08
  • 打赏
  • 举报
回复
一般不会按照楼主的方式,让客户端直接连接服务器数据库操作。 你的项目经理说的没问题。应该在程序中进行对服务器数据库的操作。 其实按照你之前的代码,也就是将存储过程放到程序后台执行。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧