有人能帮助我理解本地数据库连接器和ODBC连接器之间的确切区别吗?我在googled上搜索了很多,发现在本机连接器SQL中,应用程序中构建的数据和实际接口都是专门为特定的database.Now设计的--这意味着“专门为特定数据库设计的”--假设我的代码是用C++编写的,我使用本机连接器连接到SQLServer。使用使用odbc连接器的本机连接器wrt会有什么不同。如果这是个愚蠢的问题请原谅。
专家/-1077488-1.html谢谢,Neethu
发布于 2016-09-20 16:53:41
ODBC是一个通用的、DBMS无关的API.
ODBC驱动程序在此通用API与DBMS客户端和/或引擎的DBMS特定API之间进行中介。
如果您将代码编写到ODBC API,并且仅使用通用查询语法(不使用特定于DBMS的查询语法,如Microsoft SQL Server的Transact-SQL或Oracle的Oracle-SQL ),则它可能会针对任何ODBC驱动程序以及任何DBMS运行,通常只需少量额外测试或代码工作。
如果您将代码编写到DBMS特定的API,或者使用特定于DBMS的查询语法(例如Transact-SQL或Oracle-SQL),则它只能针对该DBMS运行,并且只能通过那些DBMS客户端库运行--这些库甚至可能是特定于DBMS版本的。适应不同的DBMS或相同DBMS和/或其客户端库的不同版本可能需要大量的测试和代码工作。
此编译-应用程序(不需要重新编译,重新链接等)可移植性和未来防护(在一定范围内)是ODBC和JDBC以及其他与DBMS无关的数据访问协议的基本价值主张。
https://stackoverflow.com/questions/39597487
复制相似问题