Abrufen von Datenbank-Metadaten
Mit dem Adapter-Parameter AddMetaDataForQueries
(ab X4 Server Revision 32408) können Sie steuern, ob Datenbank-Metadaten zu den entsprechenden Result Sets im Ergebnis-XML-Dokument innerhalb eines XML-Elements ermittelt und gemeinsam mit den Ergebnissen der SQL-Abfrage ausgegeben werden sollen.
Der Name jedes XML-Elements, das die entsprechenden Metadaten enthält, setzt sich aus dem Wert des Attributs resulttag
im Input-Dokument und dem Zusatz -meta
zusammen, z. B. <result-meta>
.
Bei SQL-Statements, die kein Result Set ausgeben (z. B. bei UPDATE
oder DELETE
), können keine Metadaten ausgegeben werden. Im Batch-Modus des Adapters (StatementBatch
, PreparedStatementBatch
und CallableStatementBatch
) ist dies ebenfalls nicht möglich.
Beispiel
Im folgenden Input-XML-Dokument wird eine SQL-Abfrage und als Ergebniselement der Name result
definiert:
<Root>
<statement resulttag="result">
<sql>
SELECT X4USER, STARTTIME FROM HISTORY WHERE PID='1279017294476'
</sql>
</statement>
</Root>
Der JDBC Connector gibt daraufhin z. B. folgendes Ergebnis-XML-Dokument aus, welches das Ergebnis der SQL-Abfrage sowie die Metadaten der Result Sets enthält:
<Data>
<result-meta columns="2">
<Column name="X4USER" label="X4USER" type="VARCHAR"
nullable="true" auto-increment="false" read-only="false"
writable="false" display-size="255" case-sensitive="true"
searchable="true" signed="false" />
<Column name="STARTTIME" label="STARTTIME" type="TIMESTAMP"
nullable="true" auto-increment="false" read-only="false"
writable="false" display-size="26" case-sensitive="false"
searchable="true" signed="false" />
</result-meta>
<result>
<X4USER>1</X4USER>
<STARTTIME>2010-07-13 12:34:54.553</STARTTIME>
</result>
</Data>