Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Skrócony regulamin

[VB2010]Zdalne podłączenie do bazy SQL - LAN

Idź do strony 1, 2  Następny

 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Visual Studio
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
gaclaw
Gość





PostWysłany: Sob Lis 05, 2011 12:31 pm      Temat postu: [VB2010]Zdalne podłączenie do bazy SQL - LAN Odpowiedz z cytatem Pisownia

Witam,
Piszę sobie programik, który chcę przystosować do pracy w sieci. Mianowicie chciałbym, aby komputer na ktorym program działa połączył się z serwerem sql.

Lokalnie wiem jak to zrobić natomiast jeśli chodzi o sieciowo, średnio mam możliwość testowania więc pisze tu.

Uruchamiam program> wskazuję adres IP> program łączy się do bazy i sprawdza, czy są już standardowe kolumny, jeśli nie to je tworzy = tu zaczynaja sie juz 2 scenariusze od tworzenia konta administratora do firmy itp.

Prosze o podpowiedź jak ustawić serwer SQL aby działał z zadanym przeze mnie adresem IP, bądź inny (jsli lepszy) sposób podłączania do bazy w sieci.
Do bazy lączę się tak(lokalnie):
Kod:

Dim connection As New SqlClient.SqlConnection
Dim command As New SqlClient.SqlCommand


connection.ConnectionString = ("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\db.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
        connection.Open()
        command.Connection = connection
        command.CommandText = ("zapytanie")
        command.ExecuteScalar()


Pytanie czy to będzie uzyteczne, jeśli tak to jak?
Jestem trochę zielony jeśli chodzi o programowanie w sieci dlatego grzecznie i potulnie prosze o podpowiedź bardziej doświadczonych.
Z góry dziękuję.
Powrót do góry
hejmus



Dołączył: 26 Maj 2005
Posty: 2135

PostWysłany: Sob Lis 05, 2011 1:05 pm      Temat postu: Odpowiedz z cytatem Pisownia

Zamiast .\SQLEXPRESS daj komputer\instancja

Dodane przez moderatora (łączenie postów)

No ok dzięki, tylko powiedz mi, jakie IP wpisywać? Komputera czy ten z ustawień TCP/IP serwera? (v4 jak obrazek poniżej?)
http://images38.fotosik.pl/1181/4379f4c290eeb7f6.gif

Dodane przez moderatora (łączenie postów)

chyba że nazwe sieciową to już rozumiem:
ex. Data Source=SERWER\MSSQL

_________________
kompilacja Gentoo na Pentium MMX 233MHz - niezapomniane przeżycia ;)
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
gaclaw
Gość





PostWysłany: Sob Lis 05, 2011 1:38 pm      Temat postu: Odpowiedz z cytatem Pisownia

Sorry za kolejny post ale:
Kod:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim conn As New SqlClient.SqlConnection
        Dim comm As New SqlClient.SqlCommand
        conn.ConnectionString = ("Data Source = '" & TextBox1.Text & "';Integrated Security=True;Connect Timeout=30;User Instance=True")
        Try
            conn.Open()
            conn.Close()
        Catch ex As Exception
            MsgBox(ex)

        End Try
      


    End Sub

Po prostu zawiesza program.
Powrót do góry
Przemuss



Dołączył: 09 Sie 2008
Posty: 669
Skąd: Żyrardów

PostWysłany: Sob Lis 05, 2011 1:44 pm      Temat postu: Odpowiedz z cytatem Pisownia

Dlatego że może się połączyć ze zdalnym hostem. Po chwili powinien wyskoczyć błąd:)
Musisz włączyć komunikację po TCP/IP w ustawieniach serwera SQL jak i przepuścić przez firewall.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Numer GG
gaclaw
Gość





PostWysłany: Sob Lis 05, 2011 2:00 pm      Temat postu: Odpowiedz z cytatem Pisownia

Trochę nie rozumiem.
Mam zainstalowany pakiet insertu gt i do bazy INSERTGT się łączy. Spróbowałem ustawić wszystko podobnie jak dla bazy insertgt i ni cholery sie nie łączy.
Próbował ktoś z was w taki sposob działac i tez miał problemy?
TCP/IP włączone, named pipes i shared memory też.
Może trzeba tam coś głębiej ustawić?

