Jak uzyskać ciąg połączenia z bazy danych

197

Utworzyłem bazę danych w SQL Server Management Studio, chciałbym teraz używać jej w mojej aplikacji C #. Potrzebuję ciąg połączenia?

Gdzie mogę znaleźć parametry połączenia i gdzie jest przechowywana moja baza danych?

Czy muszę to opublikować, czy coś w tym stylu, czy jest to gdzieś w moich dokumentach?

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

Jak uzyskać ciąg połączenia ? Gdzie mogę znaleźć ciąg połączenia, aby skopiować wklej do powyższej sekcji?

Jak opublikować moją bazę danych, aby program Visual Studio mógł ją pobrać? Więc mogę po prostu wyciągnąć tam ciąg połączenia?

Pomster
źródło
Przyjrzeć się, jak generować ciąg połączenia youtu.be/1WgO7CDSmu8
anomepani

Odpowiedzi:

201

Najłatwiejszym sposobem uzyskania ciągu połączenia jest użycie okna „Server Explorer” w Visual Studio (menu View , Server Explorer ) i połączenie się z serwerem z tego okna.

Następnie możesz zobaczyć parametry połączenia we właściwościach podłączonego serwera (wybierz połączenie i naciśnij F4 lub Alt + Enter lub wybierz Właściwości w menu po kliknięciu prawym przyciskiem myszy).

Zaawansowane ustawienia ciągu połączenia: podczas tworzenia połączenia możesz zmodyfikować dowolne zaawansowane opcje ciągu połączenia, takie jak MARS, elastyczność, czas, konfiguracja puli itp., Klikając przycisk „Zaawansowane ...” u dołu przycisku „ Dodaj połączenie ”. Aby uzyskać dostęp do tego okna dialogowego, kliknij prawym przyciskiem myszy Połączenie danych i wybierz „Zmień połączenie ...”. Dostępne opcje zaawansowane różnią się w zależności od typu serwera.

Jeśli utworzysz bazę danych za pomocą SQL Server Management Studio, baza danych zostanie utworzona w instancji serwera, więc aby wdrożyć aplikację, musisz wykonać kopię zapasową bazy danych i wdrożyć ją we wdrożeniu SQL Server. Alternatywnie możesz użyć pliku danych za pomocą SQL Server Express (localDB w SQL Server 2012), który będzie łatwo dystrybuowany wraz z aplikacją.

Tj. Jeśli jest to aplikacja ASP.NET, istnieje App_Datafolder. Po kliknięciu prawym przyciskiem myszy możesz dodać nowy element, którym może być baza danych SQL Server. Ten plik będzie w tym folderze, będzie współpracował z SQL Express i będzie łatwy do wdrożenia. Aby to działało, na komputerze musi być zainstalowany program SQL Express / localDB.

JotaBe
źródło
2
Rozumiem to i podoba mi się: D, ale czy możesz wyjaśnić więcej, jak wykonać kopię zapasową, a następnie wdrożyć? moja znajomość MS SQL Server jest zła, zacząłem go używać około godzinę temu: \
Pomster
Czy istnieje serwer realsql? czy użyjesz SQL Server Express? czy wystarczy SQL Server Compact Edition? Nie otrzymamy tego, czego możesz użyć, jeśli nie podasz dodatkowych informacji
JotaBe
1
Użyłem MS SQl Server Management Studio 2008, MS SQL Management studio do stworzenia bazy danych. Użyłem zapytania, aby utworzyć niektóre kolumny. Teraz chcę wypełnić ją moją aplikacją C #
Pomster
Czy ta aplikacja zostanie wdrożona? Czy użyjesz go lokalnie? Czy masz coś przeciwko rodzajowi serwera, który jest potrzebny ?. Nie muszę wiedzieć, jak zrobiłeś swoją bazę danych, ale gdzie i dlaczego. Nie mogę zgadnąć, czego potrzebujesz !!!
JotaBe
Użyję tego lokalnie, nie wiem, o co mnie prosisz?
Pomster
113

Bardzo prostym sposobem na pobranie ciągu połączenia jest utworzenie pliku tekstowego, zmiana rozszerzenia z .txt na .udl .

Dwukrotne kliknięcie pliku .udl otworzy kreatora Właściwości łącza danych .

Skonfiguruj i przetestuj połączenie z serwerem bazy danych.

Zamknij kreatora i otwórz plik .udl w wybranym edytorze tekstowym i po prostu skopiuj parametry połączenia (bez Provider=<driver>części), aby użyć go w aplikacji C #.

przykładowa zawartość pliku 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=""

co musisz z niego skopiować

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

Jeśli chcesz podać nazwę użytkownika i hasło, możesz przyjąć inne odpowiedzi.

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

Filburt
źródło
Jeśli to nie zadziała, istnieją pliki reg, które wprowadzą zmiany w rejestrze w celu włączenia / wyłączenia rozszerzenia UDL. Zwykle przeszukuję folder Windows w poszukiwaniu * .reg.
AMissico,
Spójrz na generowanie i zapisać ciąg połączenia w pliku web config youtu.be/1WgO7CDSmu8
anomepani
20

Na connectionstrings.com można znaleźć parametry połączenia dla każdego dostawcy DB. Ciąg połączenia jest zbudowany z pewnymi atrybutami / właściwościami i ich wartościami. W przypadku SQL Server 2008 wygląda to tak (standard, który jest tutaj potrzebny):

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

dalej myServerAddress, wpisz nazwę zainstalowanej instancji (domyślnie jest to .\SQLEXPRESSwersja SQL Server Express). Początkowy katalog = nazwa twojej bazy danych, zobaczysz ją w SSMS po lewej po połączeniu. Reszta mówi sama za siebie.

