Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[C#] Komunikacja z bazą danych SQL.

Rafal.J.645 06 Paź 2011 20:59 7672 23
  • #1 06 Paź 2011 20:59
    Rafal.J.645
    Poziom 11  

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

    0 23
  • #2 06 Paź 2011 22:39
    marcinj12
    Poziom 40  

    Jaka to baza? Gdzie jest umieszczona?

    0
  • #3 07 Paź 2011 07:45
    Rafal.J.645
    Poziom 11  

    Jest to Local Database o nazwie baza1.sdf zrobiona po kliknięciu Add New Item.

    0
  • #4 07 Paź 2011 09:11
    marcinj12
    Poziom 40  

    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: csharp
    Zaloguj się, aby zobaczyć kod

    0
  • #5 07 Paź 2011 14:56
    Rafal.J.645
    Poziom 11  

    Dalej nie działa :( program dalej się zawiesza (tak jak wcześniej).
    SQL Server mam zainstalowany.

    0
  • #6 07 Paź 2011 15:37
    Alkaidek
    Poziom 10  

    Może spróbuj w ten sposób się połączyć

    Kod: csharp
    Zaloguj się, aby zobaczyć kod

    0
  • #7 07 Paź 2011 18:33
    Rafal.J.645
    Poziom 11  

    A co wpisać w "NazwaServera"?

    0
  • #8 07 Paź 2011 18:49
    Alkaidek
    Poziom 10  

    Nazwę serwera, na którym stoi Twoja baza ;)

    0
  • #9 07 Paź 2011 20:30
    Rafal.J.645
    Poziom 11  

    A jak to sprawdzić? Bo ja chyba żadnej takiej nazwy nie ustawiałem.

    0
  • #10 07 Paź 2011 20:31
    pixel7
    Poziom 22  

    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.

    0
  • #11 07 Paź 2011 20:48
    Alkaidek
    Poziom 10  

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

    0
  • #12 07 Paź 2011 21:59
    Rafal.J.645
    Poziom 11  

    No to teraz jest tak:

    Kod: csharp
    Zaloguj się, aby zobaczyć kod

    i dalej to samo :( .

    0
  • #13 07 Paź 2011 22:07
    pixel7
    Poziom 22  

    Czy twój komputer nazywa się "SQLEXPRESS" ? Masz wpisać tam nazwę kompa i po \ nazwę instancji sql.

    0
  • #14 07 Paź 2011 22:50
    Rafal.J.645
    Poziom 11  

    Coś takiego?:

    Kod: csharp
    Zaloguj się, aby zobaczyć kod

    wywaliło coś takiego:
    Code:
    Cannot open database "baza1" requested by the login. The login failed.
    
    Login failed for user 'Rafal-Komputer\Rafal'.

    0
  • #15 09 Paź 2011 08:18
    pixel7
    Poziom 22  

    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: csharp
    Zaloguj się, aby zobaczyć kod


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

    0
  • #16 09 Paź 2011 14:49
    Rafal.J.645
    Poziom 11  

    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?

    0
  • #17 09 Paź 2011 18:34
    pixel7
    Poziom 22  

    Zaloguj się do "Database engine". Wtedy będziesz widział wszystko.

    0
  • #18 09 Paź 2011 22:15
    Rafal.J.645
    Poziom 11  

    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ć?

    0
  • #20 10 Paź 2011 22:32
    Rafal.J.645
    Poziom 11  

    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#)?

    0
  • #21 10 Paź 2011 22:52
    blue_17
    Poziom 32  

    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

    0
  • #22 11 Paź 2011 15:42
    Rafal.J.645
    Poziom 11  

    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?

    0
  • #23 11 Paź 2011 21:29
    blue_17
    Poziom 32  

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

    0
  • #24 12 Paź 2011 09:08
    Rafal.J.645
    Poziom 11  

    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: csharp
    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"?

    0