Diskuze: problém s c# programom zdieľaným na sieti
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 11 zpráv z 11.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
nejde spustit ... takže ti to píše nějakou chybu?
Pardon,neuviedol som to...nejde spustiť
To myslím,ak z iného PC v sieti chcem spustiť moj program ci už normálne
alebo ako správca,nič sa nestane...(,nespustí sa program,nevyskoci žiadne
okno,nič )
Nenapadá mě důvod problému. Možná, kdybys uvedl více podrobností ... nebo někdo jiný bude vědět více o tomto tématu.
Nakopíroval jsi výstup na ten PC, kde se to snažíš spustit, nebo se ho
snažíš spustit jako sdílený z tvého PC?
A ta DB je klasické MSSQL s přístupem i z jiných PC nebo je "lokální" na
tvém PC?
Michal Štěpánek:
V práci máme PC - windows server 2012 ktorý používa dva zdieľané disky
pravidelne pre cca 10 zamestnancov. Program som naprogramoval na svojom PC vo
Visual Studiu s tým, že som hneď na začiatku uviedol umiestnenie všetkých
súborov na zdieľaný disk (v tomto prípade ide o G:). To isté som urobil aj
s databázou SQL. Je to klasická lokálna MSSQL databáza, no tiež jej
umiestnenie je na rovnakom zdielanom disku ako môj program. Práve s tým
zdieľaním by mohol byť problém. Včera som to skúšal na pracovnom
notebooku spustiť poobede cez sieť a vyskočila mi táto hláška (viď
obrázok). Ak odkliknem OK tak mi spustí program ale nenačíta mi data do
Gridview, teda zrejme je tam zablokovaný prístup k datam. Neviem ale teraz ako
to sprístupniť pre iných užívateľov. Keď som si pozrel SQL Configuration
Managera - Network Configuration a protokoly pre MSSQLSERVER tak mám tam
všetko enabled, vrátane TCP/IP. Fakt sa neviem v tom pohnúť.
Ďakujem za každú radu.
Chybová hláška co jsi přihodil v příloze znamená, že se nemůže spojit s SQL serverem, tzn. že na PC kde jsi to programovat máš nainstalovaný SQL server se kterým se to spojuje. Máš nejspíš connection string "server=(local)\SqlExpress;Integrated Security=true;Initial Catalog=…..", nebo nemáš povolený tcp port 1433 na firewallu.
Jak vidno úplně jsi nepochopil jak se pracuje s SQL serverem acelou
architektůru.
Na ten server nainstaluj SQL server (Express) a připoj databázi/e k němu. V
tom svém programu pak směřuj connection string na tento server.
Doporučuju si pořádně projít tutoriál databáze zde na ITN...
na port 1433 mám inbound / outbound rule vo firewall, skôr to bude problém connection string a toho že databáza bola vyrobená teda ako lokálna, vyskúšam to a dám vedieť
Nelze použít "localDB" jako soubor umístěný někde na sdíleném disku. Ke správné funkci potřebuješ mít na tom PC spuštěnou instanci SQL serveru. Ideální je, pokud máš k dispozici SQL server, vytvořit databázi a tabulky přímo na něm a udělat k němu přístup...
Nechcel som písať vopred aby som nikoho neuviedol do omylu, problém som
vyriešil. Napíšem to tu pre tých čo sa s tým v budúcnosti stretnú a
nebudú si vedieť rady:
na server som nainštaloval Microsoft SQL Server Express, s tým že som dal
administrátorské povolenia a SQL prihlásenie pre konto 'sa'. Nastavenia
tohoto konta sa robia v Object Explorery cez záložku Security/Logins. Cez toto
konto som vytvoril na novo databázu/tabuľku aj stored procedures. Uistil som
sa, že vlastník (owner databázy) je konto 'sa' a mám povolenia aj vo windows
firewall. Potom už trebalo len správne napísať Connection string, tu si
treba dať pozor, a uviesť všetko potrebné pre prihlásenie ku databáze:
@"Data Source=menoservera; Initial Catalog=databaza;User ID=sa ; Password=
heslo ku kontu sa;....
Ďakujem všetkým ktorí sa ozvali
Řešení je OK, jen bych rád uvedl, že (dle mého) není dobré používat
tohoto "usera" (sa), protože je to standardní admin uživatel
pro SQL, který má právo na VŠECHNO, takže by se ti mohlo
lehce stát, že ti v té DB někdo napáchá nenapravitelné škody.
Lepší je si vytvořit nového uživatele a dát mu jen potřebná práva na
konkrétní DB...
Zobrazeno 11 zpráv z 11.