.NET Framework
Una delle impostazioni che possibile fare su un'istanza di SQL Server è quella del percorso di default in cui memorizzare file dati e logs di un nuovo database. Ho fatto diverse ricerca, ma non trovato un modo semplice per ricavare tramite T-SQL tali informazioni.
A quanto sembra se si modificano tali percorsi questi vengono memorizzati nelle chiavi di registry:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer\DefaultData
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer\DefaultLog
In caso contrario i path è quello specificato durante l'installazione per i File di dati quindi si può pensare di ricavarli dai path dei file mdf e ldf del database master.
Di seguito uno...
A volte mi capita di dover mettere mano a codice .NET 1.1 su Visual Studio 2003 e in questa versione la griglia nativa il DataGrid non era ricco di funzionalità. L'ultima richiesta che mi è arrivata è come realizzare l'autosizing delle righe per vedere completamente il contenuto delle righe le cui colonne vano su più righe. Manualment la cosa è possibiole quindi la funzionalità in effetti c'è ma non è esposta e quindi occorre utilizzare la reflection come indicato in questo link http://www.syncfusion.com/FAQ/winforms/FAQ_c44c.aspx
Di seguito la versione che ho realizzato:
Private Sub AutoSizeRows(ByVal columnStyle As System.Windows.Forms.DataGridColumnStyle)
Dim dataGrid As System.Windows.Forms.DataGrid = columnStyle.DataGridTableStyle.DataGrid
...
In questo articolo ho raccolto alcune riflessioni su come inviare mail tramite .NET Framework 1.1 e 2.0 utilizzando Exchange 2003 e Exchange 2007 analizzando le differenze relative alla gestione dell'autenticazione in .NET 1.1 e 2.0 e le modifiche apportate in Exchange 2007 rispetto a Exchange 2003.
Dopo aver configurato la replica il passo successivo è quello di automatizzare la sincronizzazione delle sottoscrizioni e per farlo vi sono vari modi come ad esempio utilizzare Windows Synchronization Manager (mobsync.exe) che permette l'impostazione della sincronizzazione all'accesso, alla chiusura, durante l'inattività o in modo pianificato.
Se però come, nel mio caso, per eseguire la sincronizzazione è necessario avviare prima una connesione VPN e chiuderla al termine la cosa si complica perchè mobsync consente di gestire la connesione automatica sono per sincronizzazioni pianificate.
Per ovviare è possibile ricorrere ad uno script di questo tipo:
SET ConnectionName="Nome Connessione RAS"
SET Publisher=NomeServerPubblicazione
SET Subscriber=NomeServerSottoscrizione
SET PublicationDB=NomeDBPubblicazione
SET SubscriptionDB=NomeDBSottoscrizione
SET Publication=NomePubblicazione
Rem Avvio connessione...
Mi era già capitato di vedere altre volte sul alcuni computer che all'apertura della Management Studio 2005 venisse visualizzata una dialog vuota, ebbene oggi mi è capitato su un computer XP SP2 appena installato su cui era stato installato il .NET Framework 2.0, l'installer 3.1, SQL Server 2005 Express with Advanced Services e al termine l'aggiornamento con Microsoft Update per installare hotfix (una novantina) e IE 7. Sul pc così configurato su cui la Management Studio 2005 non dava nessun problema è stato installato il .NET Framework 1.1 e da lì è comparsa la misteriosa dialog che non scompariva neppure...
Siccome ho dovuto mettere mano ad una rete non realizzata da me in cui di verificavano rallentamenti e problemi vari mi sono scritto un'utility basata su .NET 1.1 che eseguisse i vari comandi per controllare le impostazioni e le statistiche dire e ne catturasse l'output oltre a recuperare le statistiche IP, TCP e UDP via API. Per comodità le informazioni sono inserite in un RichTextBox ed è possibile eseguire una semplice stampa.
La versione 1.0.0.0 di tle utility la trovare al seguente link (utilizzate tasto dx salva oggetto con nome):
http://xoomer.alice.it/ermannogoletto/MyLab/CheckNet2003v1.0.0.0.zip
Nel caso sia necessario stampare un'immagine rispettando le dimensioni della stessa e posizionandola in modo preciso sulla pagina il .NET Framework offre nativamente tutto ciò che ci serve. Occorre però fare alcune considerazioni sulle unità di misura che mi annoto a mia futura memoria e per eventaule utilità di altri:
Per comodità si esprimeranno le misure dei margini che utilizzerò per posizionare l'immagine e le dimensioni della stessa in millimetri.
L'unità di misura dei margini nell'oggetto DefaultPageSettings sono espresse in centesimi di pollice.
Oltre ai magini si deve tenere conto anche...
Leggendo questo post di Corrado mi è venuto in mente un modo per formattare i valori booleani partendo dal fatto che CInt(True ) è -1 e CInt(False) è 0:
String.Format("Il valore è {0:Falso;Vero}.",CInt(booleanValue))
Per fare il preview di uno Screensaver in un oggetto container è possibile utilizzare il parametro /p dello stesso. Di seguito il codice per visualizzare uno Screensaver in una PictureBox:
Private Const ScreenSaverName As String = "ssbezier.scr"Private screenSaverProcess As System.Diagnostics.Process
Dim startInfo As New System.Diagnostics.ProcessStartInfostartInfo.Arguments = "/p " & Me.PictureBox1.Handle.ToString()startInfo.FileName = ScreenSaverNamestartInfo.UseShellExecute = FalsescreenSaverProcess = System.Diagnostics.Process.Start(startInfo)
Per arrestare la visualizzazione dello Screensaver basterà terminare il processo:screenSaverProcess.Kill()screenSaverProcess.Close()screenSaverProcess.Dispose()
Voglio segnalare, anche se con estremo ritardo, questo spendido sito nato dalla collaborazione di un cuneese (Ugo Silato) e di un napoletano (Marco Siniscalco) che si propone di supportare chi vuole iniziare a lavorare con .NET.
Quindi per quanti hanno in mente qualche articolo base sulla tecnologia .NET, ma non sapendo dove pubblicarlo hanno messo nel casetto l'iniziativa adesso non ci sono più scuse per nessuno (me compreso).
Full .NET Framework Archive