edytować

Będziesz musiał pominąć nazwę użytkownika i hasło do uwierzytelnienia systemu Windows i dodać Integrated Security=SSPI.

MarioDS
źródło
11

Jeśli zainstalowałeś i skonfigurowałeś MS SQL Server i Management Studio, przejdź do Visual Studio (Visual Studio nie SQL Server Management Studio).

1] W Visual Studio przejdź do Narzędzia -> Połącz z bazą danych .

2] W polu Nazwa serwera wybierz nazwę serwera bazy danych (pozwól liście wypełnić, jeśli zajmuje to dużo czasu).

3] W obszarze Połącz z bazą danych wybierz Wybierz lub wprowadź nazwę bazy danych .

4] Wybierz bazę danych z menu rozwijanego.

5] Po wybraniu bazy danych spróbuj przetestować połączenie.

6] Jeśli połączenie testowe się powiedzie, kliknij OK.

7] W Visual Studio przejdź do Widok -> Eksplorator serwera .

8] W oknie Server Explorer, w obszarze Połączenia danych wybierz bazę danych. Kliknij prawym przyciskiem myszy bazę danych -> kliknij Właściwości .

9] W oknie Właściwości zobaczysz ciąg połączenia .

Juned Khan Momin
źródło
9

Moim rozwiązaniem było użyć (2010).

W nowym arkuszu wybierz komórkę, a następnie:

Data -> From Other Sources -> From SQL Server 

wpisz nazwę serwera , wybierz tabelę itp.

Po przejściu do okna dialogowego „Importuj dane”
kliknij Propertiesw oknie dialogowym „Właściwości połączenia”,
wybierz kartę „Definicja”.

I tam Excel ładnie wyświetla parametry połączenia do kopiowania
(a nawet eksportowania pliku połączenia ... )

David Elgstuen
źródło
Działa to doskonale i nie wymaga konfiguracji połączenia w VS.
Robino
Haha, to super kreatywny, ale skuteczny sposób na uzyskanie tego. Najpierw spróbowałem, ponieważ nie wymagało to żadnych wstępnych zależności. Dziękuję Ci.
Todd
3

umieść poniżej znacznika w pliku web.config w węźle konfiguracji

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

możesz użyć powyższego ciągu połączenia, np

SqlConnection con = new SqlConnection();
            con.ConnectionString = ConfigurationManager.ConnectionStrings["NameOFConnectionString"].ToString();
Vishal Parekh
źródło
3

Jeśli używa się narzędzia Linqpad, po połączeniu się z docelową bazą danych z połączeń można uzyskać ciąg połączenia do użycia.

  1. Kliknij połączenie bazy danych prawym przyciskiem myszy.
  2. Wybierz Properties
  3. Wybierz Advanced
  4. Wybierz Copy Full Connection String to Clipboard

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

wprowadź opis zdjęcia tutaj


Usuń w app=LinqPadzależności od sterowników i innych elementów, takich jak Serverzamiast źródła, może być konieczne dostosowanie sterownika do operacji docelowej; ale daje nam wyrzutnię.

ΩmegaMan
źródło
2
Akceptuję ten post
Jabberwocky
1

Baza danych serwera SQL zostanie domyślnie zapisana w następującej ścieżce

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

, gdzie <drive>jest dysk instalacyjny, a X to numer instancji (MSSQL.1 dla pierwszej instancji aparatu bazy danych). Aby podać ciąg połączenia, powinieneś wiedzieć, jaka jest nazwa serwera bazy danych serwera SQL, gdzie został zapisany, a następnie wystąpienie serwera bazy danych.

Ogólnie nazwa serwera będzie podobna do adresu IP komputera, na którym podłączona jest baza danych, a domyślną instancją będzie SqlExpress

Ciąg połączenia zawiera źródło danych nazwa tzn nazwę serwera, Initial Catalog to znaczy, nazwę bazy danych, identyfikator użytkownika tj logowania identyfikator użytkownika bazy danych, hasło to znaczy, hasło logowania do bazy danych.

Sai Kalyan Kumar Akshinthala
źródło
1
Jak uzyskać ciąg połączenia?
Pomster
1
Przejrzałem pliki programu \ Microsoft SQl Server i nie mam pojęcia, czego szukam?
Pomster
nie musisz szukać folderu przechowywania bazy danych, zobacz link, który podałem dla ciągu połączenia i napisz swój ciąg połączenia.
Sai Kalyan Kumar Akshinthala
0

Jeśli utworzyłeś Menedżera połączeń w swoim projekcie, możesz po prostu wyciągnąć z niego parametry połączenia.

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

I użyj tego połączenia w:

using (var conn = new SqlConnection(connection))

Proszę, popraw mnie jeśli się mylę.

Abhishek
źródło
0

Najłatwiejszym sposobem, moi przyjaciele, jest otwarcie karty eksploratora serwerów w Visual Studio 2019 (w moim przypadku), a następnie próba utworzenia połączenia z bazą danych. Po utworzeniu udanego połączenia wystarczy kliknąć prawym przyciskiem myszy i przejść do właściwości. Tam znajdziesz pole połączenia z poprawną składnią! ... To działało dla mnie, ponieważ znałem wcześniej nazwę mojego serwera ... po prostu nie mogłem znaleźć poprawnej składni, aby uruchomić moje rusztowanie EF ...

Ramiro GM
źródło
-2
SqlConnection con = new SqlConnection();
con.ConnectionString="Data Source=DOTNET-PC\\SQLEXPRESS;Initial Catalog=apptivator;Integrated Security=True";
karthi
źródło
2
Jak to odpowiada na pytanie PO?
Filburt