Delen via


Procedures uitvoeren

ODBC definieert een standaard escapereeks voor het uitvoeren van procedures. Zie Procedureoproepen voor de syntaxis van deze reeks en een codevoorbeeld waarin deze wordt gebruikt.

Als u een procedure wilt uitvoeren, voert een toepassing de volgende acties uit:

  1. Hiermee stelt u de waarden van parameters in. Voor meer informatie, zie Instructieparameters verderop in deze sectie.

  2. Roept SQLExecDirect aan en geeft deze een tekenreeks door die de SQL-instructie bevat waarmee de procedure wordt uitgevoerd. Met deze instructie kan de escapereeks worden gebruikt die is gedefinieerd door odbc of DBMS-specifieke syntaxis; instructies die dbMS-specifieke syntaxis gebruiken, zijn niet interoperabel.

  3. Wanneer SQLExecDirect wordt aangeroepen, wordt het stuurprogramma:

    • Haalt de huidige parameterwaarden op en converteert deze indien nodig. Voor meer informatie, zie Instructieparameters verderop in deze sectie.

    • Roept de procedure aan in de gegevensbron en verzendt deze de geconverteerde parameterwaarden. Hoe het stuurprogramma de procedure aanroept, is stuurprogrammaspecifiek. Het kan bijvoorbeeld de SQL-instructie wijzigen om de SQL-grammatica van de gegevensbron te gebruiken en deze instructie in te dienen voor uitvoering, of de procedure rechtstreeks aanroepen met behulp van een RPC-mechanisme (Remote Procedure Call) dat is gedefinieerd in het gegevensstroomprotocol van de DBMS.

    • Retourneert de waarden van invoer-/uitvoerparameters of de retourwaarde van de procedure, ervan uitgaande dat de procedure slaagt. Deze waarden zijn mogelijk pas beschikbaar nadat alle andere resultaten (aantal rijen en resultatensets) die door de procedure zijn gegenereerd, zijn verwerkt. Als de procedure mislukt, retourneert het stuurprogramma eventuele fouten.