PC Fórum
  • Kisebb betűméret
  • Eredeti betűméret
  • Nagyobb betűméret

Csatlakozás SQL szerverhez
50

2013-09-04T05:08+01:00
tervin
tervinPC Fórum
regisztrált tag
Sziasztok!
Van egy programom, amelynek adatbázisához (SQL Server Express 2008) csatlakozik, és onnan olvassa be az adatokat illetve oda menti vissza. A probléma a következő, a program tökéletesen jól működik a szerveren (Windows Server 2008 R2 fut rajta), azonban egyik kliens gépen sem indul el (Win7, XP), nem tud csatlakozni az SQL szerverhez, a program olyan hibát dob, hogy nem találja az adatbázist. Mi okozhatja a hibát?
Minden segítséget előre is köszönök!
Mutasd a teljes hozzászólást!
Csatlakozás SQL szerverhez
2013-09-04T05:08+01:00
tervin
tervinPC Fórum
regisztrált tag
Ne kapkodj, az nem fogja megoldani a problémát.

Felesleges újratelepíteni. Megfelelően kell beállítani, ennyi.

Amennyiben az itteni lista összes beállítását végrehajtottad (ellenőrizd duplán! és ne felejtsd el, hogy egyes beállítások a szerver újraindítását követelik meg), tűzfal problémád lesz.

Tesztként megpróbálhatnád kikapcsolni a tűzfalat, hogy úgy működik-e.

Ha működik, lehet játszani a beállításokkal.

Én SQL Server esetén nem a portokat szoktam engedélyezni, hanem a megfelelő programokat szoktam hozzáadni a tűzfalhoz, mint kivétel (Windows Firewall -> Exceptions -> Add Program...).

Szükség van az SQLBrowser-re (sqlbrowser.exe) és a szerverre (sqlservr.exe) is.

Példa, hogy kb. hol keresd:

C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe
C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\Binn\sqlservr.exe

De ezek az elérési utak telepítéstől és verziótól függően eltérhetnek. Keress rá a file-okra.

Itt van egyébként a részletes doksi az MSSQL tűzfal konfigurációjáról.

Összefoglalva: mindenképpen azt javaslom, hogy teszteld tűzfal nélkül, és ha működik, akkor állj neki konfigurálni a tűzfalat.

--------------

Még annyit hozzátennék, hogy a biztonságnak nem tesz jót, ha a kliens programod az
sa
admin felhasználó nevében csatlakozik az adatbázishoz.

Célszerű lenne egy korlátozott user-t létrehozni, amely csak a feltétlenül szükséges jogokkal bír, és azt használni.

De ez független a csatlakozási problémádtól.
Mutasd a teljes hozzászólást!

Elég sok mindent át kell állítani, hogy működjön külső csatlakozással.

Itt egy lista.

Ezen kívül természetesen a tűzfalon is engedélyezni kell.
Mutasd a teljes hozzászólást!
Újratelepítettem, beállítottam mindent amit kell, de egyszerűen nem elérhető az SQL szerver szolgáltatásai...
Próbálkoztam azzal is hogy local service-ről network service-re állítgattam, de azzal se jött össze. Lehet nem jó a név, amit megadok, a szervernél ez a: "szervergép_neve\sqlszerver_neve", és így a működik, de a kliensgépeken nem.
Van vmi ötleted, tapasztalatod?
Mutasd a teljes hozzászólást!
Ezeket is megtetted?..(Connect to Server)

1.You need to enable the listener on port 1433 in the SQL Server Configuration Manager control panel.

2.Enable the "sa" user. It's disabled by default after the install.

3.Set a password on the "sa" user.

4.Enable SQL Authentication + NT Authentication mode.

5.Make sure the Windows firewall isn't blocking port 1433.

6.Try the default instance name instead of SQLEXPRESS.

7.Make sure the remote connection is using TCP/1433.
Mutasd a teljes hozzászólást!
Igen, az sa userem van, gyakorlatilag csak azzal működik a szerveren a progi, a windowsos usereknél érvénytelen felhasználó vagy jelszót ír, a kliens gépeken meg összeomlik a progi, és kiírja, hogy nem tud csatlakozni az adatbázishoz.
Az 1433-as portot nem találom, hol tudnám beállítani, hogy ne blokkolja a tűzfal. Találtam vmi hasonló cikket, ahol a kliensgépen a következő parancsot kellett beütni:
"telnet DesktopNameOrIPAddress 1433" de nem tudott csatlakozni.
Ezeket hol tudom beállítani?
Előre is köszönöm!
Mutasd a teljes hozzászólást!
Kiírattam a hibát, amikor csatlakozni próbáltam, a következő hibaüzenetet dobta:

"System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)..."

Továbbra sem értem mi a búbánat van...
Mutasd a teljes hozzászólást!
Ne kapkodj, az nem fogja megoldani a problémát.

Felesleges újratelepíteni. Megfelelően kell beállítani, ennyi.

Amennyiben az itteni lista összes beállítását végrehajtottad (ellenőrizd duplán! és ne felejtsd el, hogy egyes beállítások a szerver újraindítását követelik meg), tűzfal problémád lesz.

Tesztként megpróbálhatnád kikapcsolni a tűzfalat, hogy úgy működik-e.

Ha működik, lehet játszani a beállításokkal.

Én SQL Server esetén nem a portokat szoktam engedélyezni, hanem a megfelelő programokat szoktam hozzáadni a tűzfalhoz, mint kivétel (Windows Firewall -> Exceptions -> Add Program...).

Szükség van az SQLBrowser-re (sqlbrowser.exe) és a szerverre (sqlservr.exe) is.

Példa, hogy kb. hol keresd:

C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe
C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\Binn\sqlservr.exe

De ezek az elérési utak telepítéstől és verziótól függően eltérhetnek. Keress rá a file-okra.

Itt van egyébként a részletes doksi az MSSQL tűzfal konfigurációjáról.

Összefoglalva: mindenképpen azt javaslom, hogy teszteld tűzfal nélkül, és ha működik, akkor állj neki konfigurálni a tűzfalat.

--------------

Még annyit hozzátennék, hogy a biztonságnak nem tesz jót, ha a kliens programod az
sa
admin felhasználó nevében csatlakozik az adatbázishoz.

Célszerű lenne egy korlátozott user-t létrehozni, amely csak a feltétlenül szükséges jogokkal bír, és azt használni.

De ez független a csatlakozási problémádtól.
Mutasd a teljes hozzászólást!
Valóban tűzfal probléma volt. Kikapcsoltam, máris minden működött.
Most majd visszakapcsolom, de berakom az SQL szervert a kivételek közé.
Nagyon szépen köszönöm!!!
Mutasd a teljes hozzászólást!