PDA

Pogčedajte punu verziju : C# Desktop aplikacija i problem povezivanja sa sql bazom


draskom
28. 06. 2011., 23:18
Nov sam u Microsoft razvojnim okruzenjima pa ce ovo izgledati kao pocetnicki problem, ali sta je tu je, ne mogu da ga resim vec ceo dan, a Google resenja ne pomazu.

Napravio sam malu C# aplikaciju i VS 2008 koja se povezuje sa SQL Server 2005 i radi neke osnovne operacije sa bazom. Na racunaru gde imam instalirane alate, konkretno Visual Studio 2008 i SQL Server 2005 sve radi bez problema. Problem se javlja kada tu istu aplikaciju kopiram na neki drugi racunar gde nemam te alate i na kojima je instaliran .NET Framework 3.5.

Greska koju dobijam je:

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: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

Ono sto mogu da procitam je da ne moze da ostvari konekciju sa SQL Serverom, ali poprilicno mi je nelogicno da moram da instaliram i ceo SQL Server zajedno sa aplikacijom. Koliko mogu da se setim stiva sa fakulteta, ovakve stvari su radile bez problema sa Access bazom.

Nije problem do putanje, jer sam probao sve moguce varijante, cak sam kompalirao da sve bude na C: i problem i dalje postoji.

Da li je mozda potrebno da se instalira jos neki dodatak pored .NET Framework-a?

Molim za pomoc,
Hvala

webarto
29. 06. 2011., 00:14
Treba ti onaj možda onaj connector za SQL server kako se već zove zaboravio sam...

Gruja
29. 06. 2011., 00:14
Pošto kažeš da si početnik krenuću od najjednostavnije stvari. Program koji radi sa SQL servom ne može samo tako da se iskopira i da radi bez baze. SQL server mora da bude podignut negde (obično je to dedicated mašina), i tvoj program se kači na taj server da bi mogao bilo šta da radi sa bazom. Ako hoćeš da imaš odvojenu bazu na svakoj mašini na kojoj imaš tvoj program, onda naravno moraš i SQL Server da instaliraš svuda. Imaš Express varijantu koja je besplatna, ali tu je podešavanje, accounti, kreiranje baze itd. i uglavnom se ne radi tako. Ovo što pričam su osnovne stvari pa se izvinjavam ako pričam nešto što je očigledno, samo mi se iz tvog pitanja čini da nisi baš upoznat sa SQL Serverom - daleko je to od Accessa.

Bojan Zivanovic
29. 06. 2011., 00:16
Ne radim sa Microsoft tehnologijama, ali možda da probaš http://www.microsoft.com/sqlserver/2008/en/us/compact.aspx

Baza je ili instalirana na računaru na koji stavljaš aplikaciju ili dolazi sa aplikacijom, nema treće opcije. Access ostavi na fakultetu.

pravo_u_raj
29. 06. 2011., 00:31
Jedan od mogucih problema je to sto SQL kada se installira po defaultu ne dozvoljava konekcije van lokalnog racunara. U SQL 2005 to je Surface Area Configuration for Services and Connectons pa pod Database engine - Remote connectin. Verovatno stoji Local connection only, a odabrati Local and remote connection. Druga varijanta, ako je ovo vec enableovano, je da ako je connection string u aplikaciji da on gadja (local), a ne adresu servera i/ili da pristupa sa Windows autentifikacijom, umesto SQL autentifikacije.

draskom
29. 06. 2011., 01:55
Sada mi je jasno gde je problem i ne bi da dalje komplikujem sa SQL Serverom. Odlucio sam da implementiram SQLite i posto nema mnogo coda koji radi sa bazom verujem da ce mi biti dovoljno sat - dva da sve to prepravim.

Hvala svima na odgovorima.

Dragi Tata
29. 06. 2011., 15:50
SQLite је сасвим ОК, али пошто си већ кодирао за MSSQL, мислим да ти је боље решење Microsoft SQL Server Compact (SQL CE).

avox
25. 07. 2011., 09:42
Ako sa dobro shvatio ti si hteo da napravis aplikaciju koja ce da radi sa sql bazom u lokalu? Ako je tako onda moras da instaliras sql server na tu masinu. Pomenuo si access bazu, i u pravu si. Za nju ti ne treba neki dodatni server, ali zato sto je taj server vec na windowsu. Ovo nije slucaj sa SQL bazom i zato ti treba na toj masini. Microsoft ima besplatnu varijantu ovog servera, ali sa nekim ogranicenjima. SQL Server express (http://www.microsoft.com/sqlserver/en/us/editions/express.aspx) Download i detaljnije informacije na linku.