也许,如果只有C#应用程序访问数据库
… 也许,如果只有C#应用程序访问数据库。但假设多个用不同语言(和不同目的)编写的应用程序都需要访问数据库呢?你可以通过存储过程来实现,或者(根据我的经验更好)添加一个中间服务器进程,应用程序通过公开文档化的API来使用该进程,然后该进程再与数据库通信,而数据库可能通过存储过程为中间服务器提供访问。同样根据经验:例如,我和几位同事曾在一家大型投资银行工作过。底层数据库大多是供应商的专有数据库,或者是银行内其他团队编写的。这些数据库版本管理得很差(糟糕!)。我们编写了SQL查询/存储过程来访问VB(现在可能是C#)无法完成的数据(这会耗费巨大的精力)。然后我们为运行我们查询的服务器提供了COM接口。幸运的是,我们不需要提供更新,但同样的思路同样适用。这几乎可以完全隔离应用程序和数据库。…
源讨论当权衡过度时使用数据库的错误方式原帖 103 条评论 · 导入时统计