在旧的oledb时代,我使用UDL文件和相关向导来检查和创建连接字符串。现在,你可以用这种方式创建的连接字符串不再那么普遍。例如,ADO.NET实体框架创建UDL向导无法处理的修饰连接字符串。是否有任何工具可以创建今天的通用数据链接?
答案 0 :(得分:3)
通用“数据链接”无法支持所有数据库供应商/版本的所有功能,大多数软件由公司内部写入与他们的内部数据库交谈,因此不需要独立于数据库。
对于与所选数据库提供的功能不匹配的API进行编码更加困难,因为文档似乎永远不会与您尝试使用的数据库相匹配。
Microsoft现在希望数据库供应商为数据库提供Ado.net数据访问支持,因此每个数据库的数据访问往往不同 - 但大多数人并不关心,因为代码只需要与单个数据库供应商合作。
第三方选项如devArt's dotConnect和DataDirect为.net提供了通用的“数据链接”,但需要付出代价。
nHibernate将位于大多数供应商.net数据库访问层之上,如果您乐意使用ORM,则会隐藏大部分差异。
答案 1 :(得分:3)
我认为:
之间存在差异今天的(即:.NET?)连接字符串并不比OleDb连接字符串更通用。它们始终特定于给定的提供者。键/值对可能不一样,但概念始终存在。
UDL工具使用COM对象,仍然可以使用。例如,可以为实体框架连接字符串的UDL工具编写扩展。以下是官方参考文献的链接:Provider Extensible Data Link User Interface API
.UDL文件仍然可以在.NET(带P / Invoke)中使用IDBPromptInitialize和IDataInitialize OleDb的接口,虽然我同意,但现在看起来并不那么自然:)