Domanda

Utilizzerò C/C++ e vorrei sapere il modo migliore per parlare con un server MySQL.Dovrei utilizzare la libreria fornita con l'installazione del server?Ci sono delle buone biblioteche che dovrei considerare oltre a quella ufficiale?

È stato utile?

Soluzione

Altri suggerimenti

Dipende un po' da cosa vuoi fare.

Innanzitutto, controlla le librerie che forniscono connettività a più che sulla piattaforma DBMS.Ad esempio, Qt semplifica la connessione a MySQL, MS SQL Server e molti altri e la modifica del driver del database (tipo di connessione) in fase di esecuzione, con solo poche righe di codice.

Le librerie specifiche di MySQL vanno bene, ma tieni presente che ti stai vincolando a un'implementazione DB: se mai avessi bisogno di cambiare in futuro, sarà un sacco di lavoro, anche se progetti il ​​tuo codice in modo tale che il DB -le cose specifiche sono dietro una facciata.Perché non utilizzare una libreria che fornisca connettività a più piattaforme e risparmiarsi il problema?

OTL è una solida soluzione cross-DBMS per C++ che il mio progetto utilizza da anni.Lo usiamo per parlare con SQL Server (tramite ODBC) e Oracle (tramite OCI).È abbastanza facile da guidare e include un gran numero di esempi in tutti i database supportati.

Non c'è niente di sbagliato nelle librerie client di MySQL.Se sei disposto ad accontentarti funzionalità ridotta, puoi acquistarti una portabilità extra utilizzando ODBC, UDBC, apr_dbd, o qualche altra libreria di astrazione di database (come l'OTL già offerta).

Ciò renderà più semplice il passaggio a un back-end, ma, come ho già detto, a scapito di offrire meno funzionalità rispetto a quelle del client nativo.Poiché i fornitori di DB differiscono, le librerie di astrazione possono realmente offrire solo le funzioni comuni a tutti (o alla maggior parte) dei back-end.Dipende da te (e, forse, dal tuo manager) decidere se preferisci ottimizzare per un particolare DB o se preferisci rendere più semplice il cambio di back-end.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top