Merhabalar arkadaşlar,
Python ile bir program geliştiriyorum. Bir takım işlemler yapmam için
Amarok`un gömülü veritabanına ulaşabilmem lazım. Çoğu kişi Amarok`u gömülü
veritabanı ile kullanıyorlardır diye düşünüyorum. Bu yüzden bu bağlantıyı
yapmam şart.
Çok uzun süredir araştırma yapıyorum ve son iki gündürde aktif bir şekilde
bu problem ile uğraşıyorum. Bir türlü gömülü bir veritabanına bağlanamadım.
Mevcut olan bir gömülü veritabanınada bağlanamadım yeni bir gömülü
veritabanıda oluşturamadım.
İnternet üzerinde hiç bir şekilde python ile yazılmış embedded mysql örneği
göremedim. Sanki hiç kullanılmamış gibi:(. C++ örnekleri mevcut ama
mantıkları tamamen farklı olduğu için python`a uyarlayamadım.
Denediğim kodların en son hali aşağıdaki gibidir.
------------------------------------------------------------------------
import MySQLdb
MySQLdb.server_init(args=["mysql_test",
"--datadir=/home/mod/.kde4/share/apps/amarok20100925/mysqle"],
groups=["mysql_test_SERVER", "embedded",
"server"])
#MySQLdb.server_end()
conn=MySQLdb.connect()
conn.query("""SHOW DATABASES""")
r = conn.store_result()
print str(r.fetch_row(0))
------------------------------------------------------------------------
Çıktı olarak localhostta çalışan mysql sunucusunun veritabanlarını
listeliyor
------------------------------------------------------------------------
Denediğim bazı şeyler :
- localhosttaki mysql sunucusunu durdurup yukarıdaki kodlarda epeyce
değişiklikler yaparak adım adım test ettim ama bu şekildeyken hata
veriyor(Bakanınız *Hata 1*)
- args ve groups dizilerinin elemanlarında bir sürü değişiklikler yaptım ama
hiç bir fark göremedim. (*Bağlantı 1* sayfasındaki parameterelere ve *Bağlantı
2* sayfasındaki C++ örneklerine göre)
İki gündür denemediğim varyasyon kalmamıştır heralde. Beni en çok
şarşırtanda hiç bir örneğe rastlayamamış olmam:(. python-mysql modülünün
kendi döküman dosyasındada (Bakınız *Bağlantı 3*) sadece bu konuya örnek
vermemiş olmaları çok tuhaf:). Bence asıl bu konuya örnek vermeliydiler:).
Alternatif bir çözüm olsaydı daha fazla uğraşmazdım ama maalesef başka bir
çözüm yok sanırım. Amacım Amarok`un gömülü veritabanına bağlanmak çünkü:(.
Gömülü veritabanının mantığınıda tam olarak anlamadığımı düşünüyorum. Bu
konularla ilgili bir sayfa bağlantısı verebilirsenizde benim işimi
çözebilir. Dediğim gibi hiç bir kaynak bulamadığım için sadece sallama
yöntemiyle bişeyler yapmaya çalışıyorum.
*Yardımlarınız, önerileriniz ve ilginiz için şimdiden teşekkür ederim.*
*Hata 1 :* The debugged program raised the exception unhandled
OperationalError
"(2002, "Can't connect to local MySQL server through socket
'/var/lib/mysql/mysql.sock' (2)")"
File: /usr/lib64/python2.6/site-packages/MySQLdb/connections.py, Line: 188
*Bağlantı 1*:http://amarok.kde.org/wiki/Development/MySQL_Embedded
*Bağlantı 2*:http://dev.mysql.com/doc/refman/4.1/en/libmysqld-example.html
*Bağlantı 3:*
http://mysql-python.sourceforge.net/MySQLdb.html#embedded-server
Murat Demir
http://mopened.com
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php