Merhaba, genellikle web teknolojileri, web programlama dilleri, linux ile ilgili yazıların yazıldığı bir sitede bulunmaktasınız. Eğer bu konular ilginizi çekiyorsa yazılarıma abone olmanızı öneririm. Yazar hakkında ayrıntılı bilgi için tıklayın.

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

Creative Commons License
Java Dergisi

30 Yorum

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

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

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

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.

Hüseyin Berberoğlu Nisan 11th, 2008, 10:52

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

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

Hüseyin Berberoğlu Nisan 14th, 2008, 16:56

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

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.

Hüseyin Berberoğlu Nisan 14th, 2008, 19:02

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

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.

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

Hüseyin Berberoğlu Nisan 14th, 2008, 19:24

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

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

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

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

Hüseyin Berberoğlu Haziran 8th, 2008, 15:11

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

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

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

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

Hüseyin Berberoğlu Aralık 19th, 2008, 10:22

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.

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.

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

Hüseyin Berberoğlu Aralık 21st, 2008, 13:48

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

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.

Hüseyin Berberoğlu Şubat 4th, 2009, 02:09

Sorununuzun çözümünü paylaştığınız için teşekkürler.

Ne demek Hüseyin bey amca görevimiz : )

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 caner@sonsesim.com asp sitem yada pd portaldakinler gibi ??

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

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

Hüseyin Berberoğlu Mayıs 29th, 2009, 21:31

@halil bol şanslar !

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ı

Yorum Yazın

Kısa da olsa bir yorum yazmanız yazar için çok önemli.
Yorumunuz