Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
.NET Framework
Comando OSQL con c#
lunedì 22 settembre 2008 - 23.41
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
kintaro
Profilo
| Junior Member
78
messaggi | Data Invio:
lun 22 set 2008 - 23:41
ciao a tutti premetto che sono novello del forum e non sono un grande esperto nel c#
la mia domanda è questa :
ho uno script SQL che mi viene generato dalla mia windos form (non lo eseguo direttamente con sul db con un sqlcommand per avere controllo prima di modificare la produzione) vorrei quindi eseguire lo script sempre dal mio pgm utilizzando un comando osql
avevo pensato di utilizzare la classe System.Diagnostic.Process.start ma mi sembra di aver capito che qst classe esegue solo cd o eseguibili
qualcuno può illuminarmi??
grazie in anticipo
Fabio
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 23 set 2008 - 01:12
>ciao
ciao!
>
>la mia domanda è questa :
>
>ho uno script SQL che mi viene generato dalla mia windos form
>(non lo eseguo direttamente con sul db con un sqlcommand per
>avere controllo prima di modificare la produzione) vorrei quindi
>eseguire lo script sempre dal mio pgm utilizzando un comando
>osql
Potresti spiegarti meglio? non vedo l'utilità di osql..
>grazie in anticipo
di nulla!
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
kintaro
Profilo
| Junior Member
78
messaggi | Data Invio:
mer 24 set 2008 - 00:15
Spiego meglio il mio dilemma...
io per fare il passaggio in produzione dopo aver certificato lo script che mi mandano lo devo eseguire per circa 500 db uguali per struttura e nomi degli oggetti
io per fare questo utulizzo i comandi OSQL.
quindi metto la mia riga comando dentro un eseguibile (.bat) ci metto tutti i paramentri che voglio e con dippio click ho un risultato eccellente.
siccome ho fatto un applicazione per la gestione dei db davvero efficente e permetterebbe di far il mio lavoro anche ai miei colleghi senza compromettere la basedati e evitando gli errori dettati dalla manualità avrei bisogno di eseguire quella riga comando anziche dentro il codice c#
in questo modo posso ricreare il mio comando osql dimanicamente a seconda del server a seconda del tipo di query che sto per eseguire (ma qst è un altra storia)
l'alternativa che fa veramente schifo che sono stato in grado di fare è qst:
ho una classe che attraverso lo streamwriter mi crea il file .bat e ci scrive dentro la riga di comando.
poi attraverso la System.Diagnostic.Process.Start eseguo il mio file bat ...
ma lo considero un accrocco!!!
qualcuno, sperando di essermi spiegato mi può dare una mano??
grazie
ciao
Fabio
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
sab 11 ott 2008 - 01:12
>qualcuno, sperando di essermi spiegato mi può dare una mano??
che versione di sql server hai e che edizione?
perchè coi nuovi strumenti, tipo PowerShell o SMO secondo me puoi fare qualcosa..
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
kintaro
Profilo
| Junior Member
78
messaggi | Data Invio:
sab 11 ott 2008 - 20:19
che ritardo nella risposta!! :)
il progetto è statp consegnato.
le basi dati che gestisco sono differenti anche per la versione di SQL server utilizzo sia la 2000 che la 2005.
siccome sono basi dati di produzione ed ogni script deve essere ripetuto per N volte per qnt sono i db mi serviva uno script che mi permettesse più controllo possibile prima di essere eseguito visto che c'erano anche delle variabili che venivano passate da XML.
era importante ricevere attraverso email la risposta della query, con i metodi c# non mi era possibile questo visto che a seconda del tipo di query o script che eseguo ho un tipo di risposta, con i comandi OSQL riesco a catturare tt le risposte della query\script che mando al server.
sarebbe stato piu facile attraverso l'assembly microsoft.server.magement.smo utilizzare il mio script per eseguirlo dimamicamente su ogni db, ma incontravo il problema della risposta e del 2000 che non era compatibile.
alla fine ho fatto l'accrocco: creo lo script, creo un .bat con un comando OSQL dove gli dico dove ho messo lo stesso script, creo il LOG con il mio .bat lo invio su mail e poi prendo tutti i file creati e li cancello.
non avrei voluto creare il .bat ma alla fine avevo urgenza di consegnare il tools.
il pgm funziona benissimo e le performance sono ottime, è completamente pilotabile da xml che rende possibile il suo utilizzo su qualsiasi ambiente sql server, se può servire fatemi sapere che ve l'ho spedisco!
ciao
Fabio
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
dom 12 ott 2008 - 01:41
>che ritardo nella risposta!! :)
>il progetto è statp consegnato.
Ti chiedo scusa.. mi era proprio scappato.. azz.
Però sappi che ci ho messo la buona volontà!
>alla fine ho fatto l'accrocco: creo lo script, creo un .bat con
>un comando OSQL dove gli dico dove ho messo lo stesso script,
>creo il LOG con il mio .bat lo invio su mail e poi prendo tutti
>i file creati e li cancello.
>non avrei voluto creare il .bat ma alla fine avevo urgenza di
>consegnare il tools.
>il pgm funziona benissimo e le performance sono ottime, è completamente
>pilotabile da xml che rende possibile il suo utilizzo su qualsiasi
>ambiente sql server, se può servire fatemi sapere che ve l'ho
>spedisco!
Mi fa piacere che tutto vada bene. Mi scuso ancora.
>ciao
ciao!
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !