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?
risposta
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 :)
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.
- 1. Collegamenti universali iOS NSURLAuthenticationMethodServerTrust kAuthenticationErr
- 2. Dove sono i dati Meteor in Mongo?
- 3. Dove sono memorizzati i dati di stringa?
- 4. I servizi Web sono veramente senza stato?
- 5. Collegamenti universali iOS con caratteri jolly non funzionanti
- 6. Dove sono tutti i database revisionati nativi?
- 7. Cosa fa veramente RegAsm? Dove vengono copiati i file?
- 8. Sintassi per i riferimenti universali
- 9. ripristino con mysqldump, ma dove sono i dati?
- 10. Dove si trova la ricerca elastica sono i suoi dati
- 11. WCF + REST: dove sono i dati della richiesta?
- 12. Dove sono i registri Gradle?
- 13. Dove sono i simboli gcov?
- 14. I file 0 byte sono veramente 0 byte?
- 15. I componenti sono veramente più veloci rispetto ai modelli?
- 16. I codici di uscita di javaws sono veramente guasti?
- 17. I driver JavaiteJDBC Java puri sono veramente puri?
- 18. I moduli in nancyfx sono veramente creati su ogni richiesta?
- 19. Dove mysql memorizza i dati?
- 20. Dove sono i javadoc per Lotus 'Notes.jar?
- 21. Come eliminare veramente i vettori
- 22. Dove sono i ganci Riak Post-Commit?
- 23. Fai Scrapy seguire i collegamenti e raccogliere i dati
- 24. Pacchetti Nuget che sono veramente comandi exe?
- 25. Qualcuno veramente ordina terabyte di dati?
- 26. Cursori con postgres, dove sono memorizzati i dati e quante chiamate al DB
- 27. Sono veramente necessari scala.util.automata, scala.util.regexp e scala.util.grammar?
- 28. Cython typed memoryviews: cosa sono veramente?
- 29. Collegamenti vs origini dati
- 30. Che cosa sono i 'dati' in window.history.replaceState
Molto interessante. È come se fossi andato in giro. Non riesco a trovare nulla dicendo che fosse deprecato o obsoleto. – Amy