OLEDB和ODBC有什么区别?

5

目前我可以使用 Oledb 连接到本地的 .mdb 文件。我能够正确地查询、添加、更新和删除数据库。

在 C# 中,与 Oledb 数据库相比,连接到 ODBC 数据库有何不同?


这与C#有什么关系? - John Saunders
5个回答

1

连接通常只有连接字符串不同(可能需要在控制面板中设置ODBC连接),但是.NET连接类都实现了IDbConnection / Command / Transaction等,因此非常相似。在C#中,您有OleDbConnection和OdbcConnection,我相信 - 但是两者都实现了基本接口。

可以在此处找到简短的概述:

http://database.ittoolbox.com/documents/odbc-vs-oledb-18150

大多数数据库供应商支持ODBC,因为它被设计成一种共享连接机制,但是大多数供应商提供或更喜欢另一个(Oracle ADO.NET Provider、MySQL Provider等)。

要么选择通用的,要么如果只是一个小应用程序,选择最适合目标数据库的那个。


1

1

Microsoft 设计了 ODBC 以访问 SQL 数据和 OLE DB 以在 COM 环境中访问任何类型的数据。简而言之...


1

我的主要经验是C/C++和ODBC,但我也使用C#与ODBC和OLEDB。

在C#中使用ODBC涉及实际ODBC API调用和程序之间的抽象层,因此在某些情况下,您可能会发现优化驱动程序使用更加困难或不可能。对于一般用途和简单查询,您应该能很好地处理。

OLE DB设计用于与C#一起使用,因此应该提供所有API调用。


2
OLE DB 是设计用于仅与 C# 一起使用的吗? - user406871

0
在使用简单的 SQL 语句(例如 select、update、delete 等)时,使用 ODBC 数据库与使用 Oledb 数据库在 c# 使用方面没有区别。不同之处在于,使用 ODBC 需要设置 DSN 才能使用它,尽管这也不完全正确。

Ed


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接