Dodane przez moderatora (łączenie postów)

Jak to komuś pomoże:

ex: http://images35.fotosik.pl/1008/b6529cbf4cd432d4.jpg


ustawienia sql. http://images45.fotosik.pl/1196/3d5aeb741c647401.jpg

Dodane przez moderatora (łączenie postów)

Ok udało mi się zestawić połączenie, ustawiając przy IP0, IP1, IP2 itd enabled na Yes
ale serwer odrzuca połączenia z komunikatem:
login failed. the login is from an untrusted domain and cannot be used with windows authentication
Powrót do góry
bogdan



Dołączył: 06 Wrz 2005
Posty: 121

PostWysłany: Pią Lis 11, 2011 5:04 pm      Temat postu: Odpowiedz z cytatem Pisownia

W ten sposób się nie zalogujesz bo sqlServer nie zna Twojego konta (jesteś w innej domenie).
1. Zmień sposób uwierzytelniania serwera SQL na "SQL Server and Windows Autentication mode"
2. Dodaj użytkownika (np. 'usrTest') i ustaw mu hasło (np:'hasło')
3. Nadaj mu uprawnienia do bazy, do której się chcesz dostać.
4. W programie zmień ciąg połączenia:
Kod:

...
Dim scsbPołączenie As New SqlConnectionStringBuilder With {.UserInstance = False, .UserID = "usrTest", .Password = "hasło"}
With scsbPołączenie
    .DataSource = "IP\SQLEXPRESS,1433"
    .IntegratedSecurity = False
    .InitialCatalog = "nazwa albo ścieżka do BD"   ' lokalna z punktu widzenia serwera (nie UNC)
End With

' wykorzystaj  scsbPołączenie.ConnectionString


powinno zadziałać
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
gaclaw
Gość





PostWysłany: Nie Lis 13, 2011 3:53 pm      Temat postu: Odpowiedz z cytatem Pisownia

Dziękuję :) lata jak rakieta
Powrót do góry
gaculu



Dołączył: 10 Sty 2011
Posty: 29
Skąd: Gostynin

PostWysłany: Czw Lut 09, 2012 11:01 pm      Temat postu: Odpowiedz z cytatem Pisownia

Dobra jestem idiotą.
Skasowałem podczas sprzątania pliczek z zapisem tego programu. Teraz próbuje go odtworzyć i nie mogę.
Kod:
Imports System.Data.SqlClient

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim scsbPołączenie As New SqlConnectionStringBuilder With {.UserInstance = False, .UserID = "nexus", .Password = "nexus"}
        With scsbPołączenie
            .DataSource = TextBox1.Text
            .IntegratedSecurity = False
            '.InitialCatalog = "nexus"   ' lokalna z punktu widzenia serwera (nie UNC)
        End With
        Dim com As New SqlClient.SqlCommand
        Dim con As New SqlClient.SqlConnection
        con.ConnectionString = scsbPołączenie.ConnectionString.ToString
        MsgBox(con.ConnectionString.ToString)
        Try
            com.Connection = con
            con.Open()
            MsgBox("OK")
            con.Close()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub
End Class


Proszę zwróćcie moją uwagę - co robię źle?
Serwer ustawiony podczas instalacji:
Wszędzie gdzie da się wpisać wpisuję user - nexus i hasło - nexus.
ustawione jest że i windoz i SQL mnie autentykuje. TCP/IP włączony.
Już mnie po prostu to doprowadza do bialej gorączki i wrzodów na żołądku.
Z góry dzięki za pomoc.
PRZEMEK[/tex]



Bez nazwy-6.jpg
 Opis:
zawartość Ex

Pobierz
 Nazwa pliku:  Bez nazwy-6.jpg
 Wielkość pliku:  549.49 KB
 Pobierano:  11 raz(y)


Bez nazwy-4.jpg
 Opis:
Zawartość con.ConnectionString

Pobierz
 Nazwa pliku:  Bez nazwy-4.jpg
 Wielkość pliku:  57.9 KB
 Pobierano:  10 raz(y)


