Esporta (0) Stampa
Espandi tutto

Procedura: Connettersi al database SQL di Azure tramite ADO.NET

Aggiornamento: dicembre 2013

L'utilizzo di ADO.NET per connettersi a un database in Microsoft database SQL di Microsoft Azure è simile alla connessione a un'istanza di SQL Server on-premise. In questo argomento vengono descritte alcune considerazioni per la connessione a database SQL di Microsoft Azure e viene fornita un'applicazione console di esempio che è possibile utilizzare a livello preliminare. Per ulteriori informazioni generali sulla connessione a un'origine dati con ADO.NET, vedere Connessione a un'origine dati (ADO.NET).

In fase di connessione a un database nel database SQL di Azure con un'applicazione ADO.NET, tenere presente i punti seguenti:

Nelle versioni di SqlClient precedenti a .NET 4.5 viene utilizzato il messaggio di errore seguente:

Step Name : Read Query on Instance Management DB \n System.Data.SqlClient.SqlException (0x80131904): The instance of SQL Server you attempted to connect to does not support encryption.
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() 
at System.Data.SqlClient.TdsParser.ConsumePreLoginHandshake(Boolean encrypt, Boolean trustServerCert, Boolean& marsCapable)
at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity)
at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, SqlConnection owningObject)
at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout)

L'errore seguente indica un problema durante il processo di accesso, non si tratta di un errore di crittografia. A partire da .NET 4.5, in ADO.NET viene visualizzato un messaggio di errore migliore:

A connection was successfully established with the server, but then an error occurred during the pre-login handshake.

Nell'esempio seguente viene illustrata un'applicazione console che si connette a database SQL di Microsoft Azure. Tramite l'applicazione console vengono effettuati i passaggi seguenti:

  1. L'applicazione console utilizza un oggetto SqlConnectionStringBuilder per connettersi al database master in database SQL di Microsoft Azure. L'applicazione quindi crea un database il cui nome proviene dalla stringa sampleDatabaseName.

  2. L'applicazione utilizza quindi un secondo oggetto SqlConnectionStringBuilder per connettersi al nuovo database.

  3. Una volta connessa, l'applicazione console utilizzerà il secondo oggetto SqlConnectionStringBuilder per creare una tabella di database ed eseguire un numero di istruzioni DML (Data Manipulation Language).

  4. L'applicazione console restituirà infine i dati alla console prima e dopo le modifiche dei dati.

Per utilizzare questo esempio in Visual Studio con il server database SQL di Azure, eseguire i passaggi seguenti:

  1. Aprire Visual Studio e creare una applicazione console.

  2. Sostituire il codice del file di programma con il codice di questo esempio.

  3. Sostituire <ProvideUserName> con il nome di un account di accesso di database SQL di Microsoft Azure a cui è assegnato il ruolo dbmanager. Nota: se si utilizza il formato di nome utente login@server, la parte server del nome deve corrispondere alla prima parte del nome completo del server. Se ad esempio il server è servername.database.windows.net, il nome di accesso sarà loginname@servername. Per ulteriori informazioni sui ruoli di database SQL di Microsoft Azure, vedere Gestione di database e account di accesso in database SQL di Azure.

  4. Sostituire <ProvidePassword> con la password associata all'account di accesso. Nota: è consigliabile utilizzare una password complessa in fase di creazione di un account di accesso. Per ulteriori informazioni, vedere Password complesse.

  5. Sostituire <ProvideServerName> con il nome di dominio completo del server database SQL di Azure, Esempio: servername.database.windows.net

  6. Sostituire <ProvideDatabaseName> con il nome del database che verrà creato dal codice.

  7. Eseguire il codice.

noteNota
In questo codice non sono presenti istruzioni Transact-SQL per rimuovere il nuovo database. Eliminare il database prima di eseguire di nuovo questa applicazione.

Vedere anche

Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft