Python ile Oracle veri tabanına bağlanmak için ilk olarak Pyhon oracle modülünü yüklemeniz gerekmektedir. Python Oracle kütüphanesinin adı cx_Oracle dır. Bu kütüphaneyi pip ile yükleyin.
pip install cx_Oracle
Modülü kurduktan sonra oracle sitesinden driverları indirip bilgisayarınıza kopyalayın.
64 bit
https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html
32 bit
https://www.oracle.com/database/technologies/instant-client/microsoft-windows-32-downloads.html
Yazdığınız koda Oracle modülünü import edin ve driver'ı bir defaya mahsus gösterin.
import cx_Oracle
cx_Oracle.init_oracle_client(lib_dir=r"C:\oracle\instantclient_19_11")
Şimdi connect() fonksiyonunu kullanarak Python programı ile Oracle veritabanı arasında bir bağlantı kurun.
con = cx_Oracle.connect('username/password@localhost')
Bir SQL sorgusu yürütmek ve sonuç sağlamak için, cursor() nesnesi gerekir.
cursor = conn.cursor()
Daha sonra komutları işleteceğiniz bölümü oluşturun.
cursor.execute(sqlquery) – – – -> tek bir sorgu yürütmek için.
cursor.executemany(sqlqueries) – – – -> birden çok bağlama değişkeni/yer tutucu ile tek bir sorgu yürütmek için.
Tüm işlemler tamamlandıktan sonra tüm işlemlerin kapatılması zorunludur.
cursor.close()
con.close()
Örnek Kod
import cx_Oracle
# Create a table in Oracle database
try:
con = cx_Oracle.connect('tiger/scott@localhost:1521/xe')
print(con.version)
# Now execute the sqlquery
cursor = con.cursor()
# Creating a table employee
cursor.execute("create table employee(empid integer primary key, name varchar2(30), salary number(10, 2))")
print("Table Created successfully")
except cx_Oracle.DatabaseError as e:
print("There is a problem with Oracle", e)
# by writing finally if any error occurs
# then also we can close the all database operation
finally:
if cursor:
cursor.close()
if con:
con.close()