• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Łączenie z baz

+1 głos
230 wizyt
pytanie zadane 28 lutego w SQL, bazy danych przez sSinfeld Nowicjusz (130 p.)
edycja 28 lutego przez sSinfeld

Na studiach podyplomowych uczę się podstawowych zagadnień z baz danych SQL. Podczas realizacji programu spotkałem sie z problemem pobrania danych z serwera za pomocą VisualStudio 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Data.SqlClient;

namespace ConnectionExample
{
    internal class Program
    {
        static void Main(string[] args)
        {
            try
            {
                SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
                builder.DataSource = "IS\\INSTANCE4";
                builder.InitialCatalog = "ShopDB";
                builder.IntegratedSecurity = true;
                using (SqlConnection connection = new SqlConnection(builder.ConnectionString)) {
                    Console.WriteLine("\n Products Table");
                    Console.WriteLine("==========================================\n");
                    String sql = "SELECT ProductName FROM Products";
                    using (SqlCommand command = new SqlCommand(sql, connection)) {
                        connection.Open();
                        using (SqlDataReader reader = command.ExecuteReader()) {
                            while (reader.Read()) {
                                Console.WriteLine("{0}",reader.GetString(0));
                            }
                        }
                    }
                 }
            }
            catch (SqlException e) {                        
                Console.WriteLine(e.ToString());
            }
            Console.ReadLine();
        }
    }
}

Zdjecia z konsoli i programu znajdują się tutaj: 

https://gist.github.com/ireneuszszajna-cyber/ed162b516a10507c20cadad91e987861?permalink_comment_id=6007073#gistcomment-6007073

 

Pracuję na systemie Windows11. Baza danych została stworzona w SQL Server Management Studio 22.

Czy ktoś wie jak rozwiązać ten problem ?

komentarz 28 lutego przez adrian17 Mentor (354,880 p.)
Nie pokazałeś samego komunikatu wyjątku, jedynie jego stack trace.
komentarz 1 marca przez sSinfeld Nowicjusz (130 p.)
Nie mam pojeqcia gdzie znaleźć komunikat wyjątku.

Ostatnie zdjecie: (screen zrobiony podczas trwania kompilacji)

https://gist.github.com/ireneuszszajna-cyber/ed162b516a10507c20cadad91e987861?permalink_comment_id=6007073
komentarz 1 marca przez adrian17 Mentor (354,880 p.)

Kompilacja nie ma znaczenia.

Wyjątek znajdziesz albo jak zescrollujesz w górę tam gdzie na górze widziałeś ten wielki stack trace... albo... jak odpalasz program w debuggerze, to pierwsza rzecz która wyskakuje.

komentarz 1 marca przez sSinfeld Nowicjusz (130 p.)
Przesunąłem kursorem do góry. Na sreenie powyzej pokazałes jak wyswietla wyjątki. Mam pytanie - dllaczego mi tak nie zaznacza wyjatków w kodzie?

https://gist.github.com/ireneuszszajna-cyber/ed162b516a10507c20cadad91e987861?permalink_comment_id=6008171#gistcomment-6008171
komentarz 1 marca przez adrian17 Mentor (354,880 p.)

Przesunąłem kursorem do góry

Mówiłem o widoku gdzie widziałeś stack trace błędu, tym z pierwszego screenshota.

Mam pytanie - dllaczego mi tak nie zaznacza wyjatków w kodzie?

Hmm, nie wiem, sorry. Na drugim screenie wygląda jakby był odpalony w debuggerze, więc powinien złapać wyjątek.

Zawsze możesz samemu złapać wyjątek w C# i wyświetlić komunikat?

komentarz 1 marca przez adrian17 Mentor (354,880 p.)
No i super, masz komunikat, teraz to co bym sam zrobił to wziął ten cały komunikat i przekleił w gugla tbh ;)
komentarz 1 marca przez sSinfeld Nowicjusz (130 p.)
Wkleiłem ten tekst z debbugera

https://gist.github.com/ireneuszszajna-cyber/ed162b516a10507c20cadad91e987861?permalink_comment_id=6007073

Szukam w goole, ale te metody rozwiazania problemu, które sa przedstawione tutaj nie działaja (lub raczej ja robie cos zle):

https://learn.microsoft.com/en-us/answers/questions/1289865/how-to-solve-the-error-microsoft-data-sqlclient-sq

 

Umiescilem tez screena z SQL Server -> Connection String
komentarz 2 marca przez sSinfeld Nowicjusz (130 p.)
edycja 2 marca przez sSinfeld

Problem rozwiązany. Wystarczyło wkleic opis błedu z konsoli do AI i dostałem gotowe rozwiązanie.

 

"Ten błąd występuje, ponieważ biblioteka Microsoft.Data.SqlClient w wersji 4.0 i nowszych domyślnie ustawia Encrypt=True. Oznacza to, że klient próbuje nawiązać bezpieczne połączenie, ale nie ufa certyfikatowi SSL zainstalowanemu na serwerze SQL (często jest to certyfikat samopodpisany)."

Wystarczyło do mojego kodu dodac:            
builder.TrustServerCertificate = true;

Tyle czasu się męczyłem ze znalezieniem odpowiedzi samodzielnie  a AI podało rozwiązanie w sekundę. Dzięki za starania i pomoc.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 463 wizyt
pytanie zadane 26 września 2022 w SQL, bazy danych przez adzik81 Nowicjusz (180 p.)
0 głosów
3 odpowiedzi 974 wizyt
pytanie zadane 25 maja 2021 w SQL, bazy danych przez Misiek Mądrala (5,320 p.)
+1 głos
0 odpowiedzi 414 wizyt
pytanie zadane 28 kwietnia 2020 w SQL, bazy danych przez manjaro Nałogowiec (37,420 p.)

93,720 zapytań

142,648 odpowiedzi

323,266 komentarzy

63,270 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...