بسم الله الرحمن الرحيم

قاعدة البيانات من شركة أوركل

تاريخ النشر : Dec. 9, 2021

None


تثبيت مكتبة cx_Oracle

python -m pip install cx_Oracle --upgrade --user

إنشاء الإتصال

import cx_Oracle


username = 'XXXXXXX'
password = 'XXXXX'

port = 1535
encoding = 'UTF-8'


dsn_tns = cx_Oracle.makedsn('hostname', '1535', service_name='full service Name')

try:
    conn = cx_Oracle.connect(user=username, password=password, dsn=dsn_tns)
    c = conn.cursor()
    c.execute('select pm.pmnum,pm.description,pm. from maximo.pm where ext_department='DRAINAGE')
    for row in c:
        print(row)

except cx_Oracle.Error as error:
    print(error)
finally:
    # release the connection
    if conn:
        conn.close()

لاحظ

نستخدم ال execute لتمرير إستعلام SQL

ولحفظ التغيرات علي البيانات المعدلة في قاعدة البيانات عند إستخدام Insert و Update لابد من تمرير commit لحفظ التعديلات

#Inserting a record into table employee
cursor.execute('insert into employee values(10001,\'Rahul\',50000.50)')
 
# commit() to make changes reflect in the database
con.commit()
print('Record inserted successfully')

لتحميل بيانات جدول في قاعدة البيانات الي Data Frame إتبع الأتي

try:
    conn = cx_Oracle.connect(user=username, password=password, dsn=dsn_tns)
    query="select pm.pmnum,pm.description,pm.route,pm.masterpm,location from maximo.pm where status='ACTIVE'"
    sql_df=pd.read_sql(query, con=conn)
except cx_Oracle.Error as error:

دوماََ لاتنس إغلاق الاتصال مع قاعدة البيانات بعد كل أتصال

finally:
    # release the connection
    if conn:
        conn.close()

العودة إلي الاتصال بقواعد البيانات