Как загрузить файл .mdb в базу данных mysql, используя php-код.
У меня есть файл .mdb и его местоположение /example/employee.mdb. Мне нужно прочитать запись из таблицы посещаемости и вставить ее в таблицу emp_attendance в mysql.
Для чего будет логика PHP?
Как и большинство реляционных баз данных, PHP может подключаться к MS Access и MySQL с PDO . Подумайте об этом с двойным соединением с MySQL. Никакого внешнего, стороннего программного обеспечения не требуется. В приведенном ниже примере используется макет таблицы и полей. При необходимости отрегулируйте:
Требования включают (не требуется установка MSAccess.exe):
PHP Dual PDO 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;
Наконец, под логикой работала для меня.
$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"); }
читать данные из mdb в csv
читать из csv и вставлять в mysql
Или
Попробуй это
http://board.phpbuilder.com/showthread.php?10365863-Convert-mdb-to-mysql
MDB – это файл базы данных, используемый Microsoft Access. MDB – это собственный формат доступа, основанный на двигателе базы данных Access Jet. Вы можете открыть его Microsoft Access, так как это собственный формат, а также открыть его в Microsoft Excel. Если у вас нет Microsoft Office, вам не о чем беспокоиться. Файлы MDB также могут открываться OpenOffice.org, SAS Institute 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 ) Прочитайте данные и вставьте их в базу данных, но вы хотите. Лучше конвертировать файл mdb в csv и вставлять в базу данных. Это проще использовать PHP. Надеюсь, у вас есть ответ
Шаги по преобразованию файлов Microsoft Access в формат CSV
Надеюсь, ваша проблема будет решена. Спасибо