Come utilizzare il parametro nome del server in una stringa di connessione per specificare la libreria di rete client

Traduzione articoli Traduzione articoli
Identificativo articolo: 313295 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo viene descritto come specificare a livello di programmazione la libreria di rete client nella stringa di connessione quando ci si connette a un database SQL Server.

In Microsoft Data Access Components (MDAC) 2.6 e versioni successive, Ŕ possibile specificare la libreria di accesso client utilizzando il parametro del server name nella stringa di connessione. Di conseguenza, Ŕ possibile specificare una libreria di accesso client specifico quando viene richiesto da un'applicazione per un nome di server a cui connettersi. Questo comportamento pu˛ essere molto utile quando si verifica e risoluzione dei problemi problemi di connettivitÓ per SQL Server.

Ad esempio, Ŕ possibile utilizzare l'utilitÓ della riga di comando Osql per connettersi a SQL Server e per forzare l'utilizzo della libreria di rete TCP/IP:
osql -Stcp:myServer,portNumber -E
				

Esempio di codice

Nell'esempio di codice di Microsoft Visual C# .NET riportato di seguito viene illustrato come impostare la stringa di connessione. La stringa di connessione con lo stesso formato indipendentemente dalla lingua che Ŕ utilizzare:
using System;
using System.Data;
using System.Data.SqlClient;

namespace getCurrentProtocol
{
	/// <summary>
	/// Main Application Driver Class
	/// </summary>
	class Driver
	{
		static void Main(string[] args)
		{
			string sCxn = "server=myServer;Integrated Security=SSPI; database=master";
			//string sCxn = "server=np:myServer;Integrated Security=SSPI; database=master";
			//string sCxn = "server=tcp:myServer;Integrated Security=SSPI; database=master";
			//string sCxn = "server=rpc:myServer;Integrated Security=SSPI; database=master";
			//string sCxn = "server=lpc:myServer;Integrated Security=SSPI; database=master";
			string sCmd = "SELECT net_library from sysprocesses where spid=@@spid";
			SqlConnection cxn = new SqlConnection(sCxn);
			SqlCommand sqlCmd = new SqlCommand(sCmd, cxn);
			SqlDataAdapter sqlDa = new SqlDataAdapter(sCmd, cxn);
			DataTable dt = new DataTable();
			try 
			{
				sqlDa.Fill(dt);
				Console.WriteLine("Hit ENTER to continue ...");
				Console.ReadLine();
				foreach (DataRow dr in dt.Rows)
					Console.WriteLine(dr["net_library"]);
			} 
			catch (SqlException e)
			{
				Console.WriteLine(e.StackTrace);
				Console.WriteLine("SQL Error Number: " + e.Number);
				Console.WriteLine("SQL Error Message: " + e.Message);
				
			}
		}
	}
} 
				
nota la stringa di connessione e in particolare il valore del parametro del server :
string sCxn = "server=myServer;Integrated Security=SSPI; database=northwind"
				

Utilizzare l'esempio di codice con varie librerie di rete

Esempi di codice riportato di seguito viene illustrato come utilizzare il valore di parametro del server per specificare varie librerie di rete:
  • TCP/IP :
    server=tcp:hostname
    ╚ possibile specificare un numero di porta. Per impostazione predefinita, la porta Ŕ 1433.
    server=tcp:hostname, portNumber
  • named pipe :
    server=np:hostname
    ╚ possibile specificare una determinata named pipe.
    server=np:\\hostname\pipe\pipeName
    Per impostazione predefinita, il nome di pipe Ŕ sql\query. Se ci si connette a un'istanza denominata, il nome di pipe Ŕ in genere nel seguente formato:
    MSSQL $ instnaceName\sql\query
  • multiprotocollo :
    server=rpc:hostname
    ╚ possibile specificare il protocollo sottostante.
    server=rpc:hostname, protocol
    Il valore predefinito del protocollo sottostante Ŕ determinato dalle impostazioni del sistema operativo in cui un protocollo Ŕ uno dei seguenti valori:
    Riduci questa tabellaEspandi questa tabella
    ValoreProtocollo sottostante
    ncacn_npNamed pipe
    ncacn_ip_tcpTrasmissione Control Protocol/Internet Protocol (TCP/IP)
    ncacn_nb_nbNetwork basic input/output system (NetBIOS) su NetBIOS Enhanced User Interface (NetBEUI)
    ncacn_spxSequenced Packet Exchange (SPX)
    ncacn_vns_sppVINES Banyan
    ncadg_ip_udpDatagramma UDP (utente Datagram Protocol) TCP/IP
    ncadg_ipxInternetwork Packet Exchange (IPX) datagramma IPX
    ncalrpcLocal procedure call

  • condivisa memoria :
    server=lpc:hostname
  • NWlink IPX/SPX :
    server=spx:hostname
  • Banyan VINES :
    server=vines:hostname
  • Apple Talk :
    server=adsp:hostname

Riferimenti

Per ulteriori informazioni, visitare il sito di Web di Microsoft:

http://msdn.microsoft.com/en-us/library/aa470051.aspx

ProprietÓ

Identificativo articolo: 313295 - Ultima modifica: mercoledý 30 novembre 2005 - Revisione: 6.5
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.6 Service Pack 1
  • Microsoft Data Access Components 2.6 Service Pack 2
  • Microsoft Data Access Components 2.7
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Chiavi:á
kbmt kbhowtomaster KB313295 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 313295
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com