2012-05-07 24 views
115

Ho creato un database con SQL Server Management Studio, vorrei ora utilizzarlo nella mia applicazione C#. Ho bisogno della stringa di connessione?Come ottenere la stringa di connessione da un database

Dove posso trovare la stringa di connessione e dove è memorizzato il mio database?

Devo pubblicarlo o qualcosa del genere, o è nei miei documenti da qualche parte?

using (var conn = new SqlConnection("your connection string to the database")) 

Come posso ottenere la stringa di connessione ? Dove posso trovare la stringa di connessione per copiare la pasta nella sezione sopra?

Come si pubblica il database in modo che Visual Studio possa prelevarlo? Allora posso solo tirare la stringa di connessione di lì?

risposta

129

Il modo più semplice per ottenere la stringa di connessione è utilizzare la finestra "Esplora server" in Visual Studio (menu Visualizza, Server Explorer) e connettersi al server da quella finestra.

Quindi è possibile visualizzare la stringa di connessione nelle proprietà del server connesso (scegliere la connessione e premere F4 o Alt + Invio o scegliere Proprietà nel menu di scelta rapida).

avanzate impostazioni della stringa di connessione: durante la creazione della connessione, è possibile modificare una delle opzioni avanzate della stringa di connessione, come Marte, resilienza, timeot, configurazione di pooling, ecc facendo clic sul pulsante "Avanzate ..." nella parte inferiore della finestra di dialogo "Aggiungi connessione". È possibile accedere a questa finestra di dialogo in seguito facendo clic con il pulsante destro del mouse sulla connessione dati e scegliendo "Modifica connessione ...". Le opzioni avanzate disponibili variano in base al tipo di server.

Se si crea il database utilizzando SQL Server Management Studio, il database verrà creato in un'istanza del server, in modo che, per distribuire l'applicazione, sarà necessario eseguire un backup del database e distribuirlo nell'SQL di distribuzione Server. In alternativa, puoi utilizzare un file di dati utilizzando SQL Server Express (localDB in SQL Server 2012), che sarà facilmente distribuito con la tua app.

I.e. se si tratta di un'app ASP.NET, esiste una cartella App_Data. Se fai clic con il pulsante destro del mouse puoi aggiungere un nuovo elemento, che può essere un database di SQL Server. Questo file si troverà su quella cartella, funzionerà con SQL Express e sarà facile da implementare. È necessario che SQL Express/localDB sia installato sul proprio computer affinché funzioni.

+2

Capisco in questo modo, e mi piace: D ma potresti spiegare di più su come creare un backup e quindi distribuirlo? la mia conoscenza di MS SQL Server è pessima, ho iniziato a usarlo circa un'ora fa: \ – Pomster

+1

È un servizio finestra – Pomster

+0

Esiste un server realsql? userai sql server express? è sufficiente con SQL Server Compact Edition? Non è possibile ottenere ciò che è possibile utilizzare se non si forniscono ulteriori informazioni – JotaBe

1

Il sql server database will be stored per impostazione predefinita nella seguente percorso

<drive>:\Program Files\Microsoft SQL Server\MSSQL.X\MSSQL\Data\ 

, dove <drive> è l'unità di installazione e X è il numero di istanza (MSSQL.1 per la prima istanza di Motore di database). Per fornire la stringa di connessione, è necessario sapere qual è il nome del server del database sql server, dove è stato memorizzato, seguito dall'istanza del server del database.

Generalmente il nome del server sarà come l'indirizzo IP della macchina in cui è attaccato il database e l'istanza predefinita sarà SqlExpress

Un connection string contiene Data Source nome vale a dire, il nome del server, iniziale catalogo ie, nome database, ID utente es., ID utente login del database, password ie, password di accesso del database.

+1

Come posso ottenere la stringa di connessione? – Pomster

+1

Ho dato un'occhiata ai file di programma \ Microsoft SQl Server e non ho idea di cosa sto cercando? – Pomster

+0

non è necessario cercare la cartella di archiviazione del database, vedere il collegamento che ho fornito per la stringa di connessione e scrivere la stringa di connessione. –

13

Su connectionstrings.com è possibile trovare la stringa di connessione per ogni provider DB. Una stringa di connessione viene creata con determinati attributi/proprietà e i relativi valori. Per il server SQL 2008, sembra che questo (standard, che è quello che avrete bisogno qui):.

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword; 

su myServerAddress, scrivere il nome della vostra istanza installata (di default è .\SQLEXPRESS catalogo iniziale = il database nome, lo vedrai in SSMS a sinistra dopo la connessione. il resto parla da sé.

modificare

sarà necessario omettere il nome utente e password per l'autenticazione di Windows.

76

Un modo molto semplice per recuperare una stringa di connessione, è quello di creare un file di testo, modificare l'estensione da .txt -.udl.

doppio clic sul file udl aprirà le proprietà Data Link procedura guidata.

Configura e verifica la connessione al server del database.

Chiudere la procedura guidata e aprire il file .udl con l'editor di testo desiderato e copiare semplicemente la stringa di connessione (senza la parte Provider=<driver>) per utilizzarla nell'applicazione C#.

contenuto del file di esempio udl

[oledb] 
; Everything after this line is an OLE DB initstring 
Provider=SQLNCLI11.1;Integrated Security=SSPI;Persist Security Info=False;User ID="";Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME;Initial File Name="";Server SPN="" 

ciò che è necessario copiare da esso

Integrated Security=SSPI;Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME; 

Se si desidera specificare il nome utente e la password si può adottare da altre risposte.

Tutorial: https://teusje.wordpress.com/2012/02/21/how-to-test-an-sql-server-connection/

+3

Ottimo approccio! – xacinay

+0

Se questo non funziona, ci sono alcuni file reg che eseguiranno le modifiche al registro per abilitare/disabilitare l'estensione UDL. Di solito cerco nella cartella di Windows * .reg. – AMissico

3

messo sotto tag nel file web.config nel nodo di configurazione

<connectionStrings> 
<add name="NameOFConnectionString" connectionString="Data Source=Server;Initial Catalog=DatabaseName;User ID=User;Password=Pwd" 
    providerName="System.Data.SqlClient" /> 

quindi è possibile utilizzare sopra connectionstring, per esempio

SqlConnection con = new SqlConnection(); 
      con.ConnectionString = ConfigurationManager.ConnectionStrings["NameOFConnectionString"].ToString(); 
0

Se nel progetto è stato creato Connection Manager, è sufficiente tirare la stringa di connessione da lì.

String connection = this.dts.connections["<connection_manager_name>"]; 

E utilizzare questa connessione in:

using (var conn = new SqlConnection(connection)) 

favore correggetemi se sbaglio.

-2
SqlConnection con = new SqlConnection(); 
con.ConnectionString="Data Source=DOTNET-PC\\SQLEXPRESS;Initial Catalog=apptivator;Integrated Security=True"; 
+0

Come risponde la domanda OP? – Filburt

7

La mia soluzione era di usare (2010).

In un nuovo foglio, selezionare una cella, quindi:

Data -> From Other Sources -> From SQL Server 

put in nome del server, Seleziona tabella, ecc,

Quando si arriva al "Importa Dialogo "Dati",
fare clic su Proprietà nella finestra di dialogo "Proprietà connessione",
selezionare la scheda "Definizione".

E ci Excel ben visualizza la stringa di connessione per la copia di
(o anche Esporta file di connessione ...)

+0

Funziona perfettamente e non richiede la configurazione della connessione in VS. – Robino

Problemi correlati