SQL ile Pyodbc Python iletişimi Bu dersimizde Pyodbc kütüphanesi ile Python kısmına ve SQL ile nasıl haberleşebileceğimize odaklanacağız. Her şeyden önce, bu öğreticinin önceki SQL öğreticisinin ve ana talimatlarının bir devamı olduğunu belirtmek gerekir . pyodbc Pyodbc, iletişimi veritabanlarıyla basit bir şekilde entegre etmemize yardımcı olan bir Python kütüphanesidir. Bu kütüphaneyi kurmak için sadece pip kullanın ve terminale yazın. pip kurulumu […]
19 Ocak 2022 - 7:46 'de eklendi ve 133 kez görüntülendi. A+A-
Bu dersimizde Pyodbc kütüphanesi ile Python kısmına ve SQL ile nasıl haberleşebileceğimize odaklanacağız. Her şeyden önce, bu öğreticinin önceki SQL öğreticisinin ve ana talimatlarının bir devamı olduğunu belirtmek gerekir .
Pyodbc, iletişimi veritabanlarıyla basit bir şekilde entegre etmemize yardımcı olan bir Python kütüphanesidir. Bu kütüphaneyi kurmak için sadece pip kullanın ve terminale yazın.
pip kurulumu pyodbc
Bir veritabanına bağlanmak için bir bağlantı metin dizesi aracılığıyla yapılır. Bu, Pyodbc’nin bağlantı dizesini değiştirmediğini veya değerlendirmediğini belirtmek için pyodbc.connect() ifadesinden çalıştırılır. Tecrübelerimize göre, çoğu zaman sorun yaşarız, bunun nedeni zincirin iyi yazılmamış olması olabilir.
Ardından, kullanılacak zinciri belirli bir şekilde analiz edeceğiz.
SÜRÜCÜ={SQL Server için ODBC Sürücü 17};SERVER=test;DATABASE=test;UID=kullanıcı;PWD=parola
Aşağıda açıklanan dize Python’da Sting veya metin olarak tanımlanmalıdır. Bazı soruları analiz etmeye başlayalım.
Sürücü : İşletim sisteminin veritabanına bağlanacağı pyodbc sürücüsüdür. Windows’taysak, talimattakini kullanabiliriz. Linux/Raspberry Pi kullanıyorsanız, FreeTDS kullanmanızı öneririz . Genellikle Windows’ta SQL Server kavramı iyi çalışır .
Ayrıca veri olarak, başlangıç çubuğuna gidip “Yönetimsel Araçlar” yazarsanız ve ardından ODBC Veri Kaynağı Yöneticisi dosyasına çift tıklayıp Sürücüler sekmesini seçerseniz, bilgisayarınızda kurulu olan denetleyicileri veya sürücüleri kontrol edebilirsiniz.
Sunucu : Adından da anlaşılacağı gibi, sunucu, yerel moddaysak, yerel ana bilgisayar olacaktır. Ancak sunucu, programımızı çalıştırdığımız yerden farklı bir konumdaysa, IP’si veya URL’si olacaktır.
Veritabanı : pyodbc’den bağlanan veritabanının adıdır.
UID : Kullanıcıdır. Kullanıcının söz konusu veritabanına erişim izinlerine sahip olup olmadığını kontrol etmeniz hayati önem taşımaktadır.
PWD : Söz konusu kullanıcıya karşılık gelen parola veya parola.
Belirtilen dizeyi tanımladıktan sonra tam Python işlevini pyodbc aşağıdaki gibi çağırabiliriz:
conn = pyodbc.connect('SÜRÜCÜ={SQL Server için ODBC Sürücüsü 17};SUNUCU=test;DATABASE=test;UID=kullanıcı;PWD=parola')
İmleçler, komutları veya SQL sorgularını yürütmek için kullanılan nesnelerdir . Bir imlecin sahip olduğu en önemli işlev veya yöntem, adından da anlaşılacağı gibi veritabanında bir talimat yürüten execute() işlevidir.
Pyodbc’deki en yaygın ikinci işlev imleçtir, daha önce bir yürütme komutuyla gönderilen sorgudan gelen bir istekle eşleşen tüm satırları okuyan fetchall() işlevidir .
Satırlar veya satırlar, Python Pyodbc’nin veritabanından elde edilen bilgilerle döndürdüğü bir nesne türüdür. Tuple formatında erişilebilir ve aşağıda gösterildiği gibi her sütunun adına veya indekse göre üyelere sahip olabilir.
imleç.execute(sorgu) satır = imleç.fetchone() print(row.album_id, row.photo_id) print(satır[0], satır[1])
pyodbc uygulamasının örneği aşağıda açıklanmıştır. Daha önce bahsedilen ile kod az çok net olmalıdır. Bu örnek, veritabanına her 5 saniyede bir ek gönderir. Ekleme ile birlikte bir okuma sorgusu da göndeririz.
Doğrudan iletişim noktası olan yürütme için, execute deyimi ile yapılır . Adından da anlaşılacağı gibi, sorgunun talimatını yürütecek şekilde .
import pyodbc | |
import time | |
import sys | |
import os | |
from datetime import datetime | |
from configparser import ConfigParser | |
dummyVar = 1 | |
va = 12 | |
vc = “Texto” | |
vd = “125.5” | |
ve = 35 | |
config = ConfigParser() | |
def getInfo(val,configuration): | |
config.read(‘C:/Users/HECTOR/Desktop/PythonTutorial/info.ini’) | |
return config.get(configuration,val) | |
def insert(): | |
global dummyVar | |
stringConn = (‘Driver={};\ | |
SERVER={};\ | |
DATABASE={};\ | |
UID={};\ | |
PWD={};\ | |
Trusted_Connection=no’)\ | |
.format(getInfo(‘Driver’,’DataBase’), | |
getInfo(‘Server’,’DataBase’), | |
getInfo(‘Database’,’DataBase’), | |
getInfo(‘UID’,’DataBase’), | |
getInfo(‘PWD’,’DataBase’),) | |
vb = datetime.now() | |
print(stringConn) | |
conn = pyodbc.connect(stringConn) | |
conn.autocommit = True | |
cursor = conn.cursor() | |
dummyVar = dummyVar +1 | |
queryWrite = (“INSERT INTO dbo.testT3 (a,b,c,d,e) VALUES (‘{}’,'{}’,'{}’,'{}’,'{}’)”.format(va,vb,vc,vd, ve)) | |
print(queryWrite) | |
cursor.execute(queryWrite) | |
queryRead = (‘SELECT * FROM dbo.testT3’) | |
cursor.execute(queryRead) | |
for row in cursor: | |
print(row) | |
if __name__ == ‘__main__’: | |
print(“Database test…”) | |
while True: | |
try: | |
insert() | |
except OSError as e: | |
print(“OSError {0}”.format(e)) | |
time.sleep(5) |
Bu pyodbc eğitiminde bahsetmediğimiz bir şey, temel olarak configParser kitaplığı ve get yöntemiyle atanan değeri, [DataBase] olan bir segmente sahip .ini dosyasını okumaya komut veren getInfo işleviydi. Bu durumda gerekli değer. Bu nedenle, .ini dosyasının adresini girmeniz ve bağlantınız için geçerli olan verileri doldurmanız gerekir.
[DataBase] | |
Driver = SQL Server | |
Server = DESKTOP-0HHEA1Q\SQLEXPRESS | |
Database = testDB | |
UID = python | |
PWD = admin2 |
❤
Bulaşık makinesi kapağı kapanmıyor. Bulaşık makinesinin yanl...
Samsung Bulaşık Makinesi Hata Kodları: Açıklama Bulaşık maki...
TV sinyal olmadığını yazıyor: nedeni nedir ve ne yapmalı Bir...
Samsung çamaşır makinesinde E1, 4E, 4C hatası Samsung çamaşı...
leslieyle zayıflayanlar “Evde Yürüme” (leslie il...
LESLİE SANSONE İLE PROGRAM: 30 GÜNLÜK ANTRENMANDA KİLO VERİN...
Limon kabuğu zayıflamak için kullanılır mı? Belirli amaçlara...
Kilo vermek için zencefil suyu: nasıl hazırlanır ve diğer fa...
Metabolizmayı hızlandırmak için elma ve tarçınlı detoks suyu...
Maydanozun faydaları ve özellikleri Maydanoz, hem yemek pişi...