SQL API 与 SQL/CLI 标准深度解析
1. 动态查询处理接口对比
在处理动态查询时,不同接口有着相似的策略,但也存在一些差异。对于动态 SQL 和 SQL Server 这两种接口而言,程序都需要分配缓冲区来接收查询结果,并将各个列绑定到这些缓冲区位置。
在动态 SQL 中,程序通过将缓冲区地址放入 SQLDA 中的 SQLVAR 结构来绑定列;而在 SQL Server 中,程序使用 dbbind() 函数进行列绑定。查询结果都是逐行返回到程序的缓冲区中。动态 SQL 使用指定 SQLDA 的特殊版本的 FETCH 语句来检索一行查询结果,SQL Server 则调用 dbnextrow() 来实现相同功能。
动态 SQL 技术使用特定于动态 SQL 的特殊语句和数据结构,与静态 SQL 查询技术差异较大。而 dblib 处理动态查询的技术与处理其他查询基本相同,只是增加了返回查询结果列信息的函数,这使得可调用 API 方法对于经验不足的 SQL 程序员来说更容易理解。
2. ODBC 与 SQL/CLI 标准的诞生
Open Database Connectivity(ODBC)是由 Microsoft 最初开发的与数据库无关的可调用 API 套件。Microsoft 开发 ODBC 的主要动机是作为主要操作系统开发者,希望让 Windows 应用程序开发者更轻松地集成数据库访问功能。然而,不同数据库系统及其 API 之间存在巨大差异,这使得应用程序开发者若要让程序与多个不同品牌的 DBMS 兼容,就必须为每个数据库提供单独编写的数
超级会员免费看
订阅专栏 解锁全文
6919

被折叠的 条评论
为什么被折叠?



