Testare la connettività OLE DB a SQL Server usando un file UDL
Si applica a: SQL Server
Note
Prima di iniziare la risoluzione dei problemi, controllare i prerequisiti ed esaminare 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
Note
Un file UDL consente di testare la connettività dei provider ole DB (Object Linking and Embedding Database) a qualsiasi database back-end indipendentemente da un'applicazione completa. Il salvataggio di un file UDL genera un stringa di connessione ben formato, che è possibile usare per creare 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:
Per visualizzare le estensioni di file in Esplora file, seguire questa procedura:
Selezionare Start e immettere Esplora file Opzioni.
Selezionare la scheda Visualizza , deselezionare l'opzione Nascondi estensioni per i tipi di file noti e quindi selezionare OK.
Passare alla cartella in cui si vuole creare un file UDL. Ad esempio, c:\temp.
Creare un nuovo file di testo (ad esempio sqlconn.txt) e quindi rinominare l'estensione da .txt a udl. (Selezionare Sì al 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 di 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) è il provider OLE DB di SQL Server più recente. Il provider include tutte le nuove funzionalità, ad esempio TLS 1.2, MultiSubnetFailover e opzioni di autenticazione di Azure. È consigliabile usare questo provider per i database di SQL Server più recenti.
Per testare la connessione usando il provider OLE DB di SQL Server, seguire questa procedura:
Aprire il file con estensione udl .
Selezionare la scheda Provider , selezionare il provider OLE DB di SQL Server usato nell'applicazione e quindi selezionare Avanti.
Nella scheda Connessione specificare il protocollo di rete, il nome di dominio completo (FQDN) e il numero di porta in Seleziona o immettere un nome server. Ad esempio:
tcp:SQLProd01.contoso.com,1433
.Note
In questo modo l'immissione del nome del server evita alcuni problemi comuni, ad esempio i problemi del servizio SQL Server Browser, che potrebbero interferire con una connessione.
Immettere altre proprietà nella scheda Connessione .
Note
La maggior parte dei test di connessione non richiede l'immissione di un nome di database.
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 i driver ODBC, seguire questa procedura:
Aprire il file con estensione udl .
Selezionare Provider>Microsoft OLE DB provider per i driver>ODBC Avanti.
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 esempio
Driver={ODBC Driver 17 for SQL Server};Server=SQLProd01;Database=Northwind;Trusted_Connection=Yes
.
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:
Nella finestra del prompt dei comandi eseguire il comando seguente per aprire il prompt dei comandi a 32 bit:
%windir%\SysWoW64\cmd.exe
Eseguire il comando seguente per aprire il file UDL:
c:\temp\test.udl
Se viene visualizzato il provider OLE DB 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:
olpc:
. - 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 dare un indizio del problema. Ad esempio, quando si usa il secondo metodo, se lpc:
funziona e non tcp:
, provare ad abilitare il protocollo TCP in Gestione configurazione SQL Server.
Vedi anche
Configurazione UDL (Universal Data Link)
Note
Se questo articolo non ha risolto il problema, per altre informazioni, vedere Risolvere i problemi di connettività in SQL Server .