Mysql İ Access E Çevirmek?
-
mysql i access e çevirebileceğim bir program önerisi olan varmı nette bulşdum alayı paralı parasızlarda işime yaramadı.
-
arkadaşlar yokmu bilgisi olan?
-
bunu tam olarak yapan bir program olduğunu sanmıyorum , ama access i mysql e çevirdiydim aynı işlemin tersini uygulayarak sanırım yapabilirsin . sanırım sen php ile yapılmış bir işi .net yada asp e çevirmek istiyorsun ...
yogsql diye bir program vardı, kendi bilgisayarından uzaktaki bir ya da birkaç veritabanına erişebiliyorsun bu programla sql haline getirdiğin herhangi bir formattaki veritabanını diğer bir aynı ya da başka formattaki veritabanında çalıştırarak taşıyabilirsin. Ama bunu büyük veritabanları için bir kerede yapılmaz , tablo tablo taşımak daha mantıklı olur.
şöyleki : eğer veritabanın çok büyük değilse bunun phpmysql ile bir .sql yedeğini alıp daha sonra access da bu sorguyu çalıştırırsan veritabanını tüm tablolarını kopyalamış olursun ama bu şekilde veri kaybı yaşayabilirsin.
taşımak istediğin veri çok fazla ise önce sadece tüm tabloların boş halinin sql çıktısını oluşturarak hedef veritabanında sql olarak çalıştır ve tüm tabloları oluştur
daha sonra hosting alanında iki veritabanı için iki tane ayrı bağlantı dosyası oluşturacaksın, burada access dosyasının kendi hosting alanında yada localhostta mysqlin uzak sunucuda olduğunu düşünüyorum, farklı da olabilir. öyle ise phpmyadminden priviliges kısmından hostingin ipsine bağlantı izni tanımlayıp bir kullanıcı oluşturacaksın.
mysql bağlantısını - connect1 , access bağlantısını connect2 dosyalarında tutulduğunu kabul edersek
1 connect1 çağrılıp kaynak veritabanına bağlan
2 X isimli tablonun içindeki tüm kayıtları bir datasete ata , ismide DS olsun
3 connect2 çağırıp hedef veritabanına bağlan
4 DS i döngüye sokarak sonuna kadar çalıştır , her adımında hedef veritabanının X isimli tablosna kaynaktan gelen kaydı id sinden sonuna kadar aynen yazsın
bu işlemi tüm tablolar için tekrarla , çok büyük tablolar bir kerede okunup yazılmayabilir bunun için LIMIT kullan, önce LIMIT 0,100000 sonra LIMIT 100000,100000 gibi yani yüzbiner yüzbiner icra et
SELECT TABLES FROM db diye tüm tabloları bir dataset e atayıp bu dataseti döngü içinde de çağırabilirsin ama bunun bir kerede başarı ile çalışcağını sanmam, en azından küçük tabloları (yani 5000 kayıttan az kaydı olanları diyelim ) bir diziye atayıp bu diziyi foreach ile çağırabilirsin
diğer tablolar teker teker kopyalanacak.
http://www.inndir.com/SQLyog-MySQL---Community-Edition-28240p.html
-
hocam saol ilgin için tam oarlak istediğim gibi bir program var ama trial versiyon işe yaramıyo 40-50 tane kayıtı çeviriyor onların içiende reklam basıyo
