2016-12-26 3 views
2

Загрузка файла .mdb в базу данных mysql с использованием PHP-кода.Импорт данных доступа в MySQL с использованием PHP

У меня есть файл .mdb и его местоположение /example/employee.mdb. Мне нужно прочитать запись из таблицы посещаемости и вставить ее в таблицу emp_attendance в mysql.

Для чего будет логика PHP?

+0

увидеть это: http://www.bullzip.com/products/a2m/info.php конвертировать и импортировать файлы ПДБ –

ответ

2

Наконец Ниже логика работает для меня.

$fileNm = "C:\Users\abc\Desktop\attendanceData.mdb"; 
$conn = new COM("ADODB.Connection") or die("ADODB Connection Faild!"); 
$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=$fileNm"); 
    if($conn){ 
     $data = $conn->Execute("SELECT * FROM em_attendance"); 
    } 
0

MDB файл базы данных, используемый по Microsoft Access. MDB - это собственный формат доступа , основанный на двигателе базы данных Access Jet. Вы можете открыть его Microsoft Access, так как это его собственный формат, а также открыть его Microsoft Excel. Если у вас нет Microsoft Office, вам не нужно беспокоиться. Файлы MDB также могут открываться OpenOffice.org, SAS Институт SAS, Wolfram Mathematica, Softpedia MDB Converter® и Microsoft Visual Studio 2010. Файлы файлов MDB могут быть преобразованы в форматы .TXT или .CSV с использованием MDB-конвертера. Даже если вы не имеете выше все, вы можете загрузить бесплатный популярный инструмент MDB Viewer Plus (http://download.cnet.com/MDB-Viewer-Plus/3001-10254_4-75285626.html?onid=10254) enter image description here Прочитайте данные и вставьте их в базу данных, но вы хотите. Лучше конвертировать файл mdb в csv и вставлять в базу данных. Это проще использовать PHP. Надеюсь, что у вас есть свой ответ

шаги для преобразования Microsoft Access файлы в формате CSV

  • Открыть MDB файл с доступом Microsoft для экспорта в формат CSV
  • Нажмите на «внешних данных 'tab
  • Выберите «Excel» в разделе «Экспорт»
  • «Выберите пункт назначения для данных, которые вы хотите экспортировать»
    • Выберите подходящее имя и местоположение файла
    • Выбор книги Excel в качестве формата файла
    • указать соответствующие опции экспорта
    • Нажмите кнопку «OK»
  • Откройте файл вы только что сохранили используя Microsoft Excel
  • Выбрать файл и 'Сохранить как'
  • Нажмите на раскрывающееся меню рядом с 'Сохранить как тип:'
  • Измените «Сохранить как тип» на «CSV (с запятой) (*.CSV)»
  • Выберите подходящее имя файла„“
  • „Сохранить“на рабочий стол

Надежда ваша проблема будет solved.Thanks

+0

Как преобразовать файл mdb в CSV-файл с помощью PHP-кода. – Madhura

+0

Обратите внимание, что у вас есть свой ответ. (Желаю только хорошо) –

2

Как и большинство реляционных баз данных, PHP может подключиться к MS Доступ и MySQL с PDO. Подумайте об этом с двойным соединением с MySQL. Никакого внешнего, стороннего программного обеспечения не требуется. В приведенном ниже примере используется макет таблицы и полей. Отрегулировать при необходимости:

требования включают в себя (без установки файл MSAccess.exe не требуется):

  1. php_pdo.dll расширение позволило в .ini файле
  2. MS Access ODBC Driver (как правило, уже предварительно установлены)
  3. Любые ПК с ОС Windows (предварительно построенный с двигателем двигателя Jet/ACE SQL -Access)

PHP PDO Dual Connection

$accdatabase="C:\Path\To\database.accdb"; 

$host="localhost"; 
$mydatabase="****"; 
$username="****"; 
$password="****"; 

try { 
    # OPEN BOTH DATABASE CONNECTIONS 
    $accConn = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBq=$accdatabase;Uid=Admin;Pwd=;"); 

    $myConn = new PDO("mysql:host=$host;dbname=$mydatabase",$username,$password); 
    $myConn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

    $sql = "SELECT * FROM emp_attendance"; 
    $accstmt = $accConn->query($sql); 
    $accstmt->setFetchMode(PDO::FETCH_ASSOC); 

    // FETCH ROWS FROM MS ACCESS 
    while($row = $accstmt->fetch()) { 
    // APPEND TO MYSQL 
    $mystmt = $myConn->prepare("INSERT INTO emp_attendance (empid, `date`, status, notes) VALUES (?, ?, ?, ?)"); 

    # BIND PARAMETERS 
    $mystmt->bindParam(1, $row['empid'], PDO::PARAM_STR, 50); 
    $mystmt->bindParam(2, $row['date'], PDO::PARAM_STR, 50);  
    $mystmt->bindParam(3, $row['status'], PDO::PARAM_STR, 50); 
    $mystmt->bindParam(4, $row['notes'], PDO::PARAM_STR, 50); 

    # EXECUTE QUERY 
    $mystmt->execute(); 
    } 
} 
catch(PDOException $e) {   
    echo $e->getMessage()."\n"; 
    exit; 
} 

// CLOSE CONNECTIONS 
$accConn = null; 
$myConn = null; 
+0

Да, я пробовал выше одного, он работает над логикой выше, но, наконец, я использовал COM. – Madhura

+0

Ниже приведена логика, которая также работает нормально: $ conn = new COM («ADODB.Connection») или die («ADODB Connection Faild!»); \t \t \t \t \t $ conn-> Open ("DRIVER = {Microsoft Access Driver (* .mdb)}; DBQ = $ fileNm"); \t \t \t \t \t, если ($ сопп) { \t \t \t \t \t $ Данные = $ conn-> Выполнить ("SELECT * FROM em_attendance"); – Madhura

+1

Действительно, тот же драйвер подключения (удалить * accdb *), но отличается от PDO API -PHP и ADO Windows. Просто мысль, использующая библиотеку объектов PHP, может обеспечить бесшовную настройку, особенно с подключением MySQL в скрипте. Но каждому его. Счастливое кодирование! – Parfait

Смежные вопросы