Megosztás:


DBMS-Based illesztőprogram diagnosztikai példája

A DBMS-alapú illesztőprogram kéréseket küld egy DBMS-nek, és az illesztőprogram-kezelőn keresztül adja vissza az adatokat az alkalmazásnak. Mivel az illesztőprogram az illesztőprogram-kezelőhöz csatlakozó összetevő, formázhatja és visszaadja az SQLGetDiagRec argumentumait.

Ha például az SQL/Services használatával az Oracle Rdb Microsoft-illesztője érvénytelen kurzornevet észlelt, akkor az SQLGetDiagRec következő értékeit adja vissza:

SQLSTATE:         "34000"  
Native Error:      0  
Diagnostic Msg:   "[Microsoft][ODBC Rdb Driver]Invalid cursor name: EMPLOYEE_CURSOR."  

Mivel a hiba az illesztőprogramban történt, előtagokat adott hozzá a szállító ([Microsoft]) és az illesztőprogram ([ODBC Rdb-illesztőprogram]) diagnosztikai üzenetéhez.

Ha a DBMS nem találja az EMPLOYEE táblát, előfordulhat, hogy az illesztő formázza és visszaadja az SQLGetDiagRec következő értékeit:

SQLSTATE:         "42S02"  
Native Error:      -1  
Diagnostic Msg:   "[Microsoft][ODBC Rdb Driver][Rdb] %SQL-F-RELNOTDEF, Table EMPLOYEE "  
                  "is not defined in schema."  

Mivel a hiba az adatforrásban történt, az illesztőprogram hozzáadta az adatforrás-azonosító ([Rdb]) előtagját a diagnosztikai üzenethez. Mivel az illesztőprogram volt az adatforráshoz csatlakozó összetevő, a diagnosztikai üzenethez hozzáadta a gyártó ([Microsoft]) és az azonosító ([ODBC Rdb Driver]) előtagjait.