Condividi tramite


Testare la connettività OLE DB a SQL Server usando un file UDL

Si applica a: SQL Server

Nota

Prima di iniziare la risoluzione dei problemi, è consigliabile controllare i prerequisiti e verificare l'elenco di controllo.

Questo articolo descrive come creare un file UDL (Universal Data Link) e usare provider diversi per testare la connessione a un'istanza di SQL Server tramite il file.

Creare un file UDL

Nota

Un file UDL consente di testare la connettività dei provider OLE DB (Object Linking and Embedding Database) a qualsiasi database back-end indipendente da un'applicazione completa. Il salvataggio di un file UDL genera un stringa di connessione ben formato, che è possibile usare per compilare il stringa di connessione di un'applicazione o controllare come impostare proprietà diverse. Per ottenere la stringa, aprire il file nel Blocco note.

Per creare un file UDL per testare il provider OLE DB, seguire questa procedura:

  1. Per visualizzare le estensioni di file in Esplora file, seguire questa procedura:

    1. Selezionare Start e immettere Esplora file Opzioni.

    2. Selezionare la scheda Visualizza , deselezionare l'opzione Nascondi estensioni per i tipi di file noti e quindi selezionare OK.

  2. Passare alla cartella in cui si vuole creare un file UDL. Ad esempio, c:\temp.

  3. Creare un nuovo file di testo , ad esempio sqlconn.txt, e quindi rinominare l'estensione da .txt a .udl. Selezionare nel messaggio di avviso relativo alla modifica dell'estensione del nome file.

    È anche possibile usare lo script di PowerShell seguente per creare sqlconn.udl nella cartella %temp%.

    clear
    $ServerName = "(local)"
    $UDL_String = "[oledb]`r`n; Everything after this line is an OLE DB initstring`r`nProvider=MSOLEDBSQL.1;Integrated Security=SSPI;Persist Security Info=False;User ID=`"`";Initial Catalog=`"`";Data Source=" + $ServerName + ";Initial File Name=`"`";Server SPN=`"`";Authentication=`"`";Access Token=`"`""
    Set-Content -Path ($env:temp + "\sqlconn.udl") -Value $UDL_String -Encoding Unicode
    
    #open the UDL
    Invoke-Expression ($env:temp + "\sqlconn.udl")
    

Testare la connessione usando il provider OLE DB SQL Server

Il provider Microsoft OLE DB per SQL Server (SQLOLEDB) è il provider più comune. È integrato in Windows e può connettersi a qualsiasi versione di SQL Server non configurata per richiedere associazioni di canale TLS 1.2.

Microsoft OLE DB Driver per SQL Server (MSOLEDBSQL) è l'ultima SQL Server provider OLE DB. Il provider include tutte le nuove funzionalità, ad esempio TLS 1.2, MultiSubnetFailover e le opzioni di autenticazione di Azure. È consigliabile usare questo provider per i database SQL Server più recenti.

Per testare la connessione usando il provider OLE DB SQL Server, seguire questa procedura:

  1. Aprire il file UDL .

  2. Selezionare la scheda Provider, selezionare il SQL Server provider OLE DB usato nell'applicazione e quindi selezionare Avanti.

  3. Nella scheda Connessione specificare il protocollo di rete, il nome di dominio completo (FQDN) e il numero di porta in Selezionare o immettere un nome di server. Ad esempio, tcp:SQLProd01.contoso.com,1433.

    Nota

    Questo modo di immettere il nome del server evita alcuni problemi comuni, ad esempio i problemi di servizio SQL Server Browser, che potrebbero interferire con una connessione.

  4. Immettere altre proprietà nella scheda Connessione .

    Nota

    La maggior parte dei test di connessione non richiede l'immissione di un nome di database.

  5. Selezionare Test connessione.

È anche possibile selezionare altre schede ed esplorare altre impostazioni del driver. Al termine del test di connessione, selezionare OK per salvare il stringa di connessione in un file.

Testare la connessione usando il provider Microsoft OLE DB per i driver ODBC

Per testare i driver ODBC (Open Database Connectivity) usando il provider Microsoft OLE DB per driver ODBC, seguire questa procedura:

  1. Aprire il file UDL .

  2. Selezionare ProviderMicrosoft OLE DB Provider for ODBC Drivers Next(Provider > Microsoft OLE DB per driver > ODBCNext).

  3. Nella scheda Connessione è possibile utilizzare uno dei metodi seguenti per specificare l'origine dei dati e quindi immettere altre proprietà.

    • Immettere un valore nel campo Usa nome origine dati .

    • Immettere un stringa di connessione senza DSN, ad Driver={ODBC Driver 17 for SQL Server};Server=SQLProd01;Database=Northwind;Trusted_Connection=Yesesempio .

  4. Selezionare Test connessione.

Testare i provider a 32 bit in computer a 64 bit

Per testare la connessione dei provider a 32 bit nei sistemi operativi a 64 bit, seguire questa procedura:

  1. Nella finestra del prompt dei comandi eseguire il comando seguente per aprire il prompt dei comandi a 32 bit:

    %windir%\SysWoW64\cmd.exe
    
  2. Eseguire il comando seguente per aprire il file UDL:

    c:\temp\test.udl
    
  3. Se viene visualizzato il provider OLE DB di Microsoft Jet 4.0 nella scheda Provider , significa che è stata caricata correttamente la finestra di dialogo a 32 bit e ora è possibile selezionare il provider a 32 bit per testare la connessione.

Suggerimenti per risolvere i problemi di connessione

È possibile usare i metodi seguenti per verificare il motivo per cui la connessione non riesce.

  • Modificare il provider.
  • Modificare il protocollo. Ad esempio, tcp:, np: o lpc:.
  • Testare la connessione con o senza il suffisso di dominio completo o con solo l'indirizzo IP.
  • Rimuovere il numero di porta e usare il nome dell'istanza per testare il servizio SQL Server Browser.

Per ognuno dei metodi precedenti, se una combinazione funziona e un'altra ha esito negativo, potrebbe fornire un indizio sul problema. Ad esempio, quando si usa il secondo metodo, se funziona lpc: e tcp: non, provare a abilitare il protocollo TCP in Gestione configurazione SQL Server.

Vedere anche

Configurazione UDL (Universal Data Link)

Nota

Se questo articolo non ha risolto il problema, è possibile consultare Risolvere i problemi di connettività in SQL Server per altre informazioni.