biraz ki$isel

27 Ekim 2007

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

Kategori: MySQL — Etiketler:, , , , — Hüseyin Berberoğlu @ 23:29

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

22 Yorum »

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

    Access, MsSQL, Oracle gibi veritabanlarını MySQL’e aktarmak…

    Geri İzleme yapan oyyla.com — 28 Ekim 2007 @ 00:18

  2. Ek kısa sürede deneyeceğim Hüseyin :P

    Comment yapan Uğur SAMSA — 29 Ekim 2007 @ 00:25

  3. 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.

    Comment yapan Ömer — 10 Nisan 2008 @ 16:40

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

    Comment yapan Hüseyin Berberoğlu — 11 Nisan 2008 @ 10:52

  5. Ö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.

    Comment yapan adem — 14 Nisan 2008 @ 16:29

  6. 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

    Comment yapan Hüseyin Berberoğlu — 14 Nisan 2008 @ 16:56

  7. 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.

    Comment yapan adem — 14 Nisan 2008 @ 18:38

  8. MS Access veritabanını seçtiğiniz ekran [0] daki gibi bir ekran mı acaba ? Bendeki ekran bu ve ben sadece mdb uzantılı veritabanımı seçip next’e bastığımda sorun olmuyor, şifre girmesemde ilerleyebiliyorum..

    [0] http://img165.imageshack.us/img165/5971/migrationed7.png

    Comment yapan Hüseyin Berberoğlu — 14 Nisan 2008 @ 19:02

  9. 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.

    Comment yapan adem — 14 Nisan 2008 @ 19:07

  10. yeni farkettim resim eklemeyi :) resim aşağıdaki gibidir.

    Comment yapan adem — 14 Nisan 2008 @ 19:12

  11. 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

    Comment yapan Hüseyin Berberoğlu — 14 Nisan 2008 @ 19:24

  12. çok teşekkür ederim. uğraşıcaz artık :))

    Comment yapan adem — 14 Nisan 2008 @ 19:37

  13. 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..

    Comment yapan Osman — 27 Mayıs 2008 @ 21:01

  14. 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

    Comment yapan adnan — 08 Haziran 2008 @ 13:04

  15. @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.

    Comment yapan Hüseyin Berberoğlu — 08 Haziran 2008 @ 15:11

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

    Comment yapan damla — 19 Temmuz 2008 @ 17:21

  17. Arkadaşım çok teşekkürler tamamens orunsuz bir şekilde aktarım yapabildim :)

    Comment yapan MythBusted — 18 Aralık 2008 @ 17:10

  18. Yapabildim ama tr karakter sorunu çıktı yaw :S

    Comment yapan MythBusted — 18 Aralık 2008 @ 17:49

  19. 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.

    Comment yapan Hüseyin Berberoğlu — 19 Aralık 2008 @ 10:22

  20. 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.

    Comment yapan MythBusted — 20 Aralık 2008 @ 21:00

  21. 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′;

    Comment yapan MythBusted — 20 Aralık 2008 @ 22:50

  22. Bilgi verdiğin için teşekkürler :)

    Comment yapan Hüseyin Berberoğlu — 21 Aralık 2008 @ 13:48

Bu yazıya yapılan yorumlar için RSS beslemeleri. Geri İzleme URL'si.

Yorum yapın

WordPress'in desteğiyle.