Sono relativamente nuovo ai database, eseguo query SQL, ecc. Al momento utilizzo esclusivamente MS SQL Server per i miei DB (è quello che usiamo nel mio lavoro), ma si spera le risposte alla mia domanda possono essere più generali che solo per quel particolare DB.pymssql versus pyodbc versus adodbapi versus ...
Faccio una buona parte del mio lavoro utilizzando l'app di interfaccia DB stessa (in questo caso, SQL Server Management Studio), ma faccio anche un po 'di lavoro tramite script python, alcuni dei quali funzionano come cron, alcuni dei quali sono siti Web tali che gli utenti possono inviare query nel DB.
Ho utilizzato il modulo pymssql per l'interrogazione nella scrittura & in DB da python. Ma ci sono alcuni fastidiosi problemi che sto incontrando. (Sembra che pymssql non possa usare tabelle temporanee, e anche io ho avuto problemi con "autocommit", ma probabilmente è colpa mia.)
Quindi, ignorando molto di questo, mi piacerebbe un sapore di cosa direzione dovrei andare. Per quanto posso dire, ho potuto neanche:
- uso pymssql, che parla direttamente ai server MS SQL
- uso pyodbc, che richiede FreeTDS installazione & unixODBC prima, e impostandole
- uso modulo adodbapi, e non sono sicuro di quali requisiti sono necessari qui.
- un altro metodo ??
Il fatto è che non lo faccio COMPLETAMENTE ottenere ciò che ODBC fa. Sembra una specie di "intermediario di autenticazione", un po 'come un intermediario per assicurarsi che l'utente sia chi dice. E ho ancora meno comprensione di ADO.
Mentre pymssql sembra il modo più semplice per andare, sembra anche quello che la gente pensa meno, e che alla fine sarà deprecato. Preferirei imparare il modo "giusto" dato che sono praticamente solo all'inizio con questa roba.
Quindi sto cercando alcune opinioni informate sul modo migliore per ottenere Python per parlare con MS SQL Server e per parlare con DB in generale. Definirei "migliore" come il migliore per qualcuno che farà cose moderatamente complesse con esso. (Mentre sto per iniziare, è qualcosa che alla fine dovrò incrementare un po '.)
Grazie! Mike
Come annunciato a dicembre 2016, pyodbc è ora [ufficialmente supportato da Microsoft] (https://blogs.technet.microsoft.com/dataplatforminsider/2016/12/09/sql-server -python-cosa-new /). –