Come selezionare i dati dalla tabella da un DSN in T-SQL?
-
04-07-2019 - |
Domanda
Come posso ottenere dati da un database a cui posso accedere solo attraverso un'origine dati ODBC (DSN) in T-SQL MS SQL Server, qualsiasi versione?
Soluzione
Dopo aver letto quanto segue, ho deciso di creare pacchetti SSIS per ottenere dati da un'altra origine dati tramite DSN.
Con i server collegati, hai poco maggiore flessibilità, ma anche alcuni ulteriori problemi di sicurezza. Siete collegamento all'altra origine dati come a utente specifico, con quell'utente autorità sul server collegato. Se tutto ciò che serve è l'accesso in sola lettura a poche visualizzazioni, l'utente dovrebbe essere solo accordato tale autorità a quelli oggetti. Questo non è poi così male controllo totale dell'autorità concedi a quell'utente, ma devi farlo gestirlo e realizzare tale concessione troppa autorità potrebbe essere una sicurezza preoccupazione.
Valuta l'utilizzo di un server collegato con diritti di sola lettura per la copia dei dati tabelle specifiche / vista in permanente tabelle nell'altro database al posto di di un pacchetto SSIS. È possibile eseguire un lavoro periodicamente per copiare il file dati appropriati dal link server al database locale e fare riferimento alle tabelle locali all'interno di applicazione. Sarà probabilmente più facile da implementare e mantenere rispetto a un SSIS pacchetto, e potrebbe essere potenzialmente aggiornato in seguito per renderlo live soluzione.
Altri suggerimenti
La selezione è la parte facile, ma la vera domanda è come connettersi all'origine dati.
Innanzitutto, da dove stai selezionando i dati? Stai scrivendo codice o stai semplicemente utilizzando lo strumento di analisi delle query (2000) o Management Studio (2005)?
Dovrai impostare la tua connessione al database a prescindere. Se hai bisogno di aiuto con le stringhe di connessione a un DSN, il sito www.connectionstrings.com è molto utile. Altrimenti, da uno strumento di query ci saranno finestre di dialogo o procedure guidate per aiutarti.
Devi aggiungere un server collegato all'origine, quindi puoi interrogarlo come al solito.