Condividi tramite


Salvare e modificare stringa di connessione di database per le applicazioni .NET Framework

Nota

I set di dati e le classi correlate sono tecnologie .NET Framework legacy dei primi anni '2000 che consentono alle applicazioni di lavorare con i dati in memoria mentre le applicazioni vengono disconnesse dal database. Le tecnologie sono particolarmente utili per le applicazioni che consentono agli utenti di modificare i dati e rendere persistenti le modifiche apportate al database. Anche se i set di dati hanno dimostrato di essere una tecnologia molto efficace, è consigliabile che le nuove applicazioni .NET usino Entity Framework Core. Entity Framework offre un modo più naturale per usare i dati tabulari come modelli a oggetti e ha un'interfaccia di programmazione più semplice.

Nota

Questo articolo fornisce indicazioni per la gestione delle stringa di connessione nelle applicazioni Windows. Per le applicazioni cloud e Web sono disponibili tecniche più sicure. È possibile usare Servizi connessi per aggiungere il supporto per Secrets.json per lo sviluppo locale e quindi eseguire la migrazione ad Azure Key Vault per l'archiviazione dei segreti quando si esegue la distribuzione in Azure. Vedere Proteggere i segreti durante lo sviluppo.

Per gestire correttamente il stringa di connessione in un'applicazione visual Studio, è necessario evitare di presentare rischi per la sicurezza. Le stringhe di connessione nelle applicazioni di Visual Studio vengono spesso salvate nel file di configurazione dell'applicazione (dette anche impostazioni dell'applicazione) o hardcoded direttamente nell'applicazione. Il hardcoded direttamente nell'applicazione non è consigliato, perché le informazioni riservate nel stringa di connessione, ad esempio le credenziali del database, possono essere lette direttamente dai file binari non crittografati. Il salvataggio delle stringhe di connessione nel file di configurazione dell'applicazione semplifica la gestione dell'applicazione. Se la stringa di connessione richiede modifiche, infatti, è possibile aggiornarla all'interno di tale file invece di modificarla nel codice sorgente e poi ricompilare l'applicazione.

L'archiviazione di informazioni riservate, ad esempio una password, nella stringa di connessione può avere implicazioni sulla sicurezza dell'applicazione. Le stringhe di connessione salvate nel file di configurazione dell'applicazione non sono crittografate o offuscate, pertanto potrebbe essere possibile che un utente acceda al file e ne visualizzi il contenuto.

Per i database che lo supportano, l'uso della sicurezza integrata di Windows è un modo più sicuro per controllare l'accesso a un database.

Se non si sceglie di utilizzare la sicurezza integrata di Windows e il database in uso richiede l'immissione di un nome utente e di una password, è possibile ometterli nella stringa di connessione, ma sarà comunque necessario specificarli per eseguire la connessione al database. È ad esempio possibile creare una finestra di dialogo in cui vengono richieste tali informazioni e compilare la stringa di connessione dinamicamente in fase di esecuzione. Anche in questo caso possono presentarsi problemi di sicurezza se le informazioni vengono intercettate nel percorso verso il database.

Per altre informazioni, vedere Protezione delle informazioni di connessione.

Per salvare un stringa di connessione dall'interno della Configurazione guidata origine dati

Nella Configurazione guidata origine dati selezionare l'opzione per salvare la connessione nella pagina Salva la stringa di connessione nel file di configurazione dell'applicazione.

Per salvare una stringa di connessione direttamente nelle impostazioni dell'applicazione

  1. In Esplora soluzioni fare doppio clic sull'icona Progetto (Visual Basic) o Proprietà (C#) per aprire Progettazione progetti.
  2. Seleziona la scheda Impostazioni.
  3. Nella casella Nome immettere un nome per la stringa di connessione. Fare riferimento a questo nome per l'accesso alla stringa di connessione nel codice.
  4. Impostare Tipo su (Stringa di connessione).
  5. Lasciare l'opzione Ambito impostata su Applicazione.
  6. Digitare il stringa di connessione nel campo Valore oppure fare clic sul pulsante con i puntini di sospensione (...) nel campo Valore per aprire la finestra di dialogo Proprietà connessione per compilare il stringa di connessione.

Modificare le stringa di connessione archiviate nelle impostazioni dell'applicazione

Per modificare le informazioni sulla connessione salvate nelle impostazioni dell'applicazione, usare Progettazione progetti.

Per modificare una stringa di connessione archiviata nelle impostazioni dell'applicazione

  1. In Esplora soluzioni fare doppio clic sull'icona Progetto (Visual Basic) o Proprietà (C#) per aprire Progettazione progetti.
  2. Seleziona la scheda Impostazioni.
  3. Individuare la connessione da modificare e selezionare il testo nel campo Valore .
  4. Modificare il stringa di connessione nel campo Valore oppure fare clic sul pulsante con i puntini di sospensione (...) nel campo Valore per modificare la connessione con la finestra di dialogo Proprietà connessione.

Modificare stringa di connessione per i set di dati

È possibile modificare le informazioni di connessione per ogni TableAdapter in un set di dati.

Per modificare un stringa di connessione per un oggetto TableAdapter in un set di dati

  1. In Esplora soluzioni fare doppio clic sul set di dati (.xsd file) con la connessione che si vuole modificare.
  2. Selezionare l'oggetto TableAdapter o la query con la connessione da modificare.
  3. Nella finestra Proprietà espandere il nodo Connessione.
  4. Per modificare rapidamente il stringa di connessione, modificare la proprietà ConnectionString oppure fare clic sulla freccia giù nella proprietà Connection e scegliere Nuova connessione.

Sicurezza

L'archiviazione delle informazioni riservate, ad esempio la password, nella stringa di connessione può avere implicazioni sulla sicurezza dell'applicazione. La sicurezza integrata di Windows consente di controllare l'accesso a un database in modo più sicuro. Per altre informazioni, vedere Protezione delle informazioni di connessione.