Ανάγνωση MDB αρχείου από PHP

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Ανάγνωση MDB αρχείου από PHP

Δημοσίευση από alou » 19 Σεπ 2014 16:58

Το ζητούμενο είναι να μεταφερθούν δεδομένα από MS Access που υπάρχει τοπικά στον υπολογιστή του χρήστη, σε MySQL κάποιας web εφαρμογής.

Οι εναλλακτικές είναι:

1. ζητάς export το MDB από τον χρήστη, προτείνεις ένα εργαλείο για XLS / CSV export και ανεβάζει τα αρχεία για οποιαδήποτε επεξεργασία και εισαγωγή.

2. Ή, για να είναι πιο φιλικό, ζητάς το mdb αρχείο και προσπαθείς να το διαβάσεις, σε περιβάλλον linux (CentOS) / php που είναι ο server.

Η δεύτερη λύση είναι αυτό που προσπαθώ να δω κατά πόσο είναι εφικτό και ψάχνοντας είδα διάφορες πιθανές λύσεις που στην καλύτερη περίπτωση θέλουν recompile php με κάποια extensions.

Πριν μπω λοιπόν σε αυτή τη διαδικασία, είπα να ρωτήσω μήπως υπάρχει παρόμοια εμπειρία σε κάτι σχετικό...

Υπόψιν, ότι δεν θέλω να κάνω dump ότι υπάρχει σε mysql, θα πρέπει να γίνουν απαραίτητα κάποιοι έλεγχοι και ίσως κάποια επεξεργασία στα δεδομένα του .mdb πριν αποθηκευτούν.

Θενκς :D

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Ανάγνωση MDB αρχείου από PHP

Δημοσίευση από geomagas » 19 Σεπ 2014 17:39

Το (2) θα ήταν σίγουρα το ιδανικό, αλλά όταν το είχα παλέψει κι εγώ έφαγα τόσο πολύ τα μούτρα μου που είπα ότι δεν το ξανακάνω!

Κατά συνέπεια, IMHO ενδείκνυται το export. Ένα csv ανά πίνακα access, και μετά ξεκινάς από τα leaf tables της MySQL και ανεβαίνεις.

Άβαταρ μέλους
webdevgr
Δημοσιεύσεις: 709
Εγγραφή: 11 Δεκ 2010 17:25
Τοποθεσία: Ηράκλειο
Επικοινωνία:

Ανάγνωση MDB αρχείου από PHP

Δημοσίευση από webdevgr » 19 Σεπ 2014 22:46

Εναλλακτικά μπορείς να χρησιμοποιήσεις κάτι σαν αυτό: http://www.bullzip.com/products/a2m/info.php

Να μεταφέρεις όλη τη βάση access σε mysql και μετά το μαγείρεμα γίνεται εύκολα....

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Ανάγνωση MDB αρχείου από PHP

Δημοσίευση από alou » 20 Σεπ 2014 08:48

geomagas έγραψε: Κατά συνέπεια, IMHO ενδείκνυται το export. Ένα csv ανά πίνακα access, και μετά ξεκινάς από τα leaf tables της MySQL και ανεβαίνεις.
Σε κάτι τέτοιο μάλλον θα καταλήξω αλλά θα προσπαθήσω να το παιδέψω πρώτα λίγο παραπάνω, ξεκινώντας κάπως έτσι.
gigenis έγραψε:Εναλλακτικά μπορείς να χρησιμοποιήσεις κάτι σαν αυτό: http://www.bullzip.com/products/a2m/info.php
Να μεταφέρεις όλη τη βάση access σε mysql και μετά το μαγείρεμα γίνεται εύκολα....
Thanks, αν ήταν για μία μετατροπή που θα γινόταν τοπικά από εμένα μια χαρά φαίνεται αυτό.

Αλλά το ζητούμενο είναι η ευκολία του χρήστη, επομένως θέλω να ανεβάζει ένα mdb στον server και να παίρνω τα στοιχεία των tables που περιέχει (το mdb) για να τα εισάγω μετά από έλεγχο και επεξεργασία σε mysql. Επομένως, όποια μετατροπή / εξαγωγή, θα ήθελα ιδανικά να γίνεται στον server.

gvre
Δημοσιεύσεις: 992
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Ανάγνωση MDB αρχείου από PHP

Δημοσίευση από gvre » 20 Σεπ 2014 11:35

Παλιότερα είχα κάνει κάτι παρόμοιο σε java, το οποίο έτρεχε μέσα από τον scheduler των windows, διάβαζε τα δεδομένα από την access και τα έστελνε στη mysql. Ίσως σε βολέψει κάτι τέτοιο.

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Ανάγνωση MDB αρχείου από PHP

Δημοσίευση από geomagas » 20 Σεπ 2014 15:33

Για να ξαναθυμηθώ τα δικά μου, όταν χρειάστηκε να το κάνω αναγκάστηκα τελικά να την "κρύψω" πίσω από ένα MSSQL instance, σαν linked. Αυτό βέβαια έγινε διότι ο MSSQL ήταν ήδη ο βασικός db server της εφαρμογής, και τα δεδομένα θα κατέληγαν σε μία άλλη βάση του ίδιου. Επομένως το migration έγινε με sql scripts, αποθηκευμένα σε SPs που ακόμα υπάρχουν.

Το πλεονέκτημα είναι ότι, αφήνοντας το link εκεί, η εφαρμογή μπορεί να συνεχίσει να έχει πρόσβαση στα παλιά (native) δεδομένα, για τον οποιοδήποτε λόγο. Επίσης, λόγω της εμπειρίας αυτής, είχα μετά την ευχέρεια να συνδέσω πολλά διαφορετικά rdbms με τον ίδιο τρόπο (άλλους MSSQL, oracle, mysql, μέχρι και ldap ή excel!) για να κάνω migrations.

Το μειονέκτημα είναι ότι θα πρέπει να διαθέσεις ένα windows μηχάνημα για να σηκώσεις MSSQL.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες