Για το πρώτο ερώτημα, δημοφιλείς layers για σύνδεση με databases σε περιβάλλοντα microsoft είναι τα ODBC και OLEDB, ενώ όντως υπάρχουν και άλλα.
Το ODBC γενικά είναι παλαιότερο από το OLEDB. Και τα δύο είναι layers ή "drivers", θα μπορούσε να πει κάποιος, μέσω των οποίων επιτυγχάνεται η επικοινωνία με την εκάστοτε database. Το ADO είναι ένα API για την επικοινωνία με τις databases που χρησιμοποιεί το ODBC ή το OLE DB για να μιλήσει σε αυτές (το ίδιο το ADΟ δεν μιλάει απευθείας στις databases).
Για κάθε είδος βάσης δεδομενων υπάρχει ένας ή περισσότεροι drivers. Π.χ, μια Access database μπορεί κανείς να την προσπελάσει είτε με ΟDBC είτε με OLE DB. Βεβαια, το ODBC δεν πολυ-υποστηρίζεται από τη Microsoft ως παλαιότερο και γενικά είναι πιό αργό στην επικοινωνία από το OLE DB.
Για σενα, αυτό που αλλάζει είναι συνήθως ο τρόπος με τον οποίο γράφεις το connection string για τη σύνδεση με τη βάση. (Σε ODBC σύνδεση χρειάζεται το επιπλέον βήμα του ορισμού ενός data source name στο server που φιλοξενεί την εφαρμογή σου).
Σωτήρης Φιλιππίδης
DotSee Web Services