Public
Snippet $165 authored by irul

Python - Test koneksi ke Oracle

connect-oracle.py
from sqlalchemy import create_engine, text
from sqlalchemy.exc import SQLAlchemyError

USERNAME = "userdb"
PASSWORD = "passworddb"
HOST = "192.168.1.100"
PORT = "1521"
SERVICE_NAME = "XE"  # atau nama service/ORACLE_SID

# format connection string untuk Oracle dengan cx_Oracle
# oracle+cx_oracle://username:password@host:port/?service_name=SERVICE
DATABASE_URL = f"oracle+cx_oracle://{USERNAME}:{PASSWORD}@{HOST}:{PORT}/?service_name={SERVICE_NAME}"

def test_connection():
    try:
        engine = create_engine(DATABASE_URL, echo=True)

        with engine.connect() as conn:
            result = conn.execute(text("SELECT sysdate FROM dual"))
            for row in result:
                print("Koneksi sukses, Oracle SYSDATE:", row[0])

    except SQLAlchemyError as e:
        print("Gagal konek ke Oracle:", str(e))

if __name__ == "__main__":
    test_connection()