应用程序使用完数据源后,会调用 SQLDisconnect。 SQLDisconnect 释放在连接上分配的任何语句,并将驱动程序与数据源断开连接。 如果事务正在进行中,它将返回错误。
断开连接后,应用程序可以调用 SQLFreeHandle 来释放连接。 释放连接后,在调用 ODBC 函数时使用连接句柄是应用程序编程错误;这样做没有定义,但可能是致命的后果。 调用 SQLFreeHandle 时,驱动程序会释放用于存储有关连接的信息的结构。
应用程序还可以重复使用连接,要么连接到其他数据源,也可以重新连接到同一数据源。 决定保持连接,而不是以后断开连接和重新连接,要求应用程序编写器考虑每个选项的相对成本;连接到数据源和剩余连接的成本可能相对较高,具体取决于连接介质。 在正确进行权衡时,应用程序还必须对同一数据源进行进一步操作的可能性和时机做出假设。