» »

[C#] Pravice za spreminjanje in restore baze

[C#] Pravice za spreminjanje in restore baze

nuclear ::

Zdravo. Zanima me, kakšne pravice je potrebno nastaviti, da ima aplikacija pravico programsko recimo spremeniti Web.config ali pa restorat podatkovno bazo iz backupa programsko.

Zadeva na razvojni mašini deluje BP, zdaj sem dal na strežnik kjer mamo strani gor, in stvar se ne izvede.

Problem pa je da ne morem catchat exceptiona, ker je metoda WebMethode in uporabljam jQuery.Ajax() za izvedbo posta, z firebugom pa mi nikakor ne uspe pridobit errora, oziroma sploh mi ni jasno kako firebug uporabit.

Sem si postavil breakpointe, ampak ni nobenih vrednosti nikol.

Če ma kdo kako idejo :)

lp
Asus G14 2023 - Ryzen 7940HS - 32GB DDR5 - GeForce RTX 4080 - 990 PRO 4TB

nightrage ::

Ubistvu lahko debuggiraš na remote (poglej si malo remote debugging), poleg tega pa tudi če je metoda WebMethod (sklepam, da imaš kakšen web servis), lahko catch-aš exception. Pač na catch exception zašišeš v datoteko.

nuclear ::

Problem je ker imam express verzijo :( In me to zdej ubija, moram druge poti za rešitev najti. Zlo zlo zlo zabito.

WebMethod uporabljam zaradi ajaxa, da lahko proži POST(jQuery.Ajax()) v povezavi z asp.net metodami.

Recimo čisto osnovni primer:

WebMethode:
        /* preverjanje polnosti gesla */
        [System.Web.Services.WebMethod]
        public static string preveriGeslo(string geslo)
        {

            string returnValue = string.Empty;

            try
            {

                if (geslo.equals(!String.isEmptyOrNull())
                {
                    returnValue = "true";

                }
                else if (geslo.equals(String.isEmptyOrNull())
                {
                    returnValue = "prazen";
                }
            }

            catch
            {

                returnValue = "error";

            }
            return returnValue;
        }


ajax post
function preveriGeslo() {

            jQuery.ajax({

                type: "POST",

                url: "Default.aspx/preveriGeslo",

                data: '{geslo: "' + jQuery("#<%=txtPassword.ClientID%>").val() + '" }',

                contentType: "application/json; charset=utf-8",

                dataType: "json",

                success: OnSuccessGeslo,

                failure: function(response) {

                    alert(response);

                }

            });

        }


Aha torej daš pri catch da zapiše v fajl. Ker sem recimo sprobaval z kakim alertom od JS prikazat exception in ni nič vrglo ven. To je bol laikovsko blo ampak.. Zato sprašujem.

Mam še eno dilemo, ki me zanima.

App mam na IP.18, bazo na IP.17 . Mam backup, da restoram bazo in me zanima, če dam backup na IP.17 kjer so baze, bo metoda restore() v app, ki je na IP.18 vzela tisti path na tem IP.17 strežniku? Zlo sm zmeden tule. Bazo ustvari, restora pa ne, ker verjetno ne najde fajla na IP.17, ravno zrat nezmožnosti debuganja sploh ne morm vedet.
Asus G14 2023 - Ryzen 7940HS - 32GB DDR5 - GeForce RTX 4080 - 990 PRO 4TB

Zgodovina sprememb…

  • spremenil: nuclear ()

nightrage ::

Evo to je ekvivalent tvoji funkciji z manj in bolj pregledne kode. Pri web servisu na metodi pač throwaš exception, ki ga potem v Default.aspx
uloviš in ga podaš naprej ajax klicu.

Drugi problem nisem ravno razumel, mislim pa da govoriš o connection stringu, ki ga aplikacija naredi v app.config datoteki. Pač v connection stringu
nastaviš pot do željenega strežnika in podatkovne baze.

[System.Web.Services.WebMethod]
public static bool preveriGeslo(string geslo)
{  
    try
    {
         if (!string.IsNullOrEmpty(geslo))
             return true;

         return false;
    } 
    catch (Exception ex)
    { 
       //Logger.LogException(ex); -> logerja moraš napisat sam, da ti beleži v bazo al pa v txt datoteko
       throw new Exception("Napaka pri preverjanju gesla"); 
    }    
}

Zgodovina sprememb…

nuclear ::

Throw new exception.. Si sigurn, da bo to kej izpisal na strani?

throw new Exception(ex.Message);

Sem že sprobaval te finte, in ne prikaže napake nobene na vrhu strani..

Ne morm zdej sprobat, ker nisem na developer mašini.
Asus G14 2023 - Ryzen 7940HS - 32GB DDR5 - GeForce RTX 4080 - 990 PRO 4TB

nuclear ::

No v glavnem, če bo komu pomagalo.
Za delo z bazo brez SMO dlljev ne bo šlo programsko.

Je blo z muko odpravljeno, ker ni možnosti remote debuggerja, vendar pa, če bodo zezali kakšni permissioni probajte disablati UAC na strežniku, dodat impersonate v web.config...
Asus G14 2023 - Ryzen 7940HS - 32GB DDR5 - GeForce RTX 4080 - 990 PRO 4TB


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[JAVA] HTTPS client

Oddelek: Programiranje
173184 (1914) peterv6i
»

[Java] Urejanje baze z JTable

Oddelek: Programiranje
81020 (804) vonNeumann
»

Masterpage in jQuery(ajax call)

Oddelek: Programiranje
61361 (1189) hatchette
»

[c# ASP.net Web Services] There is an error downloading XML document.

Oddelek: Programiranje
91170 (1138) 64202
»

read integer v javi

Oddelek: Programiranje
91384 (1285) kopernik

Več podobnih tem