MS Access Veritabanını MySQL’e Çevirmek (Access to MySQL)

Bir süredir access veritabanını mysql’e çevirmeye uğraşıyorum ve en sonunda bu iş için en uygun aracı buldum: MySQL GUI Tools ile birlikte gelen MySQL Migration Toolkit… Bu işe başlamadan önce her zamanki gibi Google‘a “access to mysql” yazarak arama yaptım fakat sonuçların çoğunda üçüncü parti yazılımları buldum ve onlarla sürekli problemler yaşadım.

Eğer siz de MS Access ile oluşturulmuş bir veritabanını MySQL veritabanına sorunsuz olarak aktarmak istiyorsanız bu aracı kullanmalısınız. Çünkü bu araç üçüncü parti bir yazılım değil MySQL geliştiricileri tarafından yapılmış bir araç.. Bu yazılım Ms Access’in yanında Oracle, MsSQL, Generic Jdbc, MaxDB Database Server, Sybase Server gibi veritabanı sistemlerine de destek vermekte. Yani veritabanınızı tüm bu sistemlerden MySQL’e sorunsuz bir şekilde aktarabilirsiniz..

Veritabanını aktarmada Türkçe karakter problemi yaşamamak için Object Mapping bölümüne geldiğinizde Parameters bölümünden kullandığınız karakter setlerini elle ayarlamanız gerekiyor. Bu aracın öntanımlı olarak INNODB MySQL motorunu kullanıyor. Eğer sizin MySQL serverınızın benim ki gibi MyISAM motorunu kullanıyorsa yani InnoDB desteği yoksa Migration of type Table bölümünde Set Parameters butonuna tıklayıp en alt kısımdaki parametre giriş bölümündeki engine kısmını şu şekle getirmelisiniz : engine=MyISAM

Diğer sistemlerdeki bir veritabanını MySQL Migration Toolkit ile nasıl MySQL’e aktaracağınızı anlatan bazı videolarda hazırlanmış ;

Sorunsuz aktarımlar :)

MySQL Migration Toolkit’in indirmek için tıklayınız

FavoriteLoadingFavorilerime Ekle

