Come ottenere la stringa di connessione da un database


197

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

Dove posso trovare la stringa di connessione e dove è archiviato 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 ottengo la stringa di connessione ? Dove posso trovare la stringa di connessione per copiare incolla nella sezione precedente?

Come posso pubblicare il mio database in modo che Visual Studio possa recuperarlo? Quindi posso semplicemente tirare la stringa di connessione di lì?


Dai un'occhiata a come generare la stringa di connessione youtu.be/1WgO7CDSmu8
anomepani

Risposte:


201

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

Quindi puoi vedere la stringa di connessione nelle proprietà del server connesso (scegli la connessione e premi F4 o Alt + Invio o scegli Proprietà nel menu di scelta rapida).

Impostazioni avanzate della stringa di connessione: durante la creazione della connessione, è possibile modificare una qualsiasi delle opzioni della stringa di connessione avanzata, come MARS, resilienza, timeot, configurazione del pool, ecc. Facendo clic sul pulsante "Avanzate ..." nella parte inferiore del " Aggiungi connessione ". È possibile accedere a questa finestra di dialogo in un secondo momento facendo clic con il pulsante destro del mouse su Connessione dati e selezionando "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, è necessario eseguire un backup del database e distribuirlo nel SQL Server di distribuzione. 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.

Vale a dire se è un'app ASP.NET, c'è una App_Datafolder. Facendo clic con il pulsante destro del mouse, è possibile aggiungere un nuovo elemento, che può essere un database SQL Server. Questo file si troverà in quella cartella, funzionerà con SQL Express e sarà facile da distribuire. È necessario che SQL Express / localDB sia installato sul computer per farlo funzionare.


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

Esiste un server realsql? userete sql server express? è abbastanza con SQL Server Compact Edition? Non possiamo ottenere ciò che puoi usare se non fornisci informazioni aggiuntive
JotaBe

1
Ho usato MS SQl Server Management Studio 2008, MS SQL Management studio per creare un database. Ho usato una query per creare alcune colonne. Ora vorrei popolarlo con la mia app C #
Pomster

Questa app verrà distribuita? Lo userai localmente? Ti dispiace il tipo di server necessario ?. Non ho bisogno di sapere come hai fatto il tuo database ma dove e perché. Non riesco a indovinare di cosa hai bisogno !!!
Jota Be

Lo userò localmente, non è quello che mi stai chiedendo di darti?
Pomster

113

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

Facendo doppio clic sul file .udl si aprirà la procedura guidata Proprietà collegamento dati .

Configurare e testare la connessione al server di database.

Chiudi la procedura guidata e apri il file .udl con l'editor di testo che preferisci e copia semplicemente la stringa di connessione (senza la Provider=<driver>parte) per usarla nell'applicazione C #.

contenuto del file udl di esempio

[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=""

quello che devi copiare da esso

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

Se si desidera specificare nome utente e password, è possibile adottare da altre risposte.

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


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

Dai un'occhiata a generare e salvare la stringa di connessione nel file di configurazione web youtu.be/1WgO7CDSmu8
anomepani

20

Su connectionstrings.com è possibile trovare la stringa di connessione per ogni provider DB. Viene creata una stringa di connessione con determinati attributi / proprietà e i relativi valori. Per SQL Server 2008, è simile al seguente (standard, che è quello che ti serve qui):

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

su myServerAddress, scrivi il nome dell'istanza installata (per impostazione predefinita è .\SQLEXPRESSper l'edizione di SQL Server Express). Catalogo iniziale = nome del database, lo vedrai in SSMS a sinistra dopo la connessione. Il resto parla da solo.

modificare

Sarà necessario omettere nome utente e password per l'autenticazione di Windows e aggiungere Integrated Security=SSPI.


11

Se hai installato e configurato MS SQL Server e Management Studio, vai a Visual Studio (Visual Studio non SQL Server Management Studio).

1] In Visual Studio vai su Strumenti -> Connetti al database .

2] In Nome server, selezionare il nome del server del database (lasciare compilare l'elenco se è necessario tempo).

3] In Connetti a un database, selezionare Seleziona o immettere un nome per il database .

4] Seleziona il tuo database dal menu a discesa.

5] Dopo aver selezionato Database, provare Test Connection.

6] Se la connessione di prova ha esito positivo, fare clic su OK.

7] In Visual Studio vai su Visualizza -> Esplora server .

8] Nella finestra Esplora server, in Connessioni dati, selezionare il database. Fare clic con il tasto destro del mouse sul database -> Fare clic su Proprietà .

9] Nella finestra Proprietà vedrai la tua stringa di connessione .


9

La mia soluzione era usare (2010).

In un nuovo foglio di lavoro, seleziona una cella, quindi:

Data -> From Other Sources -> From SQL Server 

inserisci il nome del server , seleziona la tabella , ecc.

Quando si arriva alla finestra di dialogo "Importa dati",
fare clic su Propertiesnella finestra di dialogo "Proprietà connessione",
selezionare la scheda "Definizione".

E lì Excel visualizza bene la stringa di connessione per la copia
(o anche Esporta file di connessione ... )


Funziona perfettamente e non richiede che la connessione sia configurata in VS.
Robino,

Haha, questo è un modo super-creativo ma efficace per ottenerlo. L'ho provato prima semplicemente perché non richiedeva alcuna dipendenza dai prerequisiti. Grazie.
Todd

3

inserisci il tag seguente 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 la stringa di connessione, ad es

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

3

Se si utilizza lo strumento Linqpad, dopo essersi connessi a un database di destinazione dalle connessioni, è possibile ottenere una stringa di connessione da utilizzare.

  1. Fare clic con il tasto destro sulla connessione al database.
  2. Selezionare Properties
  3. Selezionare Advanced
  4. Selezionare Copy Full Connection String to Clipboard

Risultato: Data Source=.\jabberwocky;Integrated Security=SSPI;Initial Catalog=Rasa;app=LINQPad

inserisci qui la descrizione dell'immagine


Rimuovere la app=LinqPadfunzione in base ai driver e ad altri elementi come al Serverposto della fonte, potrebbe essere necessario regolare il driver in base all'operazione di destinazione; ma offre una piattaforma di lancio.


2
Approvo questo post
Jabberwocky il

1

Il database del server sql verrà archiviato per impostazione predefinita nel seguente percorso

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

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

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

Una stringa di connessione contiene nome origine dati , ad esempio nome server, catalogo iniziale , nome database, ID utente , ID utente di accesso al database, password , ad esempio password di accesso al database.


1
Come ottengo la stringa di connessione?
Pomster

1
Ho dato un'occhiata a Programmi \ Microsoft SQl Server e non ho idea di cosa sto cercando?
Pomster

non è necessario cercare la cartella di archiviazione del database, consultare il collegamento fornito per la stringa di connessione e scrivere la stringa di connessione.
Sai Kalyan Kumar Akshinthala,

0

Se hai creato Connection Manager nel tuo progetto, puoi semplicemente estrarre la stringa di connessione da lì.

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

E usa questa connessione in:

using (var conn = new SqlConnection(connection))

Perfavore, correggimi se sbaglio.


0

Il modo più semplice, amici miei, è aprire la scheda Esplora server su Visual Studio 2019 (nel mio caso), quindi provare a creare la connessione al database. Dopo aver creato una connessione riuscita basta fare clic destro su di essa e andare su proprietà. Lì troverai un campo di connessione stringa con la sintassi corretta! ... Questo ha funzionato per me perché sapevo prima il nome del mio server .... non riuscivo a capire la sintassi corretta per eseguire il mio scaffale ef ...


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

2
Come risponde alla domanda OP?
Filburt,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.