1. Yanlış Veritabanı Bağlantı Dizesi
```python
import psycopg2
conn = psycopg2.connect(
host="localhost",
database="wrong_db_name", # Hata burada olabilir!
user="user",
password="password"
)
```
Çözüm: Bağlantı dizesinin doğru olduğundan emin olun. Veritabanı adı, kullanıcı adı ve şifre gibi bilgileri dikkatlice kontrol edin. Ayrıca, veritabanı sunucusunun çalıştığından ve doğru port üzerinden bağlantı sağladığınızdan emin olun.
2. Bağlantı Zaman Aşımı Hatası
```python
import psycopg2
try:
conn = psycopg2.connect(
host="localhost",
database="mydatabase",
user="user",
password="password",
connect_timeout=5 # Zaman aşımı ayarı
)
except Exception as e:
print("Bağlantı hatası:", e)
```
Çözüm: Eğer veritabanı sunucusu çok uzaktaysa veya yoğun trafik varsa, bağlantı zaman aşımına uğrayabilir. Bağlantı zaman aşımı süresini artırmak veya bağlantı hızını optimize etmek bu hatayı çözebilir.
3. Veritabanı Sunucusunun Çalışmıyor Olması
```python
import psycopg2
try:
conn = psycopg2.connect(
host="localhost",
database="mydatabase",
user="user",
password="password"
)
except Exception as e:
print("Bağlantı hatası:", e)
```
Çözüm: Sunucunun çalıştığından emin olun. Eğer yerel bir veritabanı kullanıyorsanız, veritabanı servisini başlatmanız gerekebilir. Ayrıca, sunucunun ağ üzerinde erişilebilir olduğundan ve güvenlik duvarı gibi engellerin bağlantıyı kesmediğinden emin olun.
4. Bağlantı Hatalı Paketler veya Modüller
```python
import psycopg2
# ya da
import mysql.connector
```
Çözüm: Veritabanı bağlantısını sağlamak için gereken modüllerin kurulu olup olmadığını kontrol edin. Eğer eksikse, şu komutu kullanarak kurabilirsiniz:
```bash
pip install psycopg2
```
Veritabanı türüne göre doğru modülü yüklediğinizden emin olun (örneğin, PostgreSQL için `psycopg2`, MySQL için `mysql-connector-python`).
5. Bağlantıyı Kapatmamak
```python
import psycopg2
conn = psycopg2.connect(
host="localhost",
database="mydatabase",
user="user",
password="password"
)
# Bağlantıyı kapatmayı unuttuk!
# conn.close()
```
Çözüm: Bağlantıyı işiniz bittikten sonra her zaman kapattığınızdan emin olun. Python’da `with` ifadesini kullanarak bu işlemi otomatikleştirebilirsiniz:
```python
import psycopg2
with psycopg2.connect(
host="localhost",
database="mydatabase",
user="user",
password="password"
) as conn:
# Bağlantı burada açılır, işlemler yapılır
# Bağlantı otomatik olarak kapanır
```
Bu yöntem, kaynakları doğru şekilde yönetmenizi sağlar ve bağlantı hatalarını önler.