我意识到这有点意见问题,但我想听一些人的见解。
我正在使用VBA和VB.NET,目前使用ADO在PostgreSQL数据库中使用Excel作为用户界面来INSERT,UPDATE和SELECT记录。 ADO运行良好,但似乎MS推动ADO.NET成为更好的工具,但我的问题是我必须创建几乎整个PostgreSQL数据库作为内存数据集,我认为这是不需要的,因为那时我'我只是完全复制已经存在于服务器上的内容,而且内存中有很多内容。
那就是说,考虑到ADO.NET几乎要在内存中重新创建几乎整个数据库以执行ADO目前所做的事情,每个人对ADO与ADO.NET的想法是什么?在某些情况下,ADO现在仍然是一个相关的解决方案吗?有人会推荐另一种替代技术吗?
答案 0 :(得分:1)
使用与您正在使用的语言配合使用的技术。
ADODB库与vb6和vba的效果非常好,因此在VBA中编写代码时要使用它,这在.NET之前已经存在了很多年。
ADO.NET是.net等价物;在vb.net或c#中写字时使用它,就像那样简单。
ADO只与VBA相关,因为你的情况,并且在VBA中使用ADO.NET听起来就像很多无用的体操。
"在内存中重新创建整个数据库"听起来非常像一个XY问题,我非常怀疑你真正想要达到的目标 - 或许你想要引用对象/关系映射器(ORM' s),如entity-framework,或者甚至更加陈旧的技术(虽然仍然是后-ADO.NET),如linq-to-sql?无论哪种方式,ORM都会对其使用的数据访问技术进行抽象,因此如果您想通过ADODB在VBA中实现一个,那就去吧!如果你想重新发明轮子并通过ADO.NET在VB.NET中实现它,那就可以了。但我怀疑你想做什么。
微软正在推动" ADO.NET作为一个更好的工具"因为.NET是最新的,而且它是积极维护的,并且它不断发展,而不是VBA - 至少据我所知。现在观看你在网上看到的日期,因为微软正在推动" Linq-to-SQL作为一个更好的工具"比ADO.NET,然后开始"推动"实体框架作为一个更好的工具"比Linq-to-SQL。