Polaczenie z baza danych C#.Net

0

Witam
Mam problem z polaczeniem sie z serverem jakimkolwiek (nie lokalnie). Programuje w VS .Net c#
i nie wiem czemu ale cos mi nie wychodzi. Oto klika linijek kodu:

using System;
using System.Data;
using System.Data.SqlClient;

//User ID=nazwa uzytkownika
//Initial Catalog= ????
//Data Source=nazwa severu

string sConnectionString = "User ID=xxx;Initial Catalog=xxx;Data Source=xxx";
SqlConnection objConn = new SqlConnection(sConnectionString);
objConn.Open();

string sSQL = "SELECT idproduktu " +
	          "FROM Produkty WHERE idpodkategori = 2";  

SqlCommand objCmd = new SqlCommand(sSQL,objConn);

			try
			{
				objCmd.ExecuteNonQuery();
			}
			catch (System.Exception e)
			{
				Console.WriteLine(e.Message);
			}
			Console.WriteLine("Rekord został dodany");
		}

Nie wiem nawet co to Initial Catalog i do czego to sluzy i czy musi byc?. Zastanawiam sie tez czy zeby sie polaczyc musi byc zainstalowany sql2000.msi?
oraz czy w programie musza byc jakies pliki *.dll potrzebne do polaczenia, noi czy program moze byc w dowolnym miejscu czy na serverze zeby to polaczenie uzyskac. .Wiem ze to glupie pytanie ale inaczej to wygladalo w php. Noi jeszcze czy USER ID itd.. tu maja byc dane bezposredniego dostepu do bazy danych czy dane ftp?
Bede wdzieczny za pomoc

0

Data Source to nazwa serwera (np. localhost albo IP), initial catalog to nazwa bazy. Jak podajesz userID (nazwe uzytkownika w bazie) to pewnie potrzebne bedzie tez password. Jezeli laczysz sie z baza za pomoca autentykacji windows to dajesz 'integrated security=sspi' - wtedy nie trzeba oczywiscie podawac uzytkownika i hasla. Sprawdz, czy metoda Open() SqlConnection rzuca jakims wyjatkiem.

pozdrawiam
johny

0

Dodalem Password oraz Initial Catalog ale nadal to samo. Program sie kompiluje jednak po pewnej probie polaczenia wyzuca blad tego typu:

An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in system.data.dll

Additional information: System error.

Moze aby sie polaczyc musze zainstalowac dodatkowe biblioteki msdn lub ten pliczek sql2000.msi?. Tak na marginesie uzywam visual studio .net wer.2003.

0

Jak na moj gust wystarczy, ze serwer dziala na danym kompie i tyle. Chyba, ze na innym niz standardowo porcie, ale to sie chyba rzadko zdarza. Zakladam, ze normalnie mozesz sie z serwerem polaczyc za pomoca innej aplikacji? Moze telnetem wytestuj, czy sie mozesz polaczyc na porcie mssql'a, tak dla pewnosci.

pozdrawiam
johny

0

Dalej nie moge sobie poradzic z polaczeniem, probowalem przez telnet tak jak mowiles ale tez nie wychozi, nie wiem c ozle robie:
wpisuje telnet -l uzytkownik localhost 23 . Probowalem sie polaczyc z lokana baza ale to samo, nie moge sie polaczyc.

0
krisOne napisał(a)

Dalej nie moge sobie poradzic z polaczeniem, probowalem przez telnet tak jak mowiles ale tez nie wychozi, nie wiem c ozle robie:
wpisuje telnet -l uzytkownik localhost 23 . Probowalem sie polaczyc z lokana baza ale to samo, nie moge sie polaczyc.

Nie, nie o to mi chodzilo. Chcialem, zebys telnetem sprawdzil czy sie mozesz polaczyc z usluga mssql'a. Standardowo chodzi na porcie 1433, wiec 'telnet nazwa_kompa 1433'. Nie wiem czy masz na localhoscie, czy gdzies w sieci. Jesli w sieci to moze firewall wlaczony?

edit
Oczywiscie jesli telnet nie wyswietli zadnego komunikatu, tylko wyczysci sie ekran w cmd to usluga dziala.

pozdrawiam
johny

0

Oki, juz sobie poradzilem, problemem bylo to ze laczylem sie za pomoca sql a localhost udostepnia mysql tak samo server na ktorym mam swoje konto. Udalo sie polaczyc lokalnie a ze swoim serverem dalej nie moge jednak poki co dzialam na localhoscie, a pozniej to zmienie jak mi sie uda polaczyc z serverem zewnetrznym. Nie uzywam zadnych fireboli. Dzieki za cenne podpowiedzi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1