-
-
Notifications
You must be signed in to change notification settings - Fork 2
incendium.db.DisposableConnection
César Román edited this page Sep 3, 2022
·
13 revisions
A disposable connection enables a database connection in Ignition and disables it once the operation is completed to release resources.
Args:
- database (str): The name of the database connection in Ignition.
- retries (int): The number of additional times to retry enabling the connection. Optional.
Returns:
- DisposableConnection: A DisposableConnection instance.
DisposableConnection is intended when a Database connection must be disabled immediately after usage.
Passing parameters.
import traceback
import incendium.db
import system.db
from incendium import constants, util
from incendium.db import DisposableConnection, InParam
from incendium.exceptions import ApplicationError
from java.lang import Exception as JavaException
def some_function():
try:
with DisposableConnection("Some Connection", retries=10) as conn:
params = [InParam("int_param", system.db.INTEGER, 1)]
incendium.db.execute_non_query(
"[schema].[procedure]", database=conn.database, params=params
)
except IOError as exc:
message = constants.UNEXPECTED_ERROR.format(
util.get_function_name(),
"\n".join(traceback.format_exc().splitlines()),
)
raise ApplicationError(message, exc)
except JavaException as exc:
message = constants.UNEXPECTED_ERROR_CAUSED_BY.format(
util.get_function_name(),
"\n".join(traceback.format_exc().splitlines()),
exc.cause,
)
raise ApplicationError(message, exc, exc.cause)