2011-01-28 17 views
7

Nei vecchi tempi oledb usavo i file UDL e il relativo wizard per controllare e creare stringhe di connessione. Oggigiorno le stringhe di connessione che puoi creare in questo modo non sono più così universali. Ad esempio, ADO.NET Entity Framework crea stringhe di connessione decorate che la procedura guidata UDL non è in grado di gestire. C'è qualche strumento per creare i collegamenti dati universali di oggi?Dove sono i collegamenti dati veramente universali?

+2

Molto interessante. È come se fossi andato in giro. Non riesco a trovare nulla dicendo che fosse deprecato o obsoleto. – Amy

risposta

3

penso che ci sia una differenza tra:

  • Il strumento che contribuisce a creare stringhe di connessione (quello che si apre quando si fa doppio clic sul file .UDL). Questo strumento è basato su COM e risiede in Ole32.dll e funziona ancora.
  • il concetto di un stringhe di connessione che non è mai cambiato. (è molto semplice: un elenco di coppie chiave/valore!)

Le stringhe di connessione di oggi (ovvero: .NET?) non sono meno universali delle stringhe di connessione OleDb. Sono sempre specifici per un determinato fornitore. Le coppie chiave/valore potrebbero non essere le stesse, ma il concetto è sempre lì.

Lo strumento UDL funziona utilizzando gli oggetti COM e può ancora essere utilizzato. Ad esempio, si potrebbe scrivere un'estensione allo strumento UDL per le stringhe di connessione di Entity Framework. Ecco un link sul riferimento ufficiale: i file Provider Extensible Data Link User Interface API

.UDL sono ancora utilizzabili in .NET (con P/Invoke) utilizzando IDBPromptInitialize e le interfacce di IDataInitialize OleDb, anche se sono d'accordo, non sembra così naturale in questi giorni :)

3

A universale “data link” non può supportare tutte funzioni di tutti database vendor/versioni, più software è scritto in casa da parte delle società di parlare con loro in database di casa, in modo da non hanno bisogno di essere indipendente dal database.

E 'più difficile da codice contro un API che non è una buona partita per le funzioni del database prescelto fornisce la documentazione non sembra corrispondere al database che si sta tentando di utilizzare.

Microsoft ora si aspetta che il fornitore del database fornisca il supporto per l'accesso ai dati Ado.net per il database, quindi l'accesso ai dati tende ad essere diverso per ogni database - ma la maggior parte delle persone non si preoccupa in quanto il codice deve funzionare solo con un unico distributore di database.

Ci sono opzioni di terze parti come, devArt's dotConnect e DataDirect che fornisce un "collegamento dati" universale per .net ma ad un prezzo.

nHibernate si troveranno in cima alla maggior parte dei fornitori. Livello di accesso al database net e nascondono la maggior parte delle differenze se si è felici di utilizzare un ORM.

Problemi correlati