2.410 messaggi dal 13 febbraio 2003
Contributi
taccio ha scritto:
Se è per questo su sql server 2005 hanno disabilitato anche il clr che anchesso può fare innumerevoli danni, però si sono sforzati un tantinello per supportarne l'integrazione... della serie microsoft agli utenti lo disabilita così che se lo vuoi realmente usare lo riabiliti.


l'utilizzo del CLR ha diversi vantaggi e va utilizzato, come tutto del resto con criterio, vi sono contensti dove è indispensabile ma da qui ad usarlo o peggio abusarne ce ne passa.

Difatti l'utilizzo va visto nel contesto TSQL e non come sostituto pertanto l'inserimento di dati va fatto sempre tramite un INSERT e non tramite CLR

Il terrore che molti dba e sistemisti hanno e che molti sviluppatori utilizzino queste tecnologie per colmare le loro lacune.

Facciamo un esempio pratico:
quanti ancora oggi nel 2007 usano il metodo AddNew per aggiungere dati a un recordset quando basterebbe richiamare una stored procedure parametrica d'inserimento??

inoltre di default sono state disattivate innumerevoli altre funzioni.


Hai letto bene il motivo della scelta??
Per diminuire la superficie di attacco, si torna sempre al discorso se installo MSSQL sul mio computer di casa, lavoro e sviluppo come utente administrator con security ntfs everyone full control allora non ha senso avere queste restrizioni.
Ma esistono situazioni un po' più complesse dove è bene che i dati custoditi nel database non siano accessibili a tutti ed inoltre c'è un piccolissimo particolare, ovvero nella stragrande maggioranza dei casi il server MSSQL è diverso da quello web e quindi xp_cmdshell non servirebbe a nulla.

in merito alla faccenda della modifica del service pack 3 beh io tuttora non credo sia necessario impedire il lancio di dtsrun per import / export o altre menate, e dunque pur non dando privilegi di sysadmin tramite exchamotage avevo riattivato il mio bravo xp_cmdshell. Poi cambiati gli scenari da 4 mesi circa non avendo più necessità ho fatto retromarcia.


scusa ma non vedo comunque la necessita di usare xp_cmdshell per lanciare un dts, ti basta usare sp_start_job e quindi usare MSSQL Agent e relativi job

con estremo rispetto per le vostre opinioni, che sicuramente saranno più corrette delle mie (dati i riconoscimenti MVP che avete), a prescindere dalla soluzione della intranet che deve implementare il nostro amico, non credo sia assolutamente deprecabile l'uso di strumenti potenzialmente molto dannosi se ben controllati e protetti e sicuramente in sqlserver 2005 non avrei usato xp_cmdshell ma il clr disattivato da mamma microsoft ma caldamente consigliato dalla stessa anche a sostituzione di normale Transact-Sql
http://msdn2.microsoft.com/en-us/library/ms345147.aspx

la mia è solo un opinione che spero non abbia reso in maniera arrogante dato che rispetto sinceramente le opinioni degli altri anche se differiscono dalle mie.


Aspe aspe nell'articolo da te citato non è caldamente consigliata la sostituzione di TSQL con l'uso del CLR ed questo è esattamente il messaggio che sistemisti e dba NON vogliono a giusta ragione che passi

Ti riporto un passaggio del documento da te citato "Transact-SQL is best for situations in which the code will primarily perform data access with little or no procedural logic. "

Pertanto per tutte le operazioni di gestione dati INSERT, UPDATE e DELETE si deve continuare ad usare TSQL mentre va utilizzata l'integrazione del CLR ad esempio per creare Custom UDF ma qui poi arriviamo a toccare anche problematiche di architettura dove sarà necessario valutare dove implementare la funzione se lato rdbms o lato applicativo

Concludendo in quanto stiamo andando parecchio fuori dal topic iniziale innovazione del CLR è un ottima cosa ma va vista ed usata come aggiunta a TSQL e non in sostituzione dello stesso
426 messaggi dal 17 aprile 2006
Concordo con il 95% delle cose che hai scritto.
il problema di un forum è che probabilmente chi ci scrive dovrebbe imparare prima a comunicare (in questo caso io  )dato che il messaggio veicolato non è assolutamente quello che purtroppo ti ho fornito.
ergo:
CLR ha diversi vantaggi e va utilizzato, come tutto del resto con criterio

giustissimo.
Va visto nel contesto TSQL e non come sostituto pertanto l'inserimento di dati va fatto sempre tramite un INSERT e non tramite CLR

