first commit

This commit is contained in:
2026-06-11 00:43:44 +05:30
commit 6421a07f2b
15 changed files with 437 additions and 0 deletions
Binary file not shown.
+87
View File
@@ -0,0 +1,87 @@
from logging_config import get_logger
logger = get_logger(__name__)
class OracleDB:
def __init__(self, connector):
self.connector = connector
def fetch_all(self, sql, params=None):
conn = None
cur = None
try:
conn = self.connector.get_connection()
cur = conn.cursor()
cur.execute(sql, params or {})
cols = [c[0] for c in cur.description]
rows = [dict(zip(cols, r)) for r in cur.fetchall()]
logger.info("Fetched %s rows from database", len(rows))
return rows
except Exception:
logger.exception("Error in fetch_all")
raise
finally:
if cur:
cur.close()
if conn:
conn.close()
def execute(self, sql, params):
conn = None
cur = None
try:
conn = self.connector.get_connection()
cur = conn.cursor()
cur.execute(sql, params)
conn.commit()
logger.info("Insert/Update executed successfully")
except Exception:
if conn:
conn.rollback()
logger.exception("Error executing SQL")
raise
finally:
if cur:
cur.close()
if conn:
conn.close()
def call_procedure(self, name):
conn = None
cur = None
try:
conn = self.connector.get_connection()
cur = conn.cursor()
logger.info("Calling procedure %s", name)
try:
cur.callproc(name)
except Exception:
cur.execute(f"BEGIN {name}; END;")
conn.commit()
logger.info("Procedure executed successfully")
return True
except Exception:
logger.exception("Procedure call failed")
return False
finally:
if cur:
cur.close()
if conn:
conn.close()
+23
View File
@@ -0,0 +1,23 @@
import oracledb
from logging_config import get_logger
logger = get_logger(__name__)
class OracleConnector:
def __init__(self, config):
self.config = config
self.pool = None
def get_connection(self):
if not self.pool:
logger.info("Initializing Oracle connection pool")
self.pool = oracledb.create_pool(
user=self.config.db_user,
password=self.config.db_password,
dsn=self.config.db_dsn,
min=1,
max=5,
increment=1
)
return self.pool.acquire()