_________________
Inteligencja to cecha wrodzona. Mądrość się zdobywa. W połączeniu dają moc.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Numer GG Tlen
Przemuss



Dołączył: 09 Sie 2008
Posty: 669
Skąd: Żyrardów

PostWysłany: Pią Lut 10, 2012 2:20 pm      Temat postu: Odpowiedz z cytatem Pisownia

Czy serwer jest dobrze skonfigurowany?
Uruchom na serwerze narzędzie takie jak: "SQL Server Configuration Manager" instaluje się ono wraz z managerem SQL.
Trzeba włączyć usługę SQL Server Browser, jak i włączyć protokół TCP/IP także w tym narzędziu.
Jeśli włączony jest firewall na serwerze to trzeba dodać kilka reguł.
Dodać regułę dla portu 1433 jako TCP i port 1434 jak UDP. Dodatkowo trzeba dodać program do wyjątków: "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe"
I po tym zabiegu połączenie powinno już prawie działać:D

Uruchamiasz narzędzie: "SQL Server Management Studio Express" musisz zmienić typ autoryzacji na "SQL server and windows authentucation mode"
I po tym zabiegu powinno już działać.

Mam nadzieję ze o niczym nie zapomniałem.

U mnie połączenie bazą wygląda tak:
Kod:
objConnection = New SqlConnection("Server='" & Serwer & "';" & _
                                     "uid='" & User & "'" & _
                                     ";pwd='" & Haslo & "'" & _
                                     ";database='" & Baza & "'" & _
                                     ";multipleActiveResultSets = 'True'" & _
                                     ";Trusted_Connection='" & Trusted & "'")

Trusted mam ustawiony na "false". Twoje rozwiązanie z tak wpisanym hasłem jest dość ryzykowne. Uruchom plik exe w notatniku a hasło znajdziesz bez problemu w sposób jawny:D

Sprawdź jaka jest nazwa serwer w "SQL Server Management Studio Express" bo jeśli używasz SQL w wersji expres to raczej nie jest on pod nazwą: "serwer\nex" lecz pod nazwą "serwer\SQLEXPRESS"
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Numer GG
gaculu



Dołączył: 10 Sty 2011
Posty: 29
Skąd: Gostynin

PostWysłany: Pią Lut 10, 2012 6:57 pm      Temat postu: Odpowiedz z cytatem Pisownia

Po kolei jak instalowałem i ustawiałem MSSQL:

Obrazy przycięte przez moderatora (usunięcie części nie związanych z tematem). marcin_an



ScreenShot001.jpg
 Opis:

Pobierz
 Nazwa pliku:  ScreenShot001.jpg
 Wielkość pliku:  33.66 KB
 Pobierano:  13 raz(y)


ScreenShot002.jpg
 Opis:

Pobierz
 Nazwa pliku:  ScreenShot002.jpg
 Wielkość pliku:  45.48 KB
 Pobierano:  11 raz(y)


ScreenShot003.jpg
 Opis:

Pobierz
 Nazwa pliku:  ScreenShot003.jpg
 Wielkość pliku:  54.38 KB
 Pobierano:  10 raz(y)


ScreenShot004.jpg
 Opis:

Pobierz
 Nazwa pliku:  ScreenShot004.jpg
 Wielkość pliku:  56.5 KB
 Pobierano:  10 raz(y)


ScreenShot005.jpg
 Opis:

Pobierz
 Nazwa pliku:  ScreenShot005.jpg
 Wielkość pliku:  36.74 KB
 Pobierano:  12 raz(y)


ScreenShot007.jpg
 Opis:

Pobierz
 Nazwa pliku:  ScreenShot007.jpg
 Wielkość pliku:  16.59 KB
 Pobierano:  11 raz(y)


_________________
Inteligencja to cecha wrodzona. Mądrość się zdobywa. W połączeniu dają moc.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Numer GG Tlen
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Visual Studio Wszystkie czasy w strefie CET (Europa)
Idź do strony 1, 2  Następny
Strona 1 z 2

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.10028 sekund, zapytan = 9
contact

| Darmowe programy i porady Jelcyna | VB4all | Tansze zakupy w Helionie |