Automatische Auffüllung des IPD
Einige Treiber können die Felder der IPD festlegen, nachdem eine parametrisierte Abfrage vorbereitet wurde. Die Beschreibungsfelder werden automatisch mit Informationen zum Parameter aufgefüllt, einschließlich Datentyp, Genauigkeit, Skalierung und anderen Merkmalen. Dies entspricht der Unterstützung von SQLDescribeParam. Diese Informationen können für eine Anwendung besonders nützlich sein, wenn sie keine andere Möglichkeit zum Ermitteln hat, z. B. wenn eine Ad-hoc-Abfrage mit Parametern ausgeführt wird, die die Anwendung nicht kennt.
Eine Anwendung bestimmt, ob der Treiber die automatische Population durch Aufrufen von SQLGetConnectAttr mit einem Attribut von SQL_ATTR_AUTO_IPD unterstützt. Wenn SQL_TRUE zurückgegeben wird, unterstützt der Treiber sie, und die Anwendung kann sie aktivieren, indem sie das attribut der SQL_ATTR_ENABLE_AUTO_IPD-Anweisung auf SQL_TRUE festlegen.
Wenn die automatische Grundpopulation unterstützt und aktiviert wird, füllt der Treiber die Felder der IPD auf, nachdem eine SQL-Anweisung mit Parametermarkierungen durch einen Aufruf von SQLPrepare vorbereitet wurde. Eine Anwendung kann diese Informationen abrufen, indem SQLGetDescField oder SQLGetDescRec oder SQLDescribeParam aufgerufen wird. Die Anwendung kann die Informationen verwenden, um den am besten geeigneten Anwendungspuffer für einen Parameter zu binden oder eine Datenkonvertierung dafür anzugeben.
Die automatische Population der IPD kann zu leistungseinbußen führen. Eine Anwendung kann sie deaktivieren, indem das attribut der SQL_ATTR_ENABLE_AUTO_IPD-Anweisung auf SQL_FALSE (Standardwert) zurückgesetzt wird.