ExecuteStoredProcedure module

Execute a stored procedure

class q2_sdk.hq.hq_api.q2_api.ExecuteStoredProcedure.DataType[source]

Bases: object

BigInt = 'BigInt'
Binary = 'Binary'
Bit = 'Bit'
Char = 'Char'
DateTime = 'DateTime'
Decimal = 'Decimal'
Float = 'Float'
Image = 'Image'
Int = 'Int'
Money = 'Money'
NChar = 'NChar'
NText = 'NText'
NVarChar = 'NVarChar'
Real = 'Real'
UniqueIdentifier = 'UniqueIdentifier'
SmallDateTime = 'SmallDateTime'
SmallInt = 'SmallInt'
SmallMoney = 'SmallMoney'
Text = 'Text'
Timestamp = 'Timestamp'
TinyInt = 'TinyInt'
VarBinary = 'VarBinary'
VarChar = 'VarChar'
Variant = 'Variant'
Xml = 'Xml'
Udt = 'Udt'
Structured = 'Structured'
Date = 'Date'
Time = 'Time'
DateTime2 = 'DateTime2'
DateTimeOffset = 'DateTimeOffset'
class q2_sdk.hq.hq_api.q2_api.ExecuteStoredProcedure.SqlParam(data_type, name=None, value=None)[source]

Bases: BaseParameter

serialize_as_xml()[source]
serialize_as_json()[source]
class q2_sdk.hq.hq_api.q2_api.ExecuteStoredProcedure.SqlParameters(sql_param=None)[source]

Bases: BaseParameter

serialize_as_xml()[source]
serialize_as_json()[source]
class q2_sdk.hq.hq_api.q2_api.ExecuteStoredProcedure.ParamsObj(logger, stored_proc_short_name, sql_parameters=None, hq_credentials=None)[source]

Bases: Q2ApiParamsObj

Parameters definition for ExecuteStoredProcedure

Parameters:
  • logger (TypeAliasType) – Reference to calling request’s logger (self.logger in your extension)

  • stored_proc_short_name (str) – StoredProcShortName column entry in the Q2_ApiStoredProc table

  • sql_parameters (Optional[SqlParameters]) – List of parameters to pass to the database

  • hq_credentials (Optional[HqCredentials]) – Defaults to settings.HQ_CREDENTIALS

async q2_sdk.hq.hq_api.q2_api.ExecuteStoredProcedure.execute(params_obj, use_json=False, **kwargs)[source]

This is the default way to submit the request to HQ. In theory, both json and soap payloads are equally accepted by HQ, though several variables may affect that (HQ version, Q2SDK implementation bugs, etc). This should not affect anything about the way your code deals with the data. In fact, the only difference to consuming extensions is the logging. Basically, call this with default parameters unless you find a compelling reason not to.

Parameters:
  • params_obj (ParamsObj) – Object containing everything necessary to call this HQ endpoint

  • use_json – If True, will call HQ’s .ashx (json) endpoint instead of .asmx (soap)

Return type:

HqResponse

async q2_sdk.hq.hq_api.q2_api.ExecuteStoredProcedure.get_soap(params_obj, **kwargs)[source]

Deprecated. Please use execute instead

Return type:

HqResponse

async q2_sdk.hq.hq_api.q2_api.ExecuteStoredProcedure.get_json(params_obj, **kwargs)[source]

Deprecated. Please use execute instead

Return type:

HqResponse

q2_sdk.hq.hq_api.q2_api.ExecuteStoredProcedure.build_json(params_obj)[source]
q2_sdk.hq.hq_api.q2_api.ExecuteStoredProcedure.build_soap(params_obj)[source]