logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[C#] Jak poprawnie połączyć się z bazą danych SQL w Visual C#?

Rafal.J.645 06 Paź 2011 20:59 8422 23
REKLAMA
  • #1 10000012
    Rafal.J.645
    Poziom 11  
    Posty: 77
    Pomógł: 1
    Ocena: 21
    Witam.
    Piszę program w visual C#. Mam problem z bazą danych, nie wiem jak się z nią połączyć.
    Na razie próbuję napisać najprostszy program do połączenia z bazą. Znalazłem w internecie taki kod:
    Kod: C#
    Zaloguj się, aby zobaczyć kod

    ale nie działa (program się zawiesza i nie odpowiada).
    Co w tym kodzie jest źle, i jak on powinien prawidłowo wyglądać?

    Bardzo proszę o pomoc.

    Pozdrawiam.
  • REKLAMA
  • #2 10000492
    marcinj12
    Poziom 40  
    Posty: 3404
    Pomógł: 1024
    Ocena: 250
    Jaka to baza? Gdzie jest umieszczona?
  • #3 10000955
    Rafal.J.645
    Poziom 11  
    Posty: 77
    Pomógł: 1
    Ocena: 21
    Jest to Local Database o nazwie baza1.sdf zrobiona po kliknięciu Add New Item.
  • #4 10001105
    marcinj12
    Poziom 40  
    Posty: 3404
    Pomógł: 1024
    Ocena: 250
    A jak instalowałeś Visual studio zaznaczyłeś instalację SQL Server?
    Jak tworzysz bazę w ten sposób to connection string masz wstawiany automatycznie do properties. Spróbuj tego kodu, jak nie zadziała to wklej wyjątek który wyrzuci:
    Kod: C#
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #5 10002046
    Rafal.J.645
    Poziom 11  
    Posty: 77
    Pomógł: 1
    Ocena: 21
    Dalej nie działa :( program dalej się zawiesza (tak jak wcześniej).
    SQL Server mam zainstalowany.
  • REKLAMA
  • #6 10002166
    Alkaidek
    Poziom 10  
    Posty: 58
    Pomógł: 1
    Może spróbuj w ten sposób się połączyć
    Kod: C#
    Zaloguj się, aby zobaczyć kod
  • #7 10002674
    Rafal.J.645
    Poziom 11  
    Posty: 77
    Pomógł: 1
    Ocena: 21
    A co wpisać w "NazwaServera"?
  • #8 10002718
    Alkaidek
    Poziom 10  
    Posty: 58
    Pomógł: 1
    Nazwę serwera, na którym stoi Twoja baza ;)
  • #9 10003143
    Rafal.J.645
    Poziom 11  
    Posty: 77
    Pomógł: 1
    Ocena: 21
    A jak to sprawdzić? Bo ja chyba żadnej takiej nazwy nie ustawiałem.
  • #10 10003151
    pixel7
    Poziom 24  
    Posty: 656
    Pomógł: 53
    Ocena: 160
    Alkaidek napisał:
    Nazwę serwera, na którym stoi Twoja baza ;)


    Wraz z instancją jeśli takowa jest. Jeśli został zainstalowany express to powinno wyglądać to tak "NazwaSerwera\SqlExpress2008". Można to sprawdzić za pomocą SQL Server Configuration Manager jakie instancje są zainstalowane na danym komputerze.
  • #11 10003225
    Alkaidek
    Poziom 10  
    Posty: 58
    Pomógł: 1
    Albo możesz sprawdzić za pomocą Narzędzi Administracyjnych/Usługi i szukasz usług o nazwie wyświetlanej "SQL Server (<nazwa_instancji>)". A potem jak już przeczytasz nazwę instancji dostajesz się do instancji używając notacji <nazwa_komputera>\<nazwa_instancji> ;)
  • #12 10003511
    Rafal.J.645
    Poziom 11  
    Posty: 77
    Pomógł: 1
    Ocena: 21
    No to teraz jest tak:
    Kod: C#
    Zaloguj się, aby zobaczyć kod

    i dalej to samo :( .
  • #14 10003761
    Rafal.J.645
    Poziom 11  
    Posty: 77
    Pomógł: 1
    Ocena: 21
    Coś takiego?:
    Kod: C#
    Zaloguj się, aby zobaczyć kod

    wywaliło coś takiego:
    Cannot open database "baza1" requested by the login. The login failed.
    Login failed for user 'Rafal-Komputer\Rafal'.
  • #15 10007690
    pixel7
    Poziom 24  
    Posty: 656
    Pomógł: 53
    Ocena: 160
    I dobrze. Serwer znaleziony, tylko brakuje uprawnień twojemu użytkownikowi komputera. Przyda się teraz "SQL Server Management Studio" - jeśli nie masz to ściągnij i zainstaluj wersje zgodną z twoją wersją sql - lub dla wyższej. Zaloguj się do serwera użytkownikiem "sa" - pewnie podawałeś hasło przy instalacji? Po zalogowaniu rozwiń "Security/Logins" i swojemu użytkownikowi nadaj uprawnienia sysadmin.

    Możesz spróbować też logowania nie-zintegrowanego:

    Kod: C#
    Zaloguj się, aby zobaczyć kod


    Po "=" za password wstaw hasło dla twojego "sa"
  • #16 10008871
    Rafal.J.645
    Poziom 11  
    Posty: 77
    Pomógł: 1
    Ocena: 21
    No tak, zainstalowałem SQL Server Management Studio, zalogowałem się do bazy
    ustawiając w "Server type:" "SQL Server Compact Edition", w "Database file:"
    ustawiłem plik bazy. Zakładki "Security/Logins" tam nie ma. Hasła do bazy nie było,
    ustawiłem na "123456789".

    Dobrze to robię? Jak teraz ustawić nazwę użytkownika?
  • REKLAMA
  • #18 10010777
    Rafal.J.645
    Poziom 11  
    Posty: 77
    Pomógł: 1
    Ocena: 21
    W "Server name:" wpisałem "Rafal-Komputer\SQLEXPRESS",
    w "Authentication:" wybrałem "Windows Authentication".
    Zalogowałem się i w moim użytkowniku było już zaznaczone "sysadmin".
    Co teraz zrobić?
  • #20 10014305
    Rafal.J.645
    Poziom 11  
    Posty: 77
    Pomógł: 1
    Ocena: 21
    Tabele mam w bazie, tylko jeśli już ją wyświetlę, to mogę coś tam zmienić żeby
    móc się do niej zalogować w programie (C#)?
  • #21 10014396
    blue_17
    Poziom 32  
    Posty: 2414
    Pomógł: 172
    Ocena: 472
    Oj kolego to nie tak działa

    Jeśli masz "główne konto" czyli po linuxowemu roota to masz prawa do wszystkich tabel i wszystko możesz zrobić, jako tak jeśli za bardzo nie wiesz jak działa baza MySQL-owa to żeby jakoś tego dotknąć to radzę phpadmin-a

    Zobaczysz kto nadaje prawa, jakie są te prawa itd

    Jeśli chodzi o wyświetlanie tabel np całej zawartości

    To łatwo nie uda Ci się czegoś zepsuć jeśli nie znasz składni sql-a ale żeby robić podstawowe rzezy to starczy Ci

    SELECT, INSERT, UPDATE zapoznaj się co robią te polecenia i radził bym się zapoznać ze swoimi tabelami a właściwie ich strukturą

    Polecam t stronę on-line możesz zobaczyć wyniki zapytań i dużo dużo więcej

    http://www.w3schools.com/sql/sql_tryit.asp

    Pozdrawiam
  • #22 10015919
    Rafal.J.645
    Poziom 11  
    Posty: 77
    Pomógł: 1
    Ocena: 21
    Ze składnią sql'a problemu raczej nie będę miał, bo wygoogluje sobie.
    Jak działa taka baza to mniej więcej wiem z wikipedi.
    A problemem mam zalogowanie do bazy. Szukałem, ale nigdzie nie mogę
    znaleźć, co muszę zrobić, żeby mieć do niej uprawnienia?
  • #23 10017279
    blue_17
    Poziom 32  
    Posty: 2414
    Pomógł: 172
    Ocena: 472
    Loguj się na główne konto "roota" w praktyce wpisujesz te same dane co podałeś wyżej bo wygląda na to że to konto ma wszystkie prawa, a jeśli byś chciał utworzyć nowego usera to oczywiście wszystko możesz zrobić ;)
  • #24 10018423
    Rafal.J.645
    Poziom 11  
    Posty: 77
    Pomógł: 1
    Ocena: 21
    Przemyślałem sobie to trochę i wydaje mi się to bez sensu... :/
    Jak będę chciał używać tego programu co piszę na innym komputerze, to
    muszę zmieniać kod programu i ściągać SQL Server Management Studio?




    pixel7 napisał:
    Możesz spróbować też logowania nie-zintegrowanego:

    Kod: C#
    Zaloguj się, aby zobaczyć kod





    Po "=" za password wstaw hasło dla twojego "sa"


    Skopiowałem ten kod (nic nie zmieniałem) i wywaliło mi:
    Cytat:
    Login failed for user 'sa'.


    Jak sprawdzić hasło do "sa"?

Podsumowanie tematu

✨ Użytkownik ma problem z połączeniem się z lokalną bazą danych SQL w Visual C#. Początkowy kod z użyciem SqlConnection nie działał, co prowadziło do zawieszania się programu. Użytkownik został poinformowany o konieczności sprawdzenia nazwy serwera oraz uprawnień użytkownika. Po zainstalowaniu SQL Server Management Studio i zalogowaniu się jako użytkownik "sa", użytkownik napotkał problemy z uprawnieniami do bazy danych. Wskazówki obejmowały użycie odpowiedniego connection string oraz nadanie uprawnień sysadmin dla użytkownika. Użytkownik zadał pytania dotyczące logowania i uprawnień, a także wyraził obawy o przenoszenie aplikacji na inne komputery.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA