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?


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.


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/


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.


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 .


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 ... )


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();

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ę.


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.


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ę.


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 ...


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

2
Jak to odpowiada na pytanie PO?
Filburt
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.