تثبيت مكتبة 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()
العودة إلي الاتصال بقواعد البيانات