【发布时间】:2010-07-28 08:17:10
【问题描述】:
目前我可以通过 Oledb 连接连接到本地 .mdb。我能够以正确的结果查询、添加、更新和删除数据库。
连接到 ODBC 数据库在 c# 使用方面与 Oledb 数据库有何不同?
【问题讨论】:
-
这和C#有什么关系?
目前我可以通过 Oledb 连接连接到本地 .mdb。我能够以正确的结果查询、添加、更新和删除数据库。
连接到 ODBC 数据库在 c# 使用方面与 Oledb 数据库有何不同?
【问题讨论】:
连接可能仅在连接字符串上有所不同(并且可能在控制面板中设置 ODBC 连接),但用于连接的 .NET 类都实现了 IDbConnection/Command/Transaction 等,因此非常相似。在 C# 中你有 OleDbConnection 和 OdbcConnection,我相信 - 但同样两者都实现了基本接口。
可以在这里找到简短的概述:
http://database.ittoolbox.com/documents/odbc-vs-oledb-18150
大多数数据库供应商支持 ODBC,因为它被设计为一种共享连接机制,但同样,大多数供应商提供或更喜欢另一种(Oracle ADO.NET 提供程序、MySQL 提供程序等)。
要么通用,要么如果它只是一个小型应用程序,请选择最适合目标数据库的应用程序。
【讨论】:
【讨论】:
Microsoft 设计了 ODBC 来访问 SQL 数据和 OLE DB 来访问 COM 环境中的任何类型的数据。总之……
【讨论】:
我的主要经验是 C/C++ 和 ODBC,但我也将 ODBC 和 OLEDB 与 C# 一起使用。
在 C# 中使用 ODBC 涉及实际 ODBC API 调用和程序之间的抽象层,因此在某些情况下,您可能会发现优化驱动程序的使用更加困难或不可能。对于一般用法和简单查询,您应该没问题。
OLE DB 设计为与 C# 一起使用,因此所有 API 调用都应该可用。
【讨论】:
连接到 ODBC 数据库在 c# 使用方面与 Oledb 数据库有何不同?
如果您使用简单的 sql 语句,例如 c# 和标准的 .net 数据提供程序,它不会选择更新删除等。不同之处在于 ODBC 需要设置 DSN 才能使用它,尽管严格来说并非如此。
埃德
【讨论】: