Storia dei driver per Microsoft SQL Server
In questa pagina vengono descritte le tecnologie di connessione dati storiche di Microsoft per la connessione a SQL Server.
ODBC
Sono disponibili tre generazioni distinte di driver Microsoft ODBC per SQL Server. Il primo driver ODBC "SQL Server" è ancora disponibile come parte di Windows Data Access Components. Questo driver non è consigliato per nuovi progetti di sviluppo. A partire da SQL Server 2005, SQL Server Native Client include un'interfaccia ODBC ed è il driver ODBC disponibile in SQL Server 2005 fino a SQL Server 2012. Neppure questo driver è consigliato per nuovi progetti di sviluppo. A partire da SQL Server 2012, Microsoft ODBC Driver for SQL Server è il driver che in futuro verrà aggiornato con le funzionalità server più recenti.
SQL Server Native Client
SQL Server Native Client era una libreria autonoma usata sia per OLE DB che per ODBC. SQL Server Native Client (spesso abbreviato SNAC) era incluso in SQL Server a partire dalla versione 2005 fino a SQL Server 2012. SQL Server Native Client può essere usato per le applicazioni che devono sfruttare le nuove funzionalità introdotte in SQL Server 2005 e in uso fino a SQL Server 2012 (I componenti di accesso ai dati Microsoft/Windows non vengono aggiornati per queste nuove funzionalità di SQL Server). Per le nuove funzionalità oltre SQL Server 2012, SQL Server Native Client non verrà aggiornato. SQL Server Native Client (SNAC) non è fornito con: - SQL Server 2022 (16.x) e versioni successive - SQL Server Management Studio 19 e versioni successive SQL Server Native Client (SQLNCLI o SQLNCLI11) e il provider Microsoft OLE DB legacy per SQL Server (SQLOLEDB) non sono consigliati per la nuova applicazione di sviluppo. Per i nuovi progetti, usare uno dei driver seguenti: Microsoft ODBC Driver for SQL Server - Microsoft OLE DB Driver per SQL ServerPer SQLNCLI incluso come componente del motore di database SQL Server (versioni da 2012 a 2019), vedere questa eccezione relativa al ciclo di vita del supporto.
Per informazioni dettagliate su SQL Server Native Client, vedere la documentazione di SQL Server Native Client.
Driver Microsoft ODBC per SQL Server
Dopo SQL Server 2012, il driver ODBC primario per SQL Server è stato sviluppato e rilasciato come Microsoft ODBC Driver for SQL Server. Per altre informazioni, vedere la documentazione di Microsoft ODBC Driver for SQL Server.
OLE DB
Sono disponibili tre generazioni distinte di provider Microsoft OLE DB per SQL Server. Il primo "provider Microsoft OLE DB per SQL Server" (SQLOLEDB) viene ancora fornito come parte di Windows Data Access Components. Questo provider non verrà aggiornato con nuove funzionalità e non è consigliabile usarlo per nuovi progetti di sviluppo. A partire da SQL Server 2005, SQL Server Native Client include un'interfaccia del provider OLE DB (SQLNCLI) ed è il provider OLE DB disponibile con SQL Server 2005 fino a SQL Server 2017. È stato annunciato come deprecato nel 2011 e non è consigliabile usare questo driver per nuovi progetti di sviluppo. Nel 2017 la tecnologia OLE DB per l'accesso ai dati è stata dichiarata non più deprecata ed è stato annunciato un nuovo rilascio pianificato per il 2018. Il nuovo Microsoft OLE DB Driver per SQL Server (MSOLEDBSQL) è attualmente gestito e supportato.
ADO.NET
ADO.NET è un set di classi che definisce un'interfaccia per l'accesso a qualsiasi tipo di origine dati, sia relazionale che non relazionale. ADO.NET è stato introdotto con Microsoft .NET Framework e continua a essere sottoposto a processi di manutenzione e ottimizzazione in .NET. La libreria SqlClient è un provider di dati ADO.NET che fornisce la connettività a SQL Server e a origini dati SQL di Azure.
System.Data.SqlClient
System.Data.SqlClient è incluso come parte di .NET Framework e .NET Core. Fino al 2019 ha ricevuto regolarmente gli aggiornamenti delle funzionalità. Con gli annunci relativi al futuro di .NET Core, .NET Framework e di .NET in generale, è stato necessario trasferire le attività di sviluppo di SqlClient in un pacchetto esterno a .NET. System.Data.SqlClient è ancora supportato, ma non riceve gli aggiornamenti delle funzionalità e non è consigliato per nuovi progetti di sviluppo.
Microsoft.Data.SqlClient
Il provider di dati Microsoft SqlClient per SQL Server, introdotto nel 2019, è un provider di dati ADO.NET che supporta applicazioni destinate a .NET Framework, .NET Core e .NET Standard. Per altre informazioni sullo spazio dei nomi Microsoft.Data.SqlClient, vedere Microsoft ADO.NET for SQL Server.
JDBC
Driver Microsoft JDBC per SQL Server
Introdotto nel 2000, Microsoft JDBC Driver per SQL Server continua a essere usato e migliorato. Era open source nel 2016. Per informazioni aggiornate, inclusa la procedura di download del driver, vedere Panoramica del driver JDBC.
PHP
Microsoft Drivers per PHP per SQL Server
Introdotti nel 2009 come progetto open source, i driver Microsoft per PHP per SQL Server continuano a essere gestiti e migliorati. Per informazioni aggiornate, inclusa la procedura di download del driver PHP, vedere Driver Microsoft per PHP per SQL Server.
Node.js
Driver Microsoft per Node.js per SQL Server
Il driver Microsoft per Node.js per SQL Server consente alle applicazioni Node.js in Microsoft Windows e Microsoft Azure di accedere a Microsoft SQL Server e al database SQL di Microsoft Azure. Le attività di sviluppo non sono più incentrate su questo driver. Non è consigliabile creare nuove applicazioni usando il driver Microsoft per Node.js per SQL Server.
Per altre informazioni sul driver Microsoft per Node.js per SQL Server, vedere WindowsAzure/node-sqlserver.
Tedious
Attualmente Microsoft contribuisce a e supporta il modulo open source tedious in Node.js per la connettività ai SQL Server con JavaScript. Per altre informazioni, vedere Driver Node.js per SQL Server
Microsoft/Windows Data Access Components
Microsoft/Windows Data Access Components (MDAC/WDAC) sono prodotti inclusi e supportati in Windows per la compatibilità con le versioni precedenti delle applicazioni e non fanno parte dell'attuale stack di tecnologie di SQL Server. Non verranno aggiunte altre funzionalità ai componenti di MDAC/WDAC e non è consigliabile usarli per lo sviluppo di nuove applicazioni.
Ai fini di questo documento, è possibile dividere lo stack MDAC/WDAC nei componenti seguenti, in base alla tecnologia e ai prodotti:
- ADO (inclusi ADOMD e ADOX)
- OLE DB (inclusi servizi OLE DB core, SQL Server provider OLE DB, provider OLE DB Oracle, provider OLE DB per i driver ODBC, provider di data shaping e provider di dati remoti)
- ODBC (inclusi Gestione driver ODBC, SQL ODBC Driver e Oracle ODBC Driver)
Componenti MDAC/WDAC
MDAC/WDAC include i seguenti componenti:
- ODBC: Microsoft Open Database Connectivity (ODBC) è un'interfaccia del linguaggio di programmazione C che consente alle applicazioni di accedere ai dati da tipi diversi di sistemi di gestione di database. Le applicazioni che usano questa API sono limitate all'accesso alle origini dati relazionali.
- OLE DB:OLE DB è un set di interfacce COM per l'accesso ai dati in tipi diversi di archivi dati. Sono disponibili provider OLE DB per l'accesso ai dati in database, file system, archivi di messaggi, servizi directory, flussi di lavoro e archivi documenti.
- ADO: ActiveX Data Objects (ADO) offre un modello di programmazione di alto livello. Sebbene le prestazioni siano leggermente inferiori a quelle della codifica diretta in OLE DB o ODBC, ADO è semplice da apprendere e usare. Può quindi essere usato in linguaggi di script come Microsoft Visual Basic, Scripting Edition(VBScript) o Microsoft JScript.
- ADOMD: ADO Multi-Dimensional (ADOMD) è destinato all'uso con i provider di dati multidimensionali, ad esempio il provider Microsoft OLAP, noto anche come provider Microsoft Analysis Services. Non sono stati apportati miglioramenti significativi alle funzionalità rispetto a MDAC 2.0.
- ADOMD: le estensioni ADO per DDL e sicurezza (ADOX) consentono di creare e modificare le definizioni di un database, una tabella, un indice o una stored procedure. È possibile usare ADOX con qualsiasi provider. Il provider Microsoft OLE DB Jet offre il supporto completo per ADOX, mentre il provider OLE DB per Microsoft SQL Server offre un supporto limitato.
- Librerie di rete Microsoft SQL Server: le librerie di rete di SQL Server consentono a SQLOLEDB e SQLODBC di comunicare con il database di SQL Server. Le librerie di rete di SQL Server seguenti sono state deprecate nelle versioni MDAC/WDAC: Banyan Vines, AppleTalk, ServerNet, IPX/SPX, Giganet e RPC. TCP/IP e Named Pipes continueranno a essere supportate e sono disponibili nel sistema operativo Windows a 64 bit.
- MSDASQL: il provider Microsoft OLE DB per ODBC (MSDASQL) consente alle applicazioni basate su OLE DB e ADO (che usa OLEDB internamente) di accedere alle origini dati usando un driver ODBC. MSDASQL è un provider OLEDB che si connette a ODBC, anziché a un database. È concepito come un bridge da OLE DB a un driver ODBC quando non esiste un provider OLE DB diretto per un'origine dati. MSDASQL è incluso nel sistema operativo Windows e Windows Server 2008 e Vista SP1 sono state le prime versioni di Windows a includere una versione a 64 bit della tecnologia.
Componenti MDAC/WDAC deprecati
Questi componenti sono ancora supportati nella versione corrente di MDAC/WDAC, ma potrebbero essere rimossi nelle versioni future. Quando si sviluppano nuove applicazioni, Microsoft consiglia di evitare l'uso di questi componenti. Inoltre, quando si aggiornano o si modificano le applicazioni esistenti, rimuovere tutte le dipendenze relative a questi componenti.
SQLOLEDB: Il Provider Microsoft OLE DB per SQL Server (SQLOLEDB), che supporta l'accesso a Microsoft SQL Server, è stato deprecato. e la relativa connettività alle future versioni di SQL Server può non essere supportata. La possibilità di connettersi a versioni precedenti a SQL Server 7 verrà eliminata dal sistema operativo dopo Windows 7. Le nuove applicazioni devono usare Microsoft OLE DB Driver per SQL Server (MSOLEDBSQL), che supporta nuove funzionalità di SQL Server. È consigliabile eseguire la migrazione delle applicazioni esistenti a Microsoft OLE DB Driver per SQL Server anche per migliorare le prestazioni, l'affidabilità e la facilità di supporto. Per altre informazioni, vedere Aggiornamento di un'applicazione a OLE DB Driver per SQL Server da MDAC.
SQLODBC: il driver ODBC Microsoft SQL Server (SQLODBC), che supporta l'accesso a Microsoft SQL Server, è stato deprecato. e la relativa connettività alle future versioni di SQL Server può non essere supportata. La possibilità di connettersi a versioni precedenti a SQL Server 7 verrà eliminata dal sistema operativo dopo Windows 7. Le nuove applicazioni devono usare Microsoft ODBC Driver for SQL Server per Windows, che supporta nuove funzionalità di SQL Server. È consigliabile eseguire la migrazione delle applicazioni esistenti a Microsoft ODBC Driver for SQL Server anche per migliorare le prestazioni, l'affidabilità e la facilità di supporto. Per le informazioni pertinenti, vedere Aggiornamento di un'applicazione da MDAC a SQL Server Native Client.
Motore di database Microsoft Jet 4.0: a partire dalla versione 2.6 MDAC non contiene più componenti Jet. In altre parole, MDAC 2.6, 2.7 e 2.8 non contengono Microsoft Jet, il provider OLE DB Microsoft Jet, i driver del database desktop ODBC o gli oggetti DAO Jet.
Non esiste una versione a 64 bit del motore di database Jet, del driver OLEDB Jet, dei driver ODBC Jet e non è disponibile alcun oggetto DAO Jet. Per altre informazioni, vedere l'articolo della Knowledge Base 957570. Nelle versioni a 64 bit di Windows Jet a 32 bit viene eseguito nel sottosistema WOW64 di Windows. Per altre informazioni su WOW64, vedere la documentazione di WOW64 in MSDN. Le applicazioni native a 64 bit non possono comunicare con i driver Jet a 32 bit eseguiti in WOW64.
Anziché Microsoft Jet, Microsoft consiglia di usare Microsoft SQL Server Express Edition per sviluppare nuove applicazioni non Microsoft Access che richiedono un archivio dati relazionale. Queste applicazioni Jet nuove o convertite possono continuare a usare Jet per l'uso di Microsoft Office 2003 e dei file più datati (MDB e XLS) per l'archiviazione di dati non primari. Tuttavia, per queste applicazioni è consigliabile pianificare la migrazione da Jet al motore di database di Microsoft Access. È possibile scaricare il motore di database di Microsoft Access, che consente di leggere e scrivere file preesistenti nei formati di Office 2003 (mdb e xls) o di Office 2007 (
*.accdb
,*.xlsm
,*.xlsx
e*.xlsb
).Importante
Leggere il contratto di licenza con l'utente finale di Office System 2007 per le limitazioni specifiche riguardo all'uso.
Nota
Le applicazioni SQL Server possono accedere ai file di Office System 2007 e versioni precedenti anche usando le funzionalità della connettività dei dati eterogenei e di Integrations Services in SQL Server con il driver di Office System 2007. Inoltre, le applicazioni SQL Server a 64 bit possono accedere ai file di Jet e Office System 2007 a 32 bit usando SQL Server Integration Services (SSIS) a 32 bit in Windows a 64 bit.
Microsoft OLE DB per data shaping (MSDADS) con MSDADS è possibile creare relazioni gerarchiche tra chiavi, campi o set di righe in un'applicazione. Non sono stati apportati miglioramenti significativi alle funzionalità dopo MDAC 2.1. Questo provider è stato deprecato. Microsoft consiglia di usare XML anziché MSDADS.
Microsoft Oracle ODBC Driver (Oracle ODBC): il driver ODBC di Microsoft Oracle (Oracle ODBC) e il provider OLE DB di Microsoft per Oracle (Oracle OLE DB) consentono di accedere ai server di database Oracle. Vengono compilati usando Oracle Call Interface (OCI) versione 7 e offrono il supporto completo per Oracle 7. Inoltre, viene usata l'emulazione di Oracle 7 per offrire un supporto limitato per i database Oracle 8. Oracle non supporta più le applicazioni che utilizzano le chiamate OCI versione 7. Queste tecnologie sono deprecate. Se si usano origini dati Oracle, è necessario eseguire la migrazione al driver e al provider resi disponibili da Oracle.
Servizi Desktop remoto (RDS): RDS è un meccanismo proprietario di Microsoft per l'accesso a oggetti Recordset ADO remoti in Internet o Intranet. RDS è deprecato. Non sono stati apportati miglioramenti significativi alle funzionalità di RDS dopo MDAC 2.1. Microsoft ha rilasciato .NET Framework, che offre funzionalità SOAP complete e sostituisce i componenti RDS. Tutti i componenti server RDS verranno rimossi dal sistema operativo dopo Windows 7.
Oggetti di replica Jet (JRO) i JRO sono deprecati. JRO viene usato all'interno di ADO con database Jet (.mdb) per creare e comprimere database Jet (.mdb) ed eseguire La gestione della replica Jet. MDAC 2.7 sarà l'ultima versione. JRO non sarà disponibile nel sistema operativo Windows a 64 bit. JRO non è supportato nel formato di file di Microsoft Access 2007 (accdb).
Supporto ODBC a 16-bit ODBC: se si usano applicazioni a 16 bit, è necessario eseguire la migrazione a un'applicazione a 32 bit. La funzionalità a 16 bit è deprecata ed è in corso la sua rimozione dai sistemi operativi a 64 bit. Per altre informazioni, vedere l'articolo 896458 della Knowledge Base.
Provider OLEDB semplice (MSDAOSP): il provider OLE DB semplice offre un framework per la creazione rapida di provider OLE DB usando dati semplici. MSDAOSP è deprecato.
Libreria di cursori ODBC: la libreria di cursori ODBC (ODBCCR32.dll) offre cursori dati limitati sul lato client. La libreria di cursori ODBC è stata deprecata. L'applicazione può usare le implementazioni del cursore sul lato server come sostituzione.
Comunicazione remota dell'interfaccia OLE DB Out-of-Process Interface Remoting: la comunicazione remota dell'interfaccia OLEDB (msdaps.dll) è un tentativo di consentire l'esecuzione out-of-process ai provider OLE DB. La comunicazione remota out-of-process dell'interfaccia OLE DB è deprecata.
Librerie di rete AppleTalk and Banyan Vines SQL: le librerie di rete SQL Banyan Vines, AppleTalk, ServerNet, IPX/SPX, Giganet e RPC sono deprecate. Se si usa una di queste tecnologie, è necessario modificare le applicazioni in modo che usino una delle altre librerie di rete, ad esempio TCP/IP e Named Pipe.
Versioni di MDAC/WDAC
Di seguito è riportato un elenco degli scenari di supportabilità delle versioni precedenti di MDAC/WDAC, a partire dalla meno recente.
MDAC 1.5, MDAC 2.0 e MDAC 2.1: queste versioni di MDAC erano versioni indipendenti rilasciate attraverso Microsoft Windows NT Option Pack, l'SDK della piattaforma Microsoft Windows o il sito Web MDAC. Queste versioni di MDAC non sono più supportate.
MDAC 2.5: questa versione di MDAC era inclusa nel sistema operativo Windows 2000. I Service Pack di MDAC 2.5 erano inclusi nei Service Pack di Windows 2000 corrispondenti.
MDAC 2.6: MDAC 2.6 RTM, SP1 e SP2 erano inclusi rispettivamente in Microsoft SQL Server 2000 RTM, SP1 e SP2. Inoltre, questi Service Pack di MDAC sono stati rilasciati nel sito Web MDAC seguendo la pianificazione dei rilasci dei Service Pack di Microsoft SQL Server 2000. È possibile installare questa versione di MDAC e i relativi Service Pack sulle piattaforme Windows 2000, Windows Millennium Edition, Windows NT, Windows 95 e Windows 98. Questa versione di MDAC non è più supportata.
MDAC 2.7: questa versione di MDAC era inclusa nei sistemi operativi Microsoft Windows XP RTM e SP1. È possibile installare questa versione di MDAC e i relativi Service Pack sulle piattaforme Windows 2000, Windows Millennium, Windows NT e Windows 98. È possibile installare questa versione sulla piattaforma Windows XP solo usando il sistema operativo o i relativi Service Pack. Questa versione di MDAC non è più supportata.
MDAC 2.8: questa versione di MDAC era inclusa in Windows Server 2003 e Windows XP SP2 e versioni successive. È possibile installare questa versione di MDAC e i relativi Service Pack anche in Windows 2000.
- Anche la versione a 32 bit di MDAC 2.8 è stata rilasciata sul sito Web MDAC nello stesso momento in cui Windows Server 2003 è stato rilasciato ai clienti.
- La versione a 64 bit di MDAC 2.8 è stata rilasciata con la versione a 64 bit di Windows Server 2003 e Windows XP.
Windows Data Access Components (WDAC): il nome MDAC è stato modificato in WDAC (Windows Data Access Components) a partire da Windows Vista e Windows Server 2008. WDAC è incluso come parte del sistema operativo e non è disponibile separatamente per la ridistribuzione. La manutenzione di WDAC è soggetta al ciclo di vita del sistema operativo.
Le versioni a 32 bit e 64 bit di WDAC vengono rilasciate rispettivamente con le versioni a 32 bit e a 64 bit dei sistemi operativi Windows.
Tecnologie di accesso ai dati obsolete
Si definiscono obsolete le tecnologie che non sono state migliorate o aggiornate in diverse versioni del prodotto e che verranno escluse dalle versioni future del prodotto. Non usare queste tecnologie quando si scrivono nuove applicazioni. Quando si modificano le applicazioni esistenti scritte usando queste tecnologie, è consigliabile eseguire la migrazione di tali applicazioni a ADO.NET o a un'altra tecnologia più aggiornata.
Sono considerati obsoleti i componenti seguenti:
- DB-Library: DB-Library è un modello di programmazione specifiche di SQL Server che include le API C. Non sono stati apportati miglioramenti alle funzionalità per DB-Library a partire da SQL Server 6.5. La versione finale era quella inclusa in SQL Server 2000 e non verrà trasferita al sistema operativo Windows a 64 bit.
- Embedded SQL (E-SQL): E-SQL è un modello di programmazione specifico per SQL Server che consente di incorporare le istruzioni Transact-SQL nel codice Visual C. Non sono stati apportati miglioramenti alle funzionalità per E-SQL a partire da SQL Server 6.5. La versione finale era quella inclusa in SQL Server 2000 e non verrà trasferita al sistema operativo Windows a 64 bit.
- Data Access Objects (DAO): DAO fornisce l'accesso ai database JET (Access). Questa API può essere usata da Microsoft Visual Basic, Microsoft Visual C++ e linguaggi di script. Era inclusa in Microsoft Office 2000 e Office XP. DAO 3.6 è la versione finale di questa tecnologia. Non sarà disponibile nel sistema operativo Windows a 64 bit.
- Remote Data Objects (RDO): RDO è stato progettato specificamente per accedere a origini dati relazionali ODBC remote e semplifica l'uso di ODBC senza complessi codici dell'applicazione. Era inclusa in Microsoft Visual Basic versioni 4, 5 e 6. RDO 2.0 è stata la versione finale di questa tecnologia.
- System.Data.OracleClient: System.Data.OracleClient fornisce l'accesso ai server di database Oracle. È stato realizzato utilizzando la versione 7 di Oracle Call Interface (OCI) e originariamente forniva il supporto completo per Oracle 7. Utilizza l'emulazione di Oracle 7 per offrire un supporto limitato per i database Oracle 8i. Oracle non supporta più le applicazioni che utilizzano le chiamate OCI versione 7. Di conseguenza, System.Data.OracleClient non è ufficialmente supportato per l'uso in Oracle 9i o versione successiva. Queste tecnologie sono deprecate. Se si usano origini dati Oracle, è necessario eseguire la migrazione al provider di dati Oracle per .NET (ODP.NET) supportato con la versione di Oracle Server in uso. Lo spazio dei nomi System.Data.OracleClient è stato ufficialmente deprecato in .NET Framework 4.0 e non è più gestito.
Ottenere aiuto
- Idee per SQL: si hanno suggerimenti per migliorare SQL Server?
- Domande e risposte Microsoft (SQL Server)
- DBA Stack Exchange (tag sql-server): domande su SQL Server
- Stack Overflow (tag sql-server): risposte a domande sullo sviluppo di SQL
- Reddit - general discussion about SQL Server (Discussione generale su SQL Server)
- Condizioni di licenza e informazioni per Microsoft SQL Server
- Opzioni di supporto per utenti aziendali
- Guida e commenti di SQL Server
Contribuire alla documentazione di SQL
Il contenuto SQL può essere modificato. L'autore delle modifiche contribuirà a migliorare la documentazione e verrà accreditato come collaboratore alla realizzazione della pagina.
Per maggiori informazioni, vedere Come contribuire alla documentazione di SQL Server