Pagine

martedì 3 maggio 2016

OS/400 - monitor query SQL da connessione ODBC esterna

Il monitoraggio dell'esecuzione di Query esterne attraverso per esempio ODBC e di facile realizzazione. In OS/400 esiste il comando STRDBMON
con il quale è possibile avviare un audit su specifici file. Per esempio, se volessi tracciare le query eseguite attraverso connessione ODBC su un file specifico dovrei monitorare i JOB QZDASOINT che sono relativi alle connessioni ODBC esterne per il file in oggetto:
[code]
STRDBMON OUTFILE(LIBRERIA/AUDITQRY) JOB(*ALL/*ALL/QZDA*) TYPE(*DETAIL) FTRFLE(LIBRERIA/FILE)
[/code]

OUTFILE: file dei risultati dell'audit

FTRFLE: filtro file

JOB: user\numero\job è possibile filtrare per questi 3 parametri, in questo caso tutti i QZDA* di ogni utente e numero job


fatto questo è possibile consultare i risultati effettuando una lettura sul OUTFILE :
[code]
select
qqtime,qvc102,qqjob,qquser,qqjnum,qq1000
  from eplastjrn.usrqry
 where qqc182='STMT0002' and qq1000 <>'' and qq1000 not like 'HARD CLOSE%'
[/code]
questa select evidenzia esclusivamente gli statement effettuati sul file sotto controllo.


Per terminare l'audit:
ENDDBMON + F4 e specificare il filtro files esattamente come nel comando STRDBMON, in questo caso *ALL/*ALL/QZDA*

mercoledì 5 agosto 2015

PYTHON - Impersonare un utente in WINDOWS

Talvolta è necessario impersonare un utente con autorizzazioni più elevate o comunque diverse rispetto l'utente che esegue lo script.
Al fine di ottenere questo risultato bisogna innanzitutto scaricare le python win32 lib dal link
http://sourceforge.net/projects/pywin32/

dopodichè è necessario utilizzare il seguente script per l'impersonalizzazione:

lunedì 20 luglio 2015

SQL SERVER - Trigger per eventi di DROP o CREATE di Databases

Tra le diverse tipologie di trigger esiste la tipologia che cattura eventi generati nell'intero server SQL.
Questa versione viene identificata con le keywords ON ALL SERVER.
Per esempio risulta molto utile per identificare la creazione o la cancellazione di Databases.
Ecco un esempio in cui gli eventi di creazione e cancellazione di database sono inseriti in una tabella per un eventuale gestione di questi eventi:

martedì 14 luglio 2015

C# - SSH.NET connessione ssh a linux

da nuget è possibile scaricare una libreria freeware per la connessione ssh. Questa è utile per esempio per lanciare comandi remoti su sistemi linux oppure otternere dati di performance dagli stessi.
Scaricata la libreria da visual studio da:
 STRUMENTI -> gestione pacchetti nuget -> gestione pacchetti nuget per la soluzione
è possibile utilizzare le sue funzionalità SSH.

lunedì 13 luglio 2015

JQUERY - Gestione Freccia laterale Top Page

Può essere utile creare una freccia a destra che consenta di ritornare al  top della pagina quando si scorre la stessa per osservare, per esempio, degli articoli in una lista.
Un esempio pratico lo si trova su ebay che, ultimamente, ha implementato questa funzionalità. Con Jquery è molto semplice gestire l'oggetto predisposto allo scopo.

C# - Sessioni Terminal Service

 Utilizzando le api della libreria di sistema Wtsapi32.dll è possibile elencare e gestire le sessioni aperte in un server Windows sia locale che remoto.
Il prerequisito è ovviamente che l'utente abbia garantito l'accesso a quel server, in caso contrario sarebbe necessario avviare le api impersonando un utente che abbia
le autorizzazioni necessarie ad accedere al server remoto.
Le funzioni principali  (e come si integrano un C#) sono le seguenti:

JAVASCRIPT - Call WebService con AJAX

Il metodo più veloce e comprensibile per effettuare richieste ad un WebService è l’utilizzo di AJAX implementato in JQUERY:

[code] function Get_LPAR() { $.ajax({ type: "POST", url: " WSadmin.asmx/Get_LPAR", data: "{}", contentType: "application/json; charset=utf-8", dataType: "json", success: function (msg) { var data = (msg.d); var row = $.parseJSON(data);//trasforma in array di classi //oggetti restituiti: qui un solo oggetto di due campi $.each(row, function (key, value) { }); }, error: function (msg) { } }); [/code]