| Zobacz poprzedni temat :: Zobacz następny temat |
| Autor |
Wiadomość |
gaclaw Gość
|
Wysłany: Sob Lis 05, 2011 12:31 pm Temat postu: [VB2010]Zdalne podłączenie do bazy SQL - LAN |
|
|
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
|
Wysłany: Sob Lis 05, 2011 1:05 pm Temat postu: |
|
|
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 |
|
 |
gaclaw Gość
|
Wysłany: Sob Lis 05, 2011 1:38 pm Temat postu: |
|
|
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
|
Wysłany: Sob Lis 05, 2011 1:44 pm Temat postu: |
|
|
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 |
|
 |
gaclaw Gość
|
Wysłany: Sob Lis 05, 2011 2:00 pm Temat postu: |
|
|
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
|
Wysłany: Pią Lis 11, 2011 5:04 pm Temat postu: |
|
|
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 |
|
 |
gaclaw Gość
|
Wysłany: Nie Lis 13, 2011 3:53 pm Temat postu: |
|
|
| Dziękuję :) lata jak rakieta
|
|
| Powrót do góry |
|
 |
gaculu

Dołączył: 10 Sty 2011 Posty: 29 Skąd: Gostynin
|
|
| Powrót do góry |
|
 |
Przemuss
Dołączył: 09 Sie 2008 Posty: 669 Skąd: Żyrardów
|
Wysłany: Pią Lut 10, 2012 2:20 pm Temat postu: |
|
|
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 |
|
 |
gaculu

Dołączył: 10 Sty 2011 Posty: 29 Skąd: Gostynin
|
Wysłany: Pią Lut 10, 2012 6:57 pm Temat postu: |
|
|
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
| Opis: |
|
 Pobierz |
| Nazwa pliku: |
ScreenShot001.jpg |
| Wielkość pliku: |
33.66 KB |
| Pobierano: |
13 raz(y) |
| Opis: |
|
 Pobierz |
| Nazwa pliku: |
ScreenShot002.jpg |
| Wielkość pliku: |
45.48 KB |
| Pobierano: |
11 raz(y) |
| Opis: |
|
 Pobierz |
| Nazwa pliku: |
ScreenShot003.jpg |
| Wielkość pliku: |
54.38 KB |
| Pobierano: |
10 raz(y) |
| Opis: |
|
 Pobierz |
| Nazwa pliku: |
ScreenShot004.jpg |
| Wielkość pliku: |
56.5 KB |
| Pobierano: |
10 raz(y) |
| Opis: |
|
 Pobierz |
| Nazwa pliku: |
ScreenShot005.jpg |
| Wielkość pliku: |
36.74 KB |
| Pobierano: |
12 raz(y) |
| 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 |
|
 |
|