3.6/5 Görüntülenme: 3435

Access to Sql | Php Mdb Bağlantısı ve Mysql Aktarma

Php Access to Sql

MySql için .Mdb dosyanızdaki verileri nasıl aktarabiliriz bundan bahsetmek istiyorum.

Microsoft Access .mdb uzantlı veritabanı verileri Mysql aktarmak için algoritmik olarak 3 şeye ihtiyacımız var mdb bağlantısı - mysql bağlantısı - ve mysql veri yazma;

  1. Önce mysql bağlantı kodlarımızı yazıyoruz
  2. ardından .mdb dosyasına bağlanarak istediğimiz tablodaki verileri alıyoruz
  3. her aldığımız veriyi mysql tablomuza yazıyoruz

while döngüsü access dosyasındaki satırları alıp mysql satırlarına yazıyor işlemimiz tamamlanıyor. Bu mantıkta şöyle bir sorun yaşayabilirsiniz döngünüz uzar 2000-3000 veri hem okuyup hem yazacağı zman tarayıcınız zman aşımına uğrar (30 Sn) bu yüzden access (mdb) dosyanızı sıkıştırıp onarmanızı ve parçalar halinde yüklemenizi öneririm.

Php access bağlantı kodu ve mdb sql aktarma kodu

// Mysql Connect
    $dbhost = "255.0.0.0";
    $dbname = "tabloismi";
    $dbuser = "kullanici";
    $dbpass = "sifrem";
    @mysql_connect($dbhost, $dbuser, $dbpass) or die("Database'e Baglanilamadi!");
    @mysql_select_db($dbname) or die("Database Secilmedi!");
   
    // Access Connect
    $conn = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=dosyayolu-ve-dosyaismi.mdb", "", ""); // son iki "" tirnak aralarina kullanıcı adı ve şifre girilir varsa!
    $res = odbc_exec($conn, "SELECT * FROM Products");
    while( $row = odbc_fetch_array($res) ) {
   
    $AccessFIRM=iconv("ISO-8859-9","UTF-8",$row["AccessFIRM"]); // Access deki yazılar türkçe kararkterli mysql de ise utf 8 tutuyorsak bu şekilde kayıt yaparız.
        $add = mysql_query("INSERT INTO invitations (FIRM , LINK , SIZE) VALUES ('".$AccessFIRM."' , '".$row["AccessLINK"]."' , '".$row["AccessSIZE"]."')");
        // $row access deki tablomuzun degişkeni
        // mesela bu satıra echo $row["AccessFIRM"]." eklendi"; // yazarsak  mysql e aktardığı her satırı ekrana yazar  
    }
    echo "Yukleme Tamamlandi.";


Not: Genel kullanım mantığı olarak .mdb dosyanızı Windows bir hostinge yükleyerek izinleri veriyoruz (777) ardından yukarıdaki kodları bir php dosyası yapıp çalıştırıyoruz herhangibir domaindeki uzak bilgisayarda $dbhost = "255.0.0.0"; ip adresini belirttiğimiz mysql e aktarımı yapmış oluyoruz. Kısaca Access  deki Products tablodaki bilgileri al mysqldeki invitations tablosuna yaz.



Konu (126) ile ilgili admin @ limitsizbilgi.com adresine E-mail gönderebilirsiniz. İsa Şahintürk