自動 IPD 擴展

有些驅動程式能夠在備妥參數化查詢之後,設定 IPD 的欄位。 描述元欄位會自動填入參數的相關資訊,包括資料類型、精確度、小數位數和其他特性。 這相當於支援 SQLDescribeParam。 當應用程式沒有其他探索方式時,這項資訊特別有用,例如當隨選查詢是以應用程式不知道的參數執行時。

應用程式會使用 Attribute 為 SQL_ATTR_AUTO_IPD 呼叫 SQLGetConnectAttr,判斷驅動程式是否支援自動母體擴展。 如果傳回 SQL_TRUE,驅動程式會支援它,且應用程式可以藉由將 SQL_ATTR_ENABLE_AUTO_IPD 陳述式屬性設定為 SQL_TRUE 來啟用它。

支援並啟用自動母體擴展時,驅動程式會在透過呼叫 SQLPrepare 來備妥包含參數標記的 SQL 陳述式之後,填入 IPD 的欄位。 應用程式可以藉由呼叫 SQLGetDescFieldSQLGetDescRecSQLDescribeParam 來擷取此資訊。 應用程式可以使用資訊來繫結參數最適當的應用程式緩衝區,或為其指定資料轉換。

IPD 的自動母體擴展可能會造成效能負面影響。 應用程式可以藉由將 SQL_ATTR_ENABLE_AUTO_IPD 陳述式屬性重設為 SQL_FALSE (預設值) 來將其關閉。