Tuesday, 22 October 2024

DB Connection and Create API Using Python for Oracle Database 11g

 import cx_Oracle
from fastapi import FastAPI, Request, HTTPException
import uvicorn
connection = cx_Oracle.connect(user="traders", password="client", dsn="202.142.181.6:1521/orcl")
#connection = conn.connection
app = FastAPI()
cur = connection.cursor()

#################### API's Routes #################
@app.get("/")
def home():
    return "Hello! I'm Alive."
@app.get("/users")
def user():
    cur.execute("select user_login, user_password,user_id from sgi_user")
    result = cur.fetchall()
    return result
@app.post("/login")
async def login(request: Request):
    data = await  request.json()
    user_login = data.get("user_login")
    user_password = data.get("user_password")
    cur.execute("select user_login, user_password from sgi_user where user_login = :user_login and user_password = :user_password", {
        'user_login' : user_login ,
        'user_password' : user_password
    })
    result = cur.fetchone()
    if  result and result[1] == user_password and result[0] == user_login :
        return "Logged In"
    else:
        raise HTTPException(status_code=401, detail="Invalid credentials")
if __name__ == "__main__":
    uvicorn.run("api:app", host='0.0.0.0', port=5000, reload = True)

Thursday, 17 October 2024

Search Any Word in Anywhere in Whole Databse

declare

    v_sql varchar2(1000);

    tbl varchar2(100) := 'SYS';

    v_search_string VARCHAR2(1000) := '007';

    cnt varchar2(32767);

begin

    FOR rec IN (

        SELECT table_name, column_name 

        FROM all_tab_columns 

        WHERE table_name NOT LIKE '%SYS%' 

        AND upper(owner) = upper('salyfy') 

        AND data_type IN ('VARCHAR2')

    ) loop

        v_sql := 'SELECT count(*) FROM ' || rec.table_name || 

                 ' WHERE ' || rec.column_name || ' LIKE ''%' || v_search_string || '%''';

        

        dbms_output.put_line('Executing: ' || v_sql); -- Debug print

        BEGIN

            execute immediate v_sql into cnt;

            dbms_output.put_line('Count: ' || cnt);

            insert into chk_dum_rec(cnts, tbl_name, column_name) values (cnt, rec.table_name, rec.column_name);

        EXCEPTION

            WHEN NO_DATA_FOUND THEN

                dbms_output.put_line('No data found for query: ' || v_sql);

            WHEN OTHERS THEN

                dbms_output.put_line('Error occurred: ' || SQLERRM);

        END;

    end loop;

EXCEPTION 

    WHEN NO_DATA_FOUND THEN 

        NULL;

        commit;

END;


Tuesday, 8 October 2024

Auto Dump Uploading to DB

 Create a Text File


drop user khan cascade;

grant dba to khan identified by khan ;

exit;


------------------------------------------------------

Create a Batch File 


D:\oracle\product\10.2.0\db_1\BIN\sqlplus system/nasim@orcl @D:\pbk\pkb_new.txt


D:\oracle\product\10.2.0\db_1\BIN\imp system/nasim@orcl file=D:\pbk\bk.dmp fromuser=khan2425 touser=khan

------------------------------------------------------

Put the dump FIle in D:\pbk\bk.dmp

Check Internet Connectivity on Local System

if (!navigator.onLine) {     showOfflineAlert(); } else {     // Set a strict 3-second network timeout threshold     const controller = new ...