sacrosanto.
Hai letto bene il motivo della scelta??

si anche se qui non capisco sinceramente dove nelle mie parole abbia sostenuto il contrario.
Ma esistono situazioni un po' più complesse dove è bene che i dati custoditi nel database non siano accessibili a tutti ed inoltre c'è un piccolissimo particolare, ovvero nella stragrande maggioranza dei casi il server MSSQL è diverso da quello web e quindi xp_cmdshell non servirebbe a nulla

ecco, questo è l'unico punto dove non concordo. xp_cmdshell non vedo perchè debba essere sul web server per poter essere usato, anzi se fosse sul web server non ne troverei l'utilità dato che di solito non a fare un bel ciufolo.
in Airone mi è servito per lanciare in maniera sincrona alcune operazioni e per importare in dati momenti (a richiesta in funzioni di eventi specifici) dati da universi differenti che sarebbe complesso spiegare.. ad ogni modo relazionando ed ottenendo l'ok dai dba AirOne vista la delicatezza di alcune operazioni. poi la Iata ha cambiato determinate regole e si è fatto retromarch. stai pur tranquillo che se non fosse stato indispensabile i dba non me lo avrebbero consentito, ma questa è un'altra storia...
non è caldamente consigliata la sostituzione di TSQL con l'uso del CLR
chiaramente non in toto anzi chiaramente solo in determinate condizioni e sicuramente non per insert detele etc etc.
altro mio difetto di comunicazione... che ti ha fatto sprecare tutto questo tempo per correggere il tiro di un messaggio veicolato male da me ed oltremodo fuorviante a questo punto.
ergo scusate il difetto di comunicazione e forse sarebbe meglio dar retta al mio nick (taccio)

Ciao Alessandro
2.410 messaggi dal 13 febbraio 2003
Contributi
ecco, questo è l'unico punto dove non concordo. xp_cmdshell non vedo perchè debba essere sul web server per poter essere usato, anzi se fosse sul web server non ne troverei l'utilità dato che di solito non a fare un bel ciufolo.


stiamo parlando di 2 cose diverse, mi riferivo alla soluzione proposta al topic di new di usare xp_cmdshell per lanciare l'eseguibile da pagina web e quindi va da se che per poter usare xp_cmdshell è necessario che server sql e server web siano sulla stessa macchina.

L'utilizzo di xp_cmdshell in ambito dba non mi piace a prescindere, ma ricordati che sono un ferrista=sistemista e quindi ho una visione diversa da un dev  , effettivamente in molti ambiti è utile e soprattutto fa risparmiare un sacco di tempo ovviamente non lo lascerei attivo su un database di produzione
141 messaggi dal 01 marzo 2002
Ho scatenato un putiferio di dimensioni inaspettate :)

Rispondo solo ora scusate ma nn ho sempre accesso a internet
(e visto che sono l'unico sviluppatore web della ditta la cosa la dice lunga....)

Rispondo e colmo alcune lacune del topic iniziale

x itHost

Comunque tornando a al problema iniziale visto che parliamo di intranet non capisco a cosa serva lanciare un eseguibile da web quando basterebbe fare 2 click su un collegamento sul desktop


la cosa purtroppo non è cosi semplice, il programma che sto sviluppando all'interno dell'azienda va si in intranet in genere, ma ci sono molti casi (ultimamente sempre frequenti) che viene pubblicato anke all'asterno, o l'intranet è una rete molto complessa che si estende su diversi edifici posti anche a diversi isolati di distanza (nn mi chiedete come; nn so assolutamente niente di reti..ed è una lacuna che devo colmare) quindi sql server sta da una parte....server web...da un altra..


nostromo

per rispondere alla provocazione di ithost, i developer sono pagati per rendere difficile le cose facili, te pensa che adesso sto "inviluppando" un applicazione

sono i capi che rendono le cose difficili ai programmatori

Cmq ritornando a noi, ho parlato con l'amministratore di rete; sql è praticamente blindatissimo nn mi fanno fare niente da li.

Per il servizio windows proposto :
ho già sviluppato servizi per altre esigenze....il servizio dovrebbe girare continuamente
per ricevere le richieste...io volevo (se possibile) evitare questo..

Ma penso che nn sia possibile evitare sta cosa a questo punto.

sono i capi che rendono le cose difficili ai programmatori


te pensa quando il programmatore è capo di se stesso :D che casini escono fuori.

comunque alla fine se configuri il servizio per girare il background di risorse ne usa pochissime davvero, e poi ti liberi dal problema del reciclo dell'appdomain

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.