MS Access Veritabanını MySQL’e Çevirmek (Access to MySQL)” hakkında 33 yorum

  1. Geri izleme: oyyla.com

  2. Ömer

    Merhaba Yazını Okuyunca ikilemde kaldım kime Sorsam Hep aynı yöntemler üzerinden yol gösteriyolar Senin yazın Diğerlerinden farklı. Napcağımı şaşırdım sorunda yaşamak istemiyorum ama bi deneyeyim anlattığın kadarıyla videoyu da izledim bakalım :) sağol tekrarda.

    Cevapla
  3. Hüseyin Berberoğlu Yazar

    bu yöntem ile Türkçe karakter problemi çıkabiliyor fakat access tam olarak mysql’e aktarılıyor

    Cevapla
  4. adem

    Öncelikle bu şekilde bir anlatımla ve kolaylıkla bizi büyük bir dertten kurtardığınız için teşekkürlerimi sunarım.

    Benim sorum şu:

    Source database olan *.mdb uzantılı, yerel diskimde bulunan databasemi seçip, şuan hostta bulunan adresimin mysql veritabanına aktarım yapmak istiyorum. Herşey güzel hoş ama *mdb deki verileri tabloları görüyor, ama üzerlerinde birer çarpı işareti var. aktar dediğimde aktarıyor ama son olarak hata loglarında erişim engellendi diyor ve hiç bir aktarım yapmıyor.

    *.mdb olan veritabanımın hiç bir şifresi yok. İlla bir şifre koymammı gerekiyor.

    Yardımlarınızı bekliyorm.

    Cevapla
  5. Hüseyin Berberoğlu Yazar

    gelip okuduğunuz için ben teşekkür ederim.. yazı işe yaradıysa ne mutlu bana…

    sorunuza gelince; bence sorun serverınızın uzaktan mysql bağlantısına izin vermemesi… bunu test etmek için serverınıza bağlantıyı sağlayacak olan php betiğini yazın ve localhostunuzda çalıştırın. eğer bağlanamaz ise kesinlikle sorun bu..

    bu sorunu çözmek için hosting panelinizden bu özelliği aktif etmeniz gerekiyor. örneğin cpanel için Databases bölümünde Remote MySQL bölümü var. o bölüme gidip % yi host olarak eklerseniz tüm iplerden mysqle gelen bağlantı isteklerini server kabul edecektir.. bunu işleminizi bitirdikten sonra silmenizi öneririm..

    kolaylıklar

    Cevapla
  6. adem

    ilginiz için teşekkür ederim ama indirdiğimiz bu programdaki mysql’e bağlanma ve yedek alma konusundaki program olan MySQLAdministrator ile database’e bağlanıyorum hatta yedek alıp geri yükleyebiliyorum. Eğer böle bir sorun olsa bunada izin vermez diye düşünüyorum.

    Büyük ihtimalle sorunun kaybağı, MSaccess database’i . Çünkü bu database’i bilgisayarımda açtığımda direk ACCESS programı açılıyor ve tabloların içine girebiliyorum. Ne şifre soruyor nede bişey ama çeviri programında k.adı ve şifreyi istiyor. Burda bi aksilik var gibi.

    Ne dersiniz? Şimdiden teşekkür ederim.

    Cevapla
  7. adem

    bende ilerleyebiliyorum :)) ama sonunda takılıyorum. ama sizin deiğiniz REMOTE MYSQL de olabilir. ben plesk kullanıyorum ve pleskte dediğiniz gibi REMOTE MYSQL seçneği yok başka türlü nasıl yapabilirm onuda bilmiyorum.

    msnden yada mail yoluyla göreşebilme imkanımız varsa, sizde o hata ekranın resmini atmak sitiyorum. Mümkünmüdür.

    Cevapla
  8. Hüseyin Berberoğlu Yazar

    yorum yazma kısmına resmin linkini ekleseniz yeterli olacaktı :) böyle tam olmamış ama neyse ben açabildim resmi…

    resimden gördüğüm hata şu; ‘user’@’%’ yazıyor.. bu % nedir pek anlamadım, serverınızın IP adresini doğru yazdığınızdan emin olun..

    eğer bu doğru ise ki bu aşamaya kadar geldiğine göre doğru sanırım bağlandığınız kullanıcının veritabanı oluşturma yetkisi olup olmadığını kontrol edin. normalde bu yetki yoktur. bu program veritabanını create database komutu ile kendisi oluşturuyor.. bu yüzden access denied hatası çıkıyor olabilir…

    önerim; access’i localhosttaki mysql serverınıza aktarın. daha sonra dışa aktar / içe aktar kullanarak servera aktarın.. eğer dosya boyutu büyükse bigdump kullanabilirsiniz..

    kolaylıklar

    Cevapla
  9. Osman

    Merhaba öncelikle bilgiler için tşkler..

    adem arkadaşımızın takıldığı soruna bende takılmıştım. ancak sanırım sorunun çözümü oldukça basit.. henüz işlemim tamamlanmadı ancak adem arkadaşın dediği tabloların üzerinde çarpı işareti çıkan bölümü şöyle geçtm. Mysqlde oluşturduğum tablonun adı ahmet ise bilgisayarımda access db’sinin adınıda ahmet yaptım, böylece üstünde çarpı çıkmadı o bölümü geçtim biraz büyük bi db olduğu için şuan yükleme aşamasında ama tahminimce sorun aşıldı. işlem tamamlanınca yine yazarım.. kolay gelsin..
    ha birde dbyi taşıma yapmadan önce acces ile açtığınızda üstte araçlardan veritabanı hizmet ve programlarından düzenle ve onarı uygulayın inanın tabloları taşıma süresini yarı yarıya indiriyor..

    Cevapla
  10. adnan

    Kolay gelsın oncelıkle burda ASP de bulunan mdb verı tabanımızı sorunsuz bır sekılde MySQL e aktarabıldıgımız anlatılmış. Bu gercekten cok guzel bır durum fakat benım sorum soyle olacak ASP de bulunan sıtemın db’sini MySQL e aktardıktan sonra PHP ıle kullanacagım sıstem Joomla olacak ve bu sıstemdekı bılesenlerıme eskı sıtemdekı verıler eklenıcekmı?

    Ornegın; ASP Sitemde ılanlar alanım var ve ben PHP ye gectıgımde Joomla kurdugumda MarketPlace Bılesenı kullanmayı dusundum ASP de kı ılanlarımı MarketPlace Bılesenıne sorunsuz aktarıcak mı bu “db” bunun harıcınde kullanıcı Kayıtlarım yıne aynı sekılde PHP ye sorunsuz olarak aktarılcakmı

    Bunun ıcın herhangı bır tablolar ıle oynanamız soz konusumu? Boyle bır durumda varsa SQL den fazla anlamayan (yanı ben) Arkadaslarımız ıcın bunu bıraz daha acabılırmıyız????

    Simdiden tesekkurler

    Cevapla
  11. Hüseyin Berberoğlu Yazar

    @adnan; ilanlar otomatik olarak joomlaya aktarılamayacak. Çünkü joomla eklentisindeki tablo alanları ile asp ile kullandığın access veritabanındaki tablo alanları uyuşmazlığı olacak. Eğer bu uyuşmazlığı giderirsen bilgilerini aktarmış olacaksın. Bu uyuşmazlığı giderme yolu eskiden hangi sistemi kullandığına, hangi sistemi kullanacağına bağlı olarak değişir. Bu yüzden bunu anlatmak mümkün değil.

    Cevapla
  12. damla

    merhabalar.ben accesste yazılmış olan eczane takip programımı oracle çevirmek istiyorum.lütfen bana yardımcı olun.

    Cevapla
    1. Hüseyin Berberoğlu Yazar

      Eğer aktarım yaparken kodlama türünü doğru seçtiyseniz ve buna rağmen Türkçe karakter problemi oluştuysa bunun için bir çözüm bilmiyorum. Eğer bulursanız burada paylaşırsanız sevinirim.

      Cevapla
  13. MythBusted

    Bi çözüm yolu buldum.
    Db bağlantımı şu şekilde yaptım:
    mysql_sunucusu = “localhost”
    mysql_kullanicisi = “root”
    mysql_sifresi = “123456”
    mysql_veritabani = “kmktmktmktmktmk”
    portal= “DRIVER={MySQL ODBC 3.51 Driver}; SERVER=”& mysql_sunucusu&”; UID=”&mysql_kullanicisi&”; pwd=”&mysql_sifresi&”; stmt=SET NAMES ‘latin5’; db=”&mysql_veritabani
    Set Bag= Server.CreateObject(“ADODB.Connection”)
    Bag.Open portal

    stmt=SET NAMES ‘latin5’; şunu ekledim bağlantıya, localhost da açtığımda düzgün çalıştığını gördüm, bu güzel. Ama bu sefer hosta attığımda karakterler değişti. Şimdi buna çözüm arıyorum. Ortaklaşa bir çözüm bulabiliriz sanırım msn adresimi ekleyin lütfen.

    Cevapla
  14. MythBusted

    Arkadaşlar düzeldi fakat sadece localhost’da düzeldi. Sunucuya attığımda karakterler yine bozuk çıktı (sanırım sunucudanda kaynaklanıyor olabilir.
    DB bağlantısını şu şekilde yapın yeterli olur.

    Bağlantıya sadece şunu ekledim : stmt=SET NAMES ‘latin5’;

    Cevapla
  15. MythBusted

    Merhaba arkadaşlar üstte belirttiğim sorunu da çözmüş bulunmaktayım onu da paylaşayım sizinle.
    Veritabanımı çevirdiğimde localhost’da düzgünce çalıştığını gördüm veritabanı ve scriptimin. Fakat hosta attığımda Türkçe karakterler görünmüyordu, farklı tiplere dönüyordu.
    Bunun çözümü de şöyle ki;
    Eğer kendi VPS’nizde kullanıyorsanız sunucuya uzakmasaüstü bağlantısı yapın ve Bölge ve Dil Seceneklerine girin, orada bulunan bütün ayarları Turkish/Turkey olarak değiştirin. Sorun tamamen kalkacaktır ortadan. Hadi kolay gelsin.

    Cevapla
  16. caner

    arkadaşlar jommlayı nasıl acces e gönüştürebilirim yani msql kulanamadan bayadan beri araştırıyorum yardımcı olursanız sevinirim msn adresim [email protected] asp sitem yada pd portaldakinler gibi ??

    Cevapla
  17. MythBusted

    Joomla’nın MySQL databasesini Access’e çevirebilirsin fakat ona uygun da asp script yazman yada yazdırman gerekiyor. Kolay bir iş değil.

    Cevapla
  18. halil ibrahim

    merhabalar sınıfımı geçmek için kurtarma ödevi verdi hoca php den veri tabanına bağlanma diye. hayat memat meselesi lütfen yardımcı olun.bi hayır işleyin

    Cevapla
  19. Samet

    Benim Veritabanım MySQL ama kulanacaım portal accesle yapılmıs dogal olarak calısmıyor nasıl yaparım yardımcı olan varmı

    Cevapla
  20. Halil KETREZ

    Merhaba Hüseyin;
    Uzun zaman oldu görüşmeyeli.
    Umarım iyisindir.
    Bu bilgiler bir projede işime yaradı teşekkür ederim…
    Kendine iyi bak.
    Görüşürüz…
    İyi çalışmalar…

    Cevapla
  21. Murat D.

    Çok teşekkürler bu güzel paylaşım için. Ben de aktarım sırasında Türkçe karakter problemi yaşadım ama bu problemi aktarım işlemi yapmadan önce bilgisayarımın tüm dil seçeneklerini Türkçe (bölge ve dil seçeneklerinden) yaparak çözdüm.

    Cevapla
  22. Yakup TAŞLIBEYAZ

    Merhaba;

    İlk Önce Böyle Bir Makale Paylaştığınız İçin Teşekkürler.

    Ancak Benim Bir Sorum Olacaktı.

    C# Windows Application Kullanarak Access 2013 Verittabanını MYSQL Veritanaına Aktarmmayı GUI Kullanmadan Nasıl Yapabilirim Böyle Bir Kod Paylaşımı Yaparsanız Sevinirim Lütfen Çok Acil Yardım

    Cevapla

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir