ADO .NET & SQL
Alzi la mano chi non ha mai inserito in Google un messaggio di errore di .NET, alla ricerca di una spiegazione del problema: così facendo, infatti, spesso possiamo trovare descrizioni dettagliate, con precise indicazioni su come risolvere l'inghippo. Tuttavia, se utilizziamo una versione localizzata del Framework .NET (oppure se installiamo un'applicazione in un PC con la versione localizzata del Framework), anche i messaggi di errore sono tradotti. Come ben sappiamo, invece, abbiamo maggiori possibilità di trovare informazioni se cerchiamo il messaggio in inglese. Ma c'è un problema: spesso le traduzioni dall'inglese lasciano molto a desiderare (per non dire di...
E’ stata da poco rilasciata la versione 4.3 di Entity Framework, già disponibile anche su NuGet. Sul blog del team di ADO .NET è possibile leggere l’annuncio ufficiale. Tag di Technorati: .NET,Programming,Entity Framework,Updates
Ultimamente, non ci siamo quasi più fatti sentire, quindi immagino che molti di voi abbiamo pensato che DotNetToscana fosse morta. E invece, come l’araba fenice, siamo tornati! Dopo una serie di incontri, virtuali e non, abbiamo pubblicato un nuovo sito web, molto più snello e veloce del precedente. Ma, soprattutto, abbiamo deciso di partire alla grande organizzando un Hands On Lab sullo sviluppo di videogiochi per Windows Phone 7 con XNA. L’evento si svolgerà il 14 Maggio a Pisa e avrà durata giornaliera. E’ già tutto pronto: sul nostro sito potete leggere di cosa si tratta e registrarvi immediatamente...
DotNetToscana non è mai decollata come avremmo voluto. Comunque noi non ci arrendiamo e ce la metteremo tutta per cambiare rotta ed imboccare quella giusta. Vogliamo approfittare di questa pausa estiva per riflettere sulle difficoltà ed i problemi che abbiamo incontrato più volte in questi anni e risolverli. Però per farlo al meglio abbiamo bisogno anche di sentire la vostra voce, per questo abbiamo creato un piccolo sondaggio grazie a cui potrte farci sapere le vostre opinioni, i vostri consigli e suggerimenti. L’obiettivo finale è quello di far “rinascere” DotNetToscana. Clicca qui per rispondere al sondaggio Technorati Tag:...
Il titolo forse sembra un gioco di parole… In pratica, il problema è inserire una sezione di codice XML all’interno dei commenti di documentazione delle classi di .NET, che anch’essa è scritta in XML. In questo caso, il tag da utilizzare è <code lang="xml">
Tuttavia, se al suo interno si scrive direttamente il codice XML, una volta generata la documentazione, ad esempio con Sandcastle Help File Builder, il frammento di XML apparirà senza indentazione e “schiacciato” su una sola riga. Per mantenere la formattazione originale, è necessario racchiudere l’XML che si vuole mostrare in un tag di...
La notizia è senz'altro interessante: Novell ha rilasciato un plug- in per Visual Studio con cui è possibile realizzare applicazioni per Linux lavorando però in ambiente Windows. Purtroppo, si tratta di un add-in a pagamento. Rimando alla fonte per maggiori dettagli. Technorati Tag: Visual Studio,.NET,Programming,Windows
La nostra Community cresce… Da pochi minuti il sito DotNetToscana si è arricchito di una nuova sezione, Tips & Tricks, in cui raccoglieremo trucchi e suggerimenti per risolvere i tipici problemi che si devono affrontare nel mondo della programmazione .NET. Technorati Tag: .NET,Programming,Visual Studio,C#,Visual Basic .NET,ASP .NET,LINQ,AJAX,Silverlight
Per impostazione predefinita, un sito Dynamic Data mostra tutte le informazioni contenute nelle tabelle. Tipicamente, però, si ha la necessità di filtrare i dati sulla base di diverse condizioni (ad esempio, i diritti dell'utente). Questo post del grande Andrea Boschin spiega con semplicità come è possibile ottenere tale risultato. Technorati Tag: .NET,Programming,ASP .NET,Dynamic Data,LINQ,C#
Qualche giorno fa ho parlato dell'utilizzo di OleDbConnection per leggere un file Excel come se fosse un database. Trattandosi di un "database", però, è possibile utilizzare la stessa tecnica anche per modificare il contenuto del file, ad esempio andando a scrivere in una determina cella (UPDATE) o aggiungendo una riga in fondo (INSERT INTO). La Knowledge Base di Microsoft contiene un articolo che illustra i principi di funzionamento di questa tecnica; è del 2004, ma gli esempi che fornisce sono validi anche per Visual Studio 2008. Technorati Tags: .NET, Programming, VB .NET, ADO .NET
In questi giorni sto scrivendo in .NET una libreria che, tra le altre cose, deve leggere le informazioni contenute in un file Excel. Per fare questo, sto utilizzando una OleDbConnection, per aprire il file come se fosse un database, e leggerlo così attraverso un OleDbDataReader. Fino adesso non avevo avuto problemi, ma oggi ho riscontrato uno strano comportamento: andando a leggere righe le cui colonne contengono valori di tipi diversi, il reader restituisce il valore DBNull. Girovagando su Internet, ho scoperto che una possibile soluzione consiste nell'aggiungere il parametro IMEX=1, in modo che tutti i valori del file Excel siano...
Come ormai tutti sappiamo, il provider per Oracle incluso in .NET verrà deprecato con la prossima versione del Framework. Per fortuna, esistono comunque delle alternative gratuite, tra cui una libreria fornita da Oracle stessa, chiamata Oracle Data Access Components (ODAC). E' disponibile a questo indirizzo. Technorati Tags: .NET, Programming, ADO .NET
Ultimamente sto utilizzando con una certa frequenza l'accoppiata Sandcastle e Sandcastle Help File Builder per creare la documentazione tecnica delle librerie che sviluppo. Ho così notato che gli stili predefiniti inclusi nella distribuzione di Sandcastle non risultano completi (ad esempio, non contengono tutte le trasformazioni per il tag <note>). Su CodePlex è però disponibile un progetto, Sandcastle Styles, che contiene una serie di fix per gli stili di Sandcastle. L'ultima versione è disponibile qui. Technorati Tags: .NET, Programming, Tools
Cercando su MSDN, ho notato che le informazioni sulla documentazione XML (tag supportati, significato dei vari parametri, ecc.) sono sparse in varie pagine, ovvero manca un punto centrale che raccolga tutte le risorse. Come sempre, però, Google mi è venuto in aiuto, trovando il documento XML Documentation Comments Guide: si tratta di una guida disponibile in vari formati (tra cui un PDF di circa 70 pagine) che illustra tutti i tag supportati, con chiari esempi di utilizzo. Technorati Tag: .NET,Programming,C#,VB .NET
Da un paio di settimane è stata rilasciata la nuova versione di GhostDoc, un add-in per Visual Studio in grado di aiutare nella scrittura di commenti XML relativi a metodi, proprietà ed eventi delle nostre classi .NET. Personalmente lo ritengo un tool indispensabile se si utilizza Sandcastle per generare la documentazione delle proprie librerie. Le novità di questa versione comprendono il supporto ufficiale a VB .NET (prima era considerato solo "sperimentale") e la compatibilità con Visual Studio 2010 Beta 1. Technorati Tag: .NET,Programming,Visual Studio,Tools
Questo pomeriggio ho provato a creare un ADO .NET Entity Data Model utilizzando Visual Studio 2008 SP1. Dopo aver selezionato nel wizard le tabelle che mi interessavano, al termine della procedura mi sono trovato il designer inesorabilmente vuoto. La prima cosa a cui ho pensato era che la mia installazione di Visual Studio 2008 avesse "qualche problema", ma, anche provando su un altro PC, il problema era sempre lo stesso. Alla fine, ho voluto provare a creare un Data Model con LINQ: quando ho trascinato una certa tabella nel designer, mi è apparso un messaggio che diceva che uno dei...
Cercando qualche informazione in merito all'utilizzo dei certificati X509 in .NET, sono capitato in questo blog, che contiene una nutrita serie di articoli molto interessanti, relativi alle linee guida per lo scrittura di codice .NET riutilizzabile (ad esempio, non usare la notazione ungherese, utilizzare il camelCase per i nomi di variabili private e parametri, ecc.). Si tratta soprattutto di post che fanno riferimento al libro Framework Design Guidelines. Molto interessante. Technorati Tag: .NET,Programming,ASP .NET,C#,VB .NET
Se la cancellazione di file dal Solution Explorer di Visual Studio impiega diversi secondi, arrivando a bloccare l'intero ambiente di sviluppo, il problema è dovuto all'elevato numero di file presenti nel Cestino: basta svuotarlo per ottenere il comportamento normale (ovvero cancellazioni quasi istantanee). Technorati Tags: Visual Studio
DotNetRomaCesta è il neonato User Group di Roma dedicato al mondo .NET. Come si legge nella sua Home Page: Lo scopo di quest'associazione è quella di creare un punto di riferimento per la città di Roma e per tutti gli appassionati ed utilizzatori di questa tecnologia, un modo per confrontarsi e scambiarsi le proprie esperienze. L'User Group nato dalla passione di persone, ha il compito di fornire materiale formativo, quali articoli e trucchi nonché notizie e di promuovere una serie di attività culturali e formativi volte ad accrescere la conoscenza di questa materia. Gli eventi, che...
Il Remote Debugger di Visual Studio è uno strumento utilissimo per effettuare il debug di siti web e servizi una volta che sono stati pubblicati. Esso, però, fa parte di Visual Studio, quindi non è disponibile sui sistemi che montano solo il runtime di .NET. Per eseguire il debug di un’applicazione su una macchina che non è dotata di Visual Studio, è possibile installare su di essa solo gli strumenti necessari alla connessione remota, utilizzando un apposito pacchetto disponibile sul sito Microsoft Downloads. Technorati Tag: .NET,Programming,Tools
Su DotNetToscana sono disponibili le slide della mia sessione Windows 7 – Le novità per gli sviluppatori che ho tenuto nel corso dell'Installation Fest di Windows 7 di Mercoledì 25 Marzo. Technorati Tag: .NET,Programming,Community
So che sono un po' di parte, ma personalmente ritengo che l'Installation Fest di Mercoledì scorso sia andato molto bene. L'organizzazione è stata ineccepibile (quanto c'era da mangiare…), le persone si sono dimostrate interessate agli argomenti e la mia sessione sulle novità per sviluppatori è piaciuta, come testimoniato dalle domande che mi sono state fatte alla fine. Sono contento che sia andata così bene, e che l'evento sia stato anche l'occasione per incontrare nuove persone, fare due chiacchere mentre l'installazione di Windows 7 filava più o meno liscia… E lanciare il sasso per coinvolgere altra gente nella nostra avventura di...
Oggi, mentre stavo per creare una Custom Exception in .NET, mi sono ricordato una cosa che avevo studiato nell'esame di certificazione 70-536, ovvero che la classe System.ApplicationException non dovrebbe essere utilizzata. Ma perché? Qual è il motivo che ha spinto Microsoft stessa a sostenere questa cosa? La risposta si trova facilmente con una ricerca su Google: JEFFREY RICHTER: System.ApplicationException is a class that should not be part of the .NET Framework. The original idea was that classes derived from SystemException would indicate exceptions thrown from the CLR (or system) itself, whereas non-CLR exceptions would be derived...
Venerdì scorso, presso il Dipartimento di Informatica dell'Università di Pisa, si è svolto il primo Workshop dello User Group toscano su .NET, Microsoft. NET Framework tra presente e futuro. E' stata la prima esperienza, sia come organizzatore di eventi, sia come speaker. A distanza di un giorno e mezzo, volevo condividere con voi le mie prime impressioni sull'esperienza: L'organizzazione di un evento è veramente un'attività impegnativa: questo sarà forse perché è stato il nostro primo Workshop, e quindi ci tenevamo che fosse tutto perfetto; La "tensione per la prima" era evidente: la...
Spesso la programmazione è vista metaforicamente come una "sfida", con traguardi da raggiungere, ostacoli sul proprio cammino, aiuti, imprevisti, ecc… Microsoft e HTML.it hanno provato a rendere concreta questa sfida, proponendo un gioco in Silverlight in cui lo sviluppatore deve cercare di rispondere il più velocemente possibile ad una serie di domande, guadagnando così punti per entrare in classifica, allo scopo di ottenere uno sconto del 40% sull'acquisto di Visual Studio 2008 Professional + MSDN Premium. Technorati Tag: .NET,Programming,Visual Studio
Andrea Marzilli, redattore e amico di HTML.it, mi ha fatto un'intervista a proposito dello User Group DotNetToscana, di cui sono un fondatore: si parla della sua nascita, del suo spirito e dell'evento che si terrà a Pisa il 20 Febbraio prossimo. Technorati Tag: .NET
E' con sommo piacere (e una punta di soddisfazione) che annuncio pubblicamente il primo workshop organizzato dallo User Group .NET Toscana: Microsoft .NET Framework tra presente e futuro. L'evento si svolgerà il giorno 20 Febbraio, dalle 14.00 alle 19.00 presso il Dipartimento di Informatica dell'Univeristà di Pisa. La partecipazione è completamente gratuita. Gli argomenti di cui vorremmo parlare sono tanti, ma purtroppo dobbiamo fare una scelta: per tale motivo, attualmente è in corso un sondaggio con cui chiunque può esprimere le proprie preferenze. Technorati Tags: .NET
In questo post del blog di Zeeshan Hirani è disponibile il link per scaricare gratuitamente un PDF di ben 514 pagine che fornisce una guida introduttiva all'ADO .NET Entity Framework, corredata da numerosi esempi di codice. Fonte: Mario De Ghetto Blog Technorati Tag: .NET,Programming,ADO .NET
A questo indirizzo è disponibile una breve spiegazione di come usare le stored procedure con l'Entity Framework di .NET 3.5 SP1. Technorati Tag: .NET,Programming,ADO .NET
Utilizzando LINQ possiamo creare facilmente comandi per interrogare basi di dati SQL direttamente da codice, con tutti i vantaggi derivanti dalla type-safety e dal controllo dei parametri a tempo compilazione. In alcuni casi, tuttavia, ad esempio quando si realizza un sito Internet e, in particolare, il suo motore di ricerca interno, può capitare di dover eseguire interrogazioni su un database utilizzando una serie più o meno lunga di parametri impostati dall'utente (ad esempio, ricerca di prodotti solo in una certa categoria, con vincoli sul prezzo e sulla disponibilità, ecc.). Questa funzionalità può essere realizzata creando manualmente la query SQL, ovvero...
Il buon Matteo mi ha preceduto di qualche clic... Il panorama delle Community regionali dedicata a .NET si è da poco allargato con la nascita dello User Group Toscano. Era da diverso tempo che questa idea ci rimbalzava per la testa, e finalmente ci siamo riusciti! Il gruppo si è riunito per la prima volta intorno alle metà di Settembre... Un'allegra combriccola di 8 persone accomunata dalla passione per .NET, dalla voglia di mettersi in gioco e dalla convinzione che le Community siano un luogo di incontro (reale o virtuale che sia) di grande importanza. Poi sono arrivati i...
In questo post è presente un breve questionario sulla distribuzione delle applicazioni .NET, che ha la scopo di raccogliere informazioni per migliorare il deploy nelle prossime versioni del Framework. Technorati Tag: .NET
Cercando materiale su LINQ, ho trovato questo post in cui vengono presentati alcuni scenari di utilizzo di LINQ, paragonati al corrispettivo di ADO .NET. Secondo me è interessante soprattutto per chi non ha alcuna esperienza con LINQ e vuole farsi un'idea colpo d'occhio di quello che permette di fare e di come può semplificare la scrittura di codice Technorati Tag: .NET,Programming,ADO .NET,LINQ
Su MSDN Magazine di Giugno 2008 è stato pubblicato un interessante articolo su come il Garbage Collector di .NET gestisce i cosiddetti oggetti grandi, ovvero oggetti che occupano più di 85.000 byte di memoria. Technorati Tag: .NET,Programming
Lo segnalo per quanti ancora non lo sapessero ma anche come promemoria personale: da qualche tempo gli aggiornamento e i bug fix di Visual Studio sono reperibili su MSDN Code Gallery: facendo clic su questo link è possibile accedere alla lista completa. Technorati Tag: .NET,Visual Studio,Updates
SQL Server 2005 mette a disposizione due comandi T-SQL che consentono di cifrare e decifrare una stringa utilizzando una chiave simmetrica: EncryptByPassPhrase e DecryptByPassPhrase. Essi utilizzano una passphrase per generare la chiave simmetrica che viene utilizzata per eseguire le vere e proprie operazioni, rispettivamente, di cifratura e decifratura del testo specificato. Technorati Tags: Certification, SQL Server, SQL
Recentemente mi è stato chiesto quando conviene utilizzare uno StringBuilder piuttosto che concatenare le stringhe con il +. L'argomento è stato affrontato più volte, ma credo sia comunque utile riportare quando dice MSDN, in modo da chiarire la situazione:
String objects are immutable in that they cannot be changed once created. Methods that act on strings actually return new string objects. Therefore, for performance reasons, large amounts of concatenation or other involved string manipulation should be performed with the StringBuilder class.
Technorati Tags: .NET, Programming, C#, VB .NET, ASP .NET
Chi lavora abitualmente con i database relazionali lo sa bene: non si deve mai utilizzare la clausola SELECT * in una query SQL. I motivi di questa cosa sono diversi, ma uno dei principali riguarda l'efficienza: se si usa l'asterisco, il DBMS deve interrogare i metadati della tabella per sapere quali colonne contiene, quindi è richiesto un tempo di elaborazione maggiore, che si può facilmente evitare indicando espressamente i nome delle colonne da restituire. Technorati Tags: SQL
Per valutare il tempo di esecuzione di un comando T-SQL, può essere utile l'istruzione SET STATISTICS TIME ON
Essa va digitato nella finestra della query subito prima del comando o della stored procedure da provare. Fatto questo, dopo l'esecuzione, spostandosi nella scheda Messages di SQL Server Management Studio si può osservare un riassunto dei tempi di parsing, compilazione ed esecuzione della query.
Technorati Tags: Certification, SQL Server, SQL
Per la compressione di file ZIP in .NET, ho sempre utilizzato la famosa libreria SharpZipLib. In questi giorni, però, sono venuto a conoscenza di DotNetZip, di cui è stata recentemente rilasciata la versione 1.5. Si tratta di un progetto open-source pubblicato su CodePlex e rilasciato con licenza Microsoft Public License.
Tra le funzionalità offerte, c'è anche la possibilità di creare archivi auto-estraenti e file ZIP che possono essere direttamente inviati all'oggetto Response.OutputStream, cosa che permette di generare dinamicamente archivi compressi scaricabili via Internet.
Technorati Tags: .NET, Programming, C#, ASP .NET, VB .NET
In attesa che venga definitivamente deciso quale collocazione attribuire a Sandcastle (ad essere sinceri, a me non sembra una decisione tanto difficile ), per adesso è possibile scaricare l'ultima versione da Microsoft Downloads. Technorati Tag: .NET,Visual Studio,Tools
Sui blog di MSDN è apparso un post per me molto interessante, in cui si discute del fatto che il codice non può commentarsi da sé, quindi è necessario scrivere commenti per spiegare quello che si sta sviluppando. Si tratta di un argomento che mi sta molto a cuore: personalmente, sono dell'opinione che sia meglio un commento in più di uno in meno... Anzi, forse io esagero e tendo a commentare più del dovuto, ma lo faccio nell'ottica di riprendere il codice dopo qualche tempo dalla sua scrittura: quello che all'inizio può apparire chiarissimo (nel momento in cui lo si...
Dal sito di CodePlex è possibile scaricare la nuova versione di Sandcastle, la 2.4.10520. Si tratta della stessa build utilizzata per produrre la documentazione di Visual Studio 2008 SP1. Sono stati corretti numerosi bug, come riportato sul blog del team di sviluppo. Technorati Tag: .NET,Programming,Tools,Visual Studio,Updates
Tranquilli, non ho assolutamente intenzione di scrivere un post in cui metto a confronto .NET e C++, dicendo quale è meglio e quale è peggio... Su questo argomento è già stato scritto di tutto . Vorrei invece fare una riflessione sulla diverse "filosofie di programmazione" che seguo quando lavoro in C++ rispetto a quando uso .NET. Come i miei 25 lettori sanno bene, nell'ultimo anno ho accumulato una certa esperienza con .NET, accompagnata dal conseguimento di diverse certificazioni. Anche i lavori che ho fatto finora hanno sempre riguardato questa piattaforma. Ultimamente, però, nella mia nuova società sto affrontando un...
Mi sembra che fosse stato già segnalato tempo fa sul muro, ma nell'incertezza lo riporto nuovamente, anche come appunto personale: all'indirizzo http://www.codeplex.com/Argotic è disponibile un framework molto ben fatto e in continuo sviluppo per la gestione di feed in formato RSS, Atom, OPML, APML, BlogML, RSD... e chi più ne ha più ne metta . La versione compilata della libreria è disponibile sia nella versione per .NET 2.0 sia per .NET 3.5.
Technorati Tag: .NET,Programming,C#,VB .NET,ADO .NET,ASP .NET
Giovedì scorso è stata rilasciata la versione 4.0 dell'Enteprise Library di Microsoft. Come sempre, MSDN è il sito di riferimento per la documentazione tecnica, mentre il download (insieme a video, esempi e molto altro ancora) è disponibile su CodePlex.
Technorati Tag: .NET,Programming,Visual Studio,C#,VB .NET,ADO .NET,ASP .NET
Il training kit per .NET 3.5 si arricchisce di nuovi labs che consentono di sperimentare le novità introdotte dal Service Pack 1. Per maggiori informazioni e per il link al download, di circa 37 MB, fare riferimento a questo post.
Technorati Tag: .NET,Programming,Visual Studio,ASP .NET,C#,VB .NET,ADO .NET
In questo post viene presentato VLINQ, ovvero Visual LINQ Query Builder. Si tratta di un add-in per Visual Studio 2008 che consente di creare query per LINQ-to-SQL in maniera completamente visuale. Allo stesso indirizzo è disponibile anche un breve tutorial che introduce il suo utilizzo. VLINQ è ospitato su MSDN Code Gallery: fare clic qui per accedere alla pagina del progetto. I download disponibili comprendo anche il codice sorgente, la documentazione e uno screencast che mostra l'utilizzo pratico di questa estensione.
Technorati Tag: .NET,Programming,C#,VB .NET,ASP .NET,ADO .NET,LINQ,Visual Studio,Tools
Il supporto al database mirroring in SQL Server 2005 include una funzionalità molto interessante, la cosiddetta Trasparent Client Redirection. Si tratta di una modalità di connessione al database che rende trasparente il passaggio all'utilizzo del mirror nel caso in cui il DB principale non sia disponibile. Non sono richieste modifiche al codice, è sufficiente aggiungere il nome dell'istanza di SQL Server 2005 contenente la copia nella stringa di connessione: Data Source=myServerAddress;Failover Partner=myMirrorServer;
Initial Catalog=myDataBase;Integrated Security=True;
Così facendo, se la...
Alcuni dei miei amici che programmano in C++ non capiscono il motivo per cui .NET non supporti l'ereditarietà multipla. Questo post cerca di fare un po' di chiarezza sull'argomento. Technorati Tag: .NET,Programming
Giornata di annunci... A quanto pare una nuova versione di Sandcastle è dietro l'angolo e dovrebbe essere rilasciata entro la fine del mese, come annunciato qui. Questa release sarà utilizzata per generare la documentazione di Visual Studio 2008 SP1 che sarà pubblicata su MSDN.
Technorati Tag: .NET,Visual Studio,Tools,Updates,C#,VB .NET,ASP .NET,ADO .NET
In questo post viene annunciato il nuovo Training Kit per .NET 3.5, contenente corsi relativi a: ADO.NET Data Services ADO.NET Entity Framework ASP.NET AJAX History ASP.NET Dynamic Data ASP.NET MVC ASP.NET Silverlight controls Il download, disponibile qui, è di circa 35 MB. Technorati Tag: .NET,ASP .NET,ADO .NET
SQL Server 2005 consente di criptare/decriptare i campi di un record utilizzando chiavi simmetriche, asimmetriche e certificati digitali. Ad esempio, per creare una chiave simmetrica si deve usare la seguente istruzione:
CREATE SYMMETRIC KEY ChiaveSimmetrica WITH ALGORITHM = AES_256 ENCRYPTION BY PASSWORD = 'pippo';
A questo punto, è possibile utilizzare le funzioni EncryptByKey e DecryptByKey di SQL Server, rispettivamente, per criptare e decriptare i dati specificati. Perché la procedura sia corretta, tuttavia, è necessario aprire la chiave simmetrica prima di richiamare tali funzioni, altrimenti il loro risultato sarà sempre NULL. Detto in codice:
OPEN SYMMETRIC KEY ChiaveSimmetrica DECRYPTION BY PASSWORD = 'pippo'
INSERT INTO...
.NET offre un oggetto chiamato SqlDependency che consente di ottenere notifiche per ogni modifica effettuata su un database di SQL Server 2005. Il suo utilizzo è relativamente semplice, ma richiede qualche accortezza nella configurazione del database e nella scrittura delle query, come spiegato in questo post.
Technorati Tags: .NET, Programming, SQL, SQL Server
Un nome lunghissimo per un aggiornamento di 9,45 MB, disponibile qui. In questo articolo della Knowldge Base sono elencate tutte le correzioni effettuate. Fonte: Developer hearted / Relational minded blog Technorati Tag: .NET,Programming,Visual Studio,Updates
A questo indirizzo è possibile raggiungere la nuova MSDN Code Gallery, una grande raccolta di esempi di codice e documentazione tecnica dedicata a .NET, a cui chiunque può contribuire inviando nuove risorse. Lo stile e l'interfaccia grafica del portale ricalcano molto da vicino quelli di CodePlex.
Technorati tags: .NET, Programming, C#, VB .NET, ASP .NET, ADO .NET, .NET Compact Framework, .NET Micro Framework, LINQ, Silverlight
Con questo post viene annunciato il rilascio della nuova release di Sandcastle, che è identificata dal numero di versione 2.4.10115. Come era stato promesso qualche giorno fa, il progetto è ora disponibile su CodePlex.
Technorati Tags: Visual Studio, Tools, Updates
In questo post Alessandro Del Sole ci segnala un articolo, scritto dal grande Francesco Balena, che illustra una nuova tecnica per progettere gli assembly .NET dalla decompilazione, senza utilizzare strumenti di terze parti. Io l'ho letto tutto d'un fiato e non vedo l'ora di fare qualche esperimento
Grazie Alessandro, grazie Francesco!
Technorati Tags: .NET, Programming
Stando a quanto annunciato in questo post, presto Sandcastle verrà pubblicato su CodePlex. L'indirizzo a cui raggiungere il progetto è http://www.codeplex.com/Sandcastle, ma in questo momento non è ancora stato pubblicato.
Technorati Tags: .NET, CodePlex, Tools
Come si può leggere in questo post, da qualche tempo è cominciato lo sviluppo della Enterprise Library 4.0. In particolare, in questa pagina è disponibile l'EntLib V4 Product Backlog, in cui sono annunciate le principali novità previste per la nuova versione, a cominciare dal pieno supporto per Visual Studio 2008.
Technorati Tags: .NET, Programming, Tools, Updates, Visual Studio
Qualche giorno fa ho avuto la necessità di effettuare il join di due DataTable, risultato di interrogazioni su due database differenti, per produrre un unico DataTable da mostrare in un controllo DataGridView. Le due tabelle dovevano essere unite sulla base di un campo ID, secondo l'usuale relazione di chiave-chiave esterna. Mi sono così definito una procedura per eseguire l'operazione: private void Join(DataTable mainTable, string mainRowField, string parentRowField, DataRelation relation)
{
//Controlla se la tabella contiene la colonna in cui aggiungere i risultati del join.
if (!mainTable.Columns.Contains(mainRowField))
mainTable.Columns.Add(mainRowField);
...
A questo indirizzo sono disponibili sono disponibili 3 corsi E-Learning gratutiti dedicati a SQL Server 2008: Clinic 6188: What's New in Microsoft SQL Server 2008 for Enterprise Data Platform Clinic 6189: What's New in Microsoft SQL Server 2008 for Business Intelligence Clinic 6190: What's New in Microsoft SQL Server 2008 for Database Technorati tags: SQL Server, Certification
Neanche la vacanze di Natale fermano gli autori di MSDN Magazine: da pochi giorni è disponibile online l'edizione di Gennaio 2008. Anche questo numero ha un chiaro orientamento verso lo sviluppo Web (a me è subito caduto l'occhio sull'articolo Drag and Drop with ASP.NET AJAX). Fate clic qui per accedere all'edizione inglese, oppure qui per quella italiana. Technorati tags: .NET, Programming, CS, VB .NET, ASP .NET, AJAX, Silverlight
In questa pagina della Knowledge Base di Microsoft è disponibile la lunga serie di problemi che sono stati risolti con il Service Pack 1 del .NET Framework 2.0. Per la precisione, si tratta di ben 161 fix, di ognuno dei quali è riportato il link alla pagina di descrizione.
Technorati Tags: .NET,Updates
Negli ultimi giorni ho utilizzato il wizard per la creazione di un ObjectDataSource. Nella prima schermata, dove vengono mostrati gli oggetti che si possono utilizzare come sorgente, c'è una casella di nome Show only data components, di cui ignoravo il significato. Questa mattina, mentre cercavo tutt'altro, ho capito a cosa serve: si tratta di una funzione che ha che fare con gli attributi DataObject, DataObjectMethod e DataObjectField. Questi sono una sorta di "aiuti" per il wizard: grazie ad essi, infatti, la procedura guidata è in grado di proporre automaticamente le scelte più corrette per la definizione dell'ObjectDataSource. Mi spiego meglio....
Scenario: sulla macchina A ho un database in cui ho definito un utente con il diritto di db_owner; effettuo il backup di tale database (il DMBS è SQL Server 2005) e lo ripristino su una macchina B. Se, a questo punto, tramite l'SQL Server Management Studio sulla macchina B tento di eliminare l'utente in questione, ottengo un errore secondo cui non è possibile procedere perché tale utente è il proprietario di uno schema del database.
Questa situazione mi è già capitata almeno tre o quattro volte. In un caso del genere, per "trasferire" il diritto di db_owner, in modo che sia possibile procedere all'eliminazione dell'utente, è necessario eseguire...
L'applicazione che sto sviluppando recupera una serie di informazioni da una base di dati, comprese alcune date. Poiché i campi datetime nel database ammettono il valore null, per manipolare le date utilizzo il tipo Nullable<DateTime>, grazie al quale riesco facilmente a capire se nessuna data è stata specificata nella base di dati. Questo sistema ha però un problema. Supponiamo di dover aggiornare un campo datetime, inserendo al suo interno il valore null. Se io creo un oggetto SqlParameter di tipo SqlDbType.DateTime (con il parametro chiamato @dataScandenza) e imposto la sua proprietà Value su null, andando ad eseguire il metodo SqlCommand.ExecuteNonQuery...
Magari è una cosa risaputa, ma io l'ho scoperto solo oggi per puro caso: per selezionare tutto il corpo di un metodo nell'editor di Visual Studio, basta fare doppio clic in un punto qualsiasi a sinistra del metodo stesso (per capirci, nello spazio della finestra in cui il puntatore del mouse "cambia orientamento" passando ad indicare verso destra).
Technorati Tag: Visual Studio
E' stato rilasciato un aggiornamento per Visual Studio 2005 SP1 che risolve un problema a causa del quale l'IDE potrebbe bloccarsi durante la scrittura di commenti XML. A questo indirizzo, oltre al link per il download, è mostrata la procedura con cui riprodurre l'errore.
Technorati Tags: Visual Studio, Updates
In questo post viene spiegato come la velocità del disco rigido influenza le prestazioni di Visual Studio 2005. Sono anche fornite alcune raccomandazioni sulle velocità consigliate per gli hard disk dei PC fissi e portatili, oltre ad una serie di link che spiegano come migliorare le prestazioni dell'ambiente di sviluppo.
Technorati Tag: Visual Studio
In alcuni casi casi si può avere l'esigenza di eseguire stored procedure dinamiche, ad esempio quando il formato delle condizioni di una clausola WHERE dipende da determinati parametri di input. In situazioni del genere viene in aiuto l'istruzione EXEC di SQL Server, il cui funzionamento è spiegato in questo articolo.
Technorati Tags: SQL, SQL Server
Come tutti sappiamo, quando Microsoft ha progettato il .NET Framework 3.0, lo ha rilasciato come "estensione" del .NET Framework 2.0: quello che già c'era non è stato modificato, sono solo stati aggiunti nuovi namespace e, quindi, nuove classi. E la stessa cosa accade con il .NET Framework 3.5, che si colloca al di sopra delle versioni precedenti, senza cambiarle (a parte gli aggiornamenti contenuti nei Service Pack). Questo modo di procedere è necessario per garantire la compatibiltà con le applicazioni esistenti, tuttavia sta portando ad una sorta di "effetto cipolla": ogni nuovo rilascio aggiunge uno strato a quelli già esistenti.
Non...
Reporting Services 2005 include una funzionalità per prevenire attacchi di tipo Denial of Service al proprio Web service, limitando il numero di richieste che possono essere effettuate da un singolo utente. Nel caso in cui questo limita venga superato, le chiamate successive producono il seguente messaggio di errore:
There are currently too many requests in progress for user: "ABC\XYZ". Please wait until the current requests have finished processing before issuing any more.
Questo comportamento, assolutamente corretto in un ambiente di produzione, può impedire lo svolgimento di test di carico in fase di sviluppo. Una possibile soluzione, come indicato in questo post,...
In questi ultimi tempi mi è capitato di dover definire alcune viste su un DB di SQL Server 2005. Allo scopo ho utilizzato SQL Server Management Studio. Senza pensarci, nella vista ho aggiunto una clausola ORDER BY. Nel momento in cui ho premuto il pulsante Execute SQL, il Management Studio ha automaticamente aggiunto TOP 100 PERCENT subito dopo la parola SELECT. Incuriosito dalla cosa, ho fatto una ricerca su Internet e sono arrivato a due interessanti articoli: questo e questo. Ripensando con calma alla cosa, mi sono ricordato che l'argomento era già stato trattato qui sul Muro, ma solo adesso...
E' stata rilasciata la nuova CTP di Ottobre 2007 di Sandcastle, che può essere scaricata facendo clic qui. La lista delle novità introdotte è troppo lunga per essere inserita in questo post, quindi vi rimando all'annuncio ufficiale per tutti i dettagli.
Technorati tags: Tools, Updates
A questo indirizzo è disponibile la CTP di Ottobre 2007 del driver PHP per SQL Server 2005. Esso è compatibile con PHP versione 5 o successiva e permette di collegarsi alle versioni 2000 e 2005 del DBMS.
Technorati Tag: SQL Server , Updates
A questo indirizzo è disponibile una raccolta di 15 add-in gratuiti per Visual Studio. Nei commenti al post, inoltre, vari utenti hanno segnalato altri tool anch'essi molto interessanti. Technorati Tags: Visual Studio, Tools
I DbDataAdapter di .NET si basano su oggetti di tipo DbCommand per selezionare, aggiornare, aggiungere ed eliminare le informazioni dalla base di dati sottostante. Gli oggetti DbCommand, a loro volta, mantengono un riferimento alla DbConnection che corrisponde all'origine dati in questione. Tale connessione non deve necessariamente essere aperta prima di richiamare i metodi del DbDataAdapter: nel caso in cui sia chiusa quando si eseguono i metodi del DbDataAdapter, viene aperta automaticamente, per poi essere richiusa al termine dell'operazione. E' possibile verificare questo comportamento con un semplice esempio. Consideriamo il seguente stralcio di codice: 1 SqlConnection db = new...
L'oggetto DataTable dispone della proprietà Constraints, con cui si possono specificare i vincoli di unicità (UniqueConstraint) e di chiave esterna (ForeingKeyConstraint) per la tabella. Ma nel caso in cui si voglia definire un vincolo unique, è possibile evitare la creazione di un oggetto di tipo UniqueConstraint semplicemente impostando a true la proprietà Unique della DataColumn relativa: così facendo, lo UniqueConstraint su quella colonna viene aggiunto automaticamente. In altre parole, i seguenti stralci di codice sono equivalenti: DataTable dt = new DataTable();
DataColumn id = new DataColumn("Id", typeof(int));
dt.Columns.Add(id);
UniqueConstraint unique = new UniqueConstraint(id);
dt.Constraints.Add(unique);
e
DataTable dt = new DataTable();
DataColumn id = new DataColumn("Id", typeof(int));
id.Unique...
A questo indirizzo sono disponibili 101 esempi di utilizzo di LINQ all'interno di codice Visual Basic .NET. Gli esempi sono divisi in 4 macro-sezioni: LINQ Query Samples, LINQ to SQL Samples, LINQ to DataSet Samples e LINQ to XML Samples.
Technorati tags: LINQ, VB .NET
La nuova versione di SQL Server Compact 3.5 Beta 2, oltre ad essere inclusa in Visual Studio 2008, è da qualche giorno disponibile anche come download separato. Notare che il termine "Edition" sembra stato eliminato. Il download del runtime è disponibile qui, mentre a questo indirizzo sono disponibili i Server Tools.
Technorati tags: SQL, SQL Server, ADO .NET, Updates
At the Worldwide Partner Conference 2007 Microsoft announced yesterday that Windows Server 2008, Visual Studio 2008 and Microsoft SQL Server 2008 will launch together at an event in Los Angeles on Feb. 27 2008.
L'interessantissimo annuncio viene dato in questo post, che a sua volta fa riferimento all'annuncio ufficiale apparso sul sito Microsoft.
Technorati Tags: Windows, SQL Server, Visual Studio
xSQL Software, a provider of SQL Server tools and utilities, announces an important change on the licensing of its SQL Server database comparison and synchronization tools - those tools will now be free for SQL Server Express Edition. La notizia è di qualche giorno fa. In questa pagina sono contenuti tutti i dettagli.
Se si tenta di inserire via codice un file XML in un campo XML di SQL Server 2005, è possibile ottenere una SqlException contenente il seguente messaggio: XML parsing: line 1, character 38, unable to switch the encoding Il problema nasce dal fatto che, tipicamente, i file XML sono codificati in UTF-8, mentre SQL Server si aspetta di ricevere documenti in formato UTF-16. Per risolvere questo inconveniente ci sono diverse soluzioni. Quella che adotto io consiste nello specificare il flag Encoding.Unicode quando apro il file XML da inserire nel database: using (StreamReader sr = new StreamReader(filePath, Encoding.Unicode))
{
cmd.Parameters.Add("@xmlData",...
Altra news per SQL Server: è stata rilasciata la versione di maggio 2007 del Books Online di SQL Server 2005. Il download è disponibile qui.
E' stata rilasciata la CTP di Giugno di SQL Server 2008 Code name Katmai. Il download è disponibile su Microsoft Connect, all'indirizzo http://connect.microsoft.com/sqlserver. Prima di effettuare lo scaricamento è necessario registrarsi al programma CTP di SQL Server 2008.
Sul sito Visual Studio 2005 Registration Benefits Portal, accessibile ad esempio dopo aver registrato una qualunque versione di Visual Studio 2005 Express, è da poco disponibile un eBook gratuito su SQL Server 2005 Express Edition: This SQL Server Express Edition eBook will help you get up-to-speed quickly with insider tips and tricks and complete step-by-step instructions on developing applications using SQL Server Express. Per raggiungere il sito, è necessario accedere a Microsoft Connect.
It's my pleasure to introduce the first "production" of one of my developer songs, which I've also sung at the awesome DevTeach conference. The song talks about my experiences working with a database on a project not too long ago.. I hope you find it... familiar. La canzone si intitola It's Time For Violence: A song about Databases. Se siete interessati, incuriositi o... Preoccupati per dove può portare il lavoro da informatico, scaricatela da questo post.
A questo indirizzo sono disponibili alcune informazioni sulle caratteristiche che troveremo in Katmai, il successore di SQL Server 2005, annunciato alla conferenza Microsoft Business Intelligence del 9 maggio scorso.
Se si cerca di utilizzare SQL Server Compact Edition all'interno di un sito o di un Web Service ASP .NET, quando viene richiamato il metodo Open dell'oggetto SqlCeConnection si ottiene la seguente eccezione: System.NotSupportedException: SQL Server Compact Edition is not intended for ASP.NET development. Questo mesaggio è ragionevole, infatti SQL Server CE è stato pensato per l'impiego in applicazioni Smart Client e Smart Device, non per lo sviluppo web. Tuttavia, esiste un metodo che consente di utilizzare comunque questo database engine anche con ASP .NET. E' sufficiente eseguire l'istruzione AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true);
prima di aprire la connessione al database. Bisogna però tenere presente che in questo...
All'indirizzo http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/tools/default.mspx sono disponibili numerosi tool per SQL Server 2005. La lista è abbastanza nutrita. Uno dei più interessanti secondo me è SQL Web Data Administrator, ma si tratta di un programma del 2004, pensato per MSDE e SQL Server 2000; non ho ancora avuto modo di provarlo con SQL Server 2005, ma al più presto farò un test e aggiornerò il post per comunicare l'esito della prova.
Sul sito www.connectionstrings.com sono raccolte le stringhe di connesione da utilizzare per l'accesso ad un gran numero di basi di dati, tra cui SQL Server, Oracle, MySql, Interbase, Postgre SQL, Firebird, AS/4000.
Il mio precedente post dedicato all'argomento ha suscitato un piccolo dibattito, cosa che mi fa molto piacere . Come promesso, oggi parlerò di LINQ to SQL Desisgner, che consente di creare il DAL utilizzato da LINQ in maniera completamente visuale. Per accedere a questo strumento, bisogna aggiungere al progetto un elemento di tipo LINQ to SQL File. Supponiamo di chiamarlo Database. Nel progetto viene inserito un file di nome Database.dbml con due file collegati, ovvero Database.dbml.diagram e Database.dbml.cs (nel caso si stia utilizzando C#). In realtà ci si può dimenticare dell'esistenza di questi file, perché da ora in poi il...
Uno dei motivi per cui è nato LINQ è quello di fornire un modello unificato di accesso alle fonti dati, siano esse oggetti, file XML oppure database relazionali. Proprio da questi ultimi ho cominciato i miei "esprimenti". Vediamo prima la strada più lunga... Il .NET Framework 3.5 mette a disposizione un tool a riga di comando, SQLMetal.exe, che consente di creare un file di mapping, in C# oppure VB .NET, con cui accedere ad un database SQL senza doversi preoccupare di stringhe di connessione, oggetti Command e Parameter... In una parola sola: DAL . In Orcas Beta 1 questo programma è...
E' stata rilasciata la MSDN Library di Aprile 2007, liberamente scaricabile dal sito Microsoft. Questa nuova versione comprende, tra le altre cose, anche la documentazione relativa al Service Pack 1 di Visual Studio 2005 e a SQL Server 2005 Compact Edition. Da sottolineare che, finalmente, essa è disponibile come ISO di un DVD (2,19 GB), a differenza di quanto avveniva con le release precedenti, che erano distribuite come immagini di 3 CD-ROM.
Questo articolo pubblicato su MSDN fornisce una breve introduzione all'utilizzo di SQL Server 2005 Compact Edition con C#. In esso viene mostrato come realizzare una semplice rubrica di contatti e come utilizzare il Server Explorer di Visual Studio per creare e gestire nuovi database.
Qualche giorno fa ho parlato dell'installazione di SQL Server 2005 su Windows Home Server. In quell'occasione, avevo provato ad installare la versione Express. Oggi invece ho fatto un tentantivo con l'Enterprise Edition, per poter poi installare anche Team Foundation Server. Tuttavia, quando ho premuto il pulsante Next nella finestra Collaction Settings, ho ottenuto il seguente messaggio di errore: SQL Server Setup failed to retrieve the SSL Certificate Name. Premendo il pulsante OK, il programma di setup si è chiuso con un errore irreversibile. Dopo aver effettuato una ricerca con Google, ho scoperto che in realtà tale problema può presentarsi...
Come si legge in questa pagina, la versione Beta 1 di Orcas è prevista per il secondo quadimestre del 2007, mentre la Beta 2 dovrebbe essere disponibile poco dopo la metà dell'anno. Non è stata ancora definita la data di rilascio della RTM. Nella stessa pagina si fa anche riferimento alla versione di Visual Studio Team System successiva ad Orcas, il cui nome in codice è Rosario, da Microsoft descritta come una exciting release...
Windows Home Server è un sistema operativo espressamente pensato per l'utilizzo domestico, come centro di condivisione delle risorse. Tuttavia, poiché si basa sul kernel di Windows Server 2003, su di esso è possibile installare anche applicazioni come SQL Sever 2005. Ho fatto un test pochi minuti fa: l'installazione viene portata a termine senza problemi. Per consentire la connessione remota da altri PC, oltre ad abilitare le connessioni TCP/IP al DBMS e ad avviare il servizio SQL Browser, è necessario configurare Windows Firewall in modo che permetta le connessioni in ingresso per i programmi sqlservr.exe e sqlbrowser.exe, che si trovano rispettivamente nelle cartelle C:\Program...
Sul sito http://www.codeplex.com/reflectoraddins è disponibile una nutrita raccolta di add-in per Reflector. La lista è gestita dallo stesso autore di questo indispensabile tool. Le estensioni più interessanti, secondo me, sono le seguenti: SQL2005Browser: This add-in allows to browse .NET assemblies stored in SQL Server 2005 databases BamlViewer: Load BAML resources (WPF) and render in XAML format CodeSearch: This add-in allows searching for strings and regular expressions in disassembled code
Come sempre avviene in occasione del rilascio di ogni CTP di Sandcastle, il programma Sandcastle Help File Builder è stato aggiornato e ora supporta le nuove funzionalità introdotte con la CTP di Marzo 2007.
Da questa pagina è possibile scaricare la versione di Marzo 2007 del Book Online di SQL Server 2005 Compact Edition. Al momento solo la versione inglese è stata aggiornata, mentre quella disponibile nelle altre lingue (compreso l'italiano) è ancora ferma al 15/01/2007.
SQL Server 2005 comprende una piccola utility a riga di comando, TableDiff.exe, che consente di effettuare una comparazione tra due tabelle. Maggiori informazioni sono disponibili qui. Technorati Tags: SQL Server
E' stata rilasciata ieri la versione 4.0 del Visual Studio 2005 SDK. Nel pacchetto è incluso anche Sandcastle. Per maggiori informazioni e per il download fare clic qui.
Come la maggior parte dei programmatori .NET, ritengo che Reflector sia un tool assolutamente indispensabile. Oggi ho scaricato la nuova release: l'applicazione conferma le caratteristiche che l'hanno resa celebre, anche se ho riscontrato un piccola pecca relativa alla compatibilità con Windows Vista. Il programma, infatti, non richiede i diritti di amministratore, ma salva la sua configurazione nella stessa cartella in cui si trova l'eseguibile: qualora quest'ultimo sia stato copiato nella directory C:\Programmi (come ho fatto io), poiché su di essa non ha i diritti di scrittura, entra in azione il sistema di virtualizzazione del file system, che redirige il salvataggio del file...
Ho appena ricevuto una mail da Microsoft con cui mi è stata comunicata la cancellazione del webcast SQL Server 2005 Reporting Services: Installazione & Amministrazione (previsto per oggi pomeriggio). Peccato, l'argomento mi interessava parecchio, spero che venga riproposto al più presto!
SharpToolbox è un sito che raccoglie una grande quantità di tool e di librerie per .NET. Da poco è stato raggiunto il traguardo dei 1000 contributi disponibili (mentre sto scrivendo questo post siamo a quota 1004).
Segnalo questo interessante post in cui sono indicate alcune delle best pratices per la gestione degli indici in SQL Server 2005.
In questo post Scott Guthrie illustra alcune delle principali novità che troveremo in Orcas. L'articolo è corredato da un gran numero di screenshot che mostrano la CTP di Febbraio in azione.
In its continued commitment to interoperability, Microsoft provides a Java Database Connectivity (JDBC) driver for use with SQL Server 2005. The SQL Server 2005 JDBC Driver [...] provides access to SQL Server 2000 and SQL Server 2005 from any Java application, application server, or Java-enabled applet. This driver is a Type 4 JDBC driver that provides database connectivity through the standard JDBC application program interfaces (APIs) available in J2EE (Java2 Enterprise Edition). Per il download, fare clic qui.
Sul sito http://www.regexlib.com è disponibile una grande raccolta di espressioni regolari pronte all'uso. Attualmente l'archivio ne comprende quasi 1500, facimente accessibili grazie ad una comoda funzione di ricerca.
Per esigenze di lavoro ho dovuto approfondire l'utilizzo di Assembly .NET all'interno di database realizzati con SQL Server 2005. Dopo una breve ricerca, ho acquistato il libro Pro SQL Server 2005 Assemblies. Il volume, poco più di 250 pagine divise in 11 capitoli, affronta tutti gli aspetti legati alla realizzazione di Assembly .NET per SQL Server 2005, dalla fase di creazione a quella di deploy. Fin dalle prime pagine l'accento è posto sul fatto che, sebbene sia possibile utilizzare codice .NET all'interno del DBMS, è opportuno non abusare di questa funzionalità: just because .NET assemblies are available as an alternative to T-SQL...
Qualche mese fa avevo parlato dell'add-in per Visual Studio 2005 che consente di avviare Esplora risorse facendolo puntare direttamente alla cartella che contiene la soluzione o il progetto selezionato. In realtà una funzionalità simile è disponibile anche in Visual Studio: dopo aver aperto il file di un progetto, facendo clic destro sul tab corrispondente, tra i comandi visualizzati c'è anche Open Containing Folder:
Durante l'utilizzo di Visual Studio, è normale aprire numerose finestre, per visualizzare il codice sorgente, il designer, per accedere a TFS, ecc. Per chiuderle tutte velocemente, quando l'area di lavoro diventa troppo "affollata", può essere comodo aggiungere il comando Close All Documents alla barra degli strumenti: In questo modo, un semplice clic e ritorna l'ordine
Questo pomeriggio mi sono imbattutto in un problema legato alle date memorizzate in un database di SQL Server 2005. Mi sono però ricordato che il mitico Davide Mauri aveva parlato di questa tematica nel suo webcast di dicembre SQL Server Developer Best Practices - Parte 1: ho così recuperato la registrazione e, seguendo i consigli forniti, in poco tempo sono venuto a capo del problema! Grazie Davide, mi hai risparmiato un bel po' di fatica
Segnalo questo interessante articolo, pubblicato su MSDN Magazine di Febbraio, in cui viene fornita una panoramica sulla nuova versione di Visual Studio 2005 Team Edition dedicata ai DBA. Gli argomenti trattati sono i seguenti: Source control and change management for databases Working with new and existing databases Unit testing stored procedures, functions, and triggers Comparing databases
E' stata da poco rilasciato SQL Prompt versione 3. Si tratta di un add-in che aggiunge al Managament Studio e al Query Analizer di SQL Server funzionalità di Intellisense e autocompletamento per le query SQL. Le novità principali di questa release sono: - "Expand wild-cards" tab option - rapid tick-box column picker - code completion for: * table, view and column names * stored procedure names * USE * JOIN/JOIN ON - auto-uppercasing of keywords - configurable auto-popup after keywords - personalized snippet list Ricordo che SQL Prompt è un prodotto commerciale, di cui si può caricare una versione di prova valida per 14 giorni. Maggiori informazioni...
DocProject è un add-in che rende disponibili le funzionalità di Sandcastle all'interno dell'editor di Visual Studio 2005. La Release Candidate rilasciata ieri supporta progetti C#, Visual Basic .NET e ASP .NET.
Recentemente su MSDN è stata pubblicata una serie di tutorial sull'utilizzo di SQL Server 2005 Compact Edition: Rapid Application Development Using SQL Server 2005 Compact Edition and Visual C#.NET SQL Server 2005 Compact Edition Data Access with the SqlCeResultSet and Visual C#.NET Remote Data Access Synchronization with SQL Server 2005 Compact Edition and Visual C#.NET Configuring Internet Information Services for SQL Server 2005 Compact Edition Remote Data Access and Merge Replication I primi tre link contengono esempi di codice in C#, per avere accesso alle versioni Visual Basic .NET fare riferimento a questa pagina.
Ogni volta che reinstallo Visual Studio me ne dimentico... Se si vuole visualizzare automaticamente la finestra Output quando si avvia la compilazione di un progetto, bisogna spuntare l'opzione evidenzata: Nota: lo screenshot è stato preso utilizzando lo Snipping Tool di Windows Vista
In questo post Heath Stewart cerca di riassumere i problemi più comuni che si possono riscontrare durante l'installazione del Service Pack 1 di Visual Studio 2005. Per ognuno di essi è fornita anche una serie di link di approfondimento.
Cercando informazioni sul Service Pack 2 di SQL Server 2005, sono capitato per caso su questa pagina di Microsoft Careers, in cui si offre un posto di lavoro in un team che deve lavorare a SQL Server. Alla fine di questo annuncio, appare una notizia abbastanza inaspettata:
SQLServer Katmai ships at the end of 2007
Considerando che per l'attuale versione di SQL Server ci sono voluti almeno 5 anni di sviluppo, non so quanto questa affermazione possa essere veritiera...
In questa pagina si può trovare un altro articolo che spiega come far funzionare correttamente Visual Studio 2005 su Windows Vista. Seguendo i suggerimenti riportati sono riuscito ad ottenere un ambiente di sviluppo funzionante correttamente, anche se rimane qualche problemino che spero venga risolto con l'Update del Service Pack 1.
Negli ultimi mesi ho cercato di scrivere codice .NET rispettando le Naming conventions suggerite per i vari linguaggi. Oggi ho trovato un free ebook chiamato .NET Coding Guidelines, che credo mi sarà molto utile: .NET Coding Guidelines is a 100+ page ebook (PDF) on naming conventions, best coding practices and patterns written by the industry expert Steven Sartain and delivered to you for Free by SubMain. The document covers: Naming Guidelines Class Member Usage Guidelines Guidelines for Exposing Functionality to COM Error Raising & Handling Guidelines Array Usage Guidelines Operator Overloading Usage...
Questa pagina della Knowlege Base di Microsoft fornisce una panoramica su SQL Server 2005 Compact Edition RC1 e sulle note da tenere presente quando viene installato in un sistema con Visual Studio 2005 e SQL Server 2005.
Ecco qualche lettura per iniziare l'anno nuovo: What Every Dev Must Know About Multithreaded Apps Discover the Design Patterns You're Already Using in the .NET Framework (questo mi è stato utilissimo!) ADO.NET and System.Transactions
Questo articolo fornisce un'introduzione a NGen e spiega come utilizzarlo per migliorare le performance di un'applicazione .NET.
Code owners previously using the InvariantCulture for string comparison, casing, and sorting should strongly consider using a new set of String overloads in Microsoft .NET 2.0. Specifically, data that is designed to be culture-agnostic and linguistically irrelevant should begin specifying overloads using either the StringComparison.Ordinal or StringComparison.OrdinalIgnoreCase members of the new StringComparison enumeration. These enforce a byte-by-byte comparison similar to strcmp that not only avoids bugs from linguistic interpretation of essentially symbolic strings, but provides better performance.
Questo articolo è un po' vecchiotto, ma lo cito qui perché qualche giorno fa mi ha aiutato a risolvere un problema con cui stavo...
Da un paio di giorni è disponibile per il download la versione beta dell'aggiornamento per il Service Pack 1 di VS2005, il cui rilascio è previsto entro l'uscita a scaffale di Windows Vista e che dovrebbe risolvere i problemi che ancora affliggono Visual Studio quando è in esecuzione sul nuovo sistema operativo.
Ieri, alle ore 17.05 nel Dipartimento di Informatica dell'Università di Pisa, sono stato nominato Dottore Magistrale in Tecnologie Informatiche dopo aver discusso una tesi dal titolo "Progettazione e sviluppo di un framework per applicazioni mobili location-aware".
Volevo rendervi partecipi della mia gioia, anche perché alcuni spunti per il lavoro che ho svolto mi sono venuti proprio leggendo gli articoli pubblicati su questo blog!
Il 10 Dicembre scorso è stata rilasciata la CTP di Dicembre 2006 di Sandcastle. Queste le novità:
Sandcastle installer is now setting the DXROOT environment variable to the installation directory. All config files new has a DXROOT environment variable.
MrefBuilder now Exclude (Ripping) Namespace, types and members. Exclude (Ripping) Namespace, types and members are configured through MrefBuilder.config. This issue was discussed at http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=935512&SiteID=1.
The following HTML tags will pass through unchanged just like all the other HTML tags:
<br/>, <hr/>, <h1></h1>, <h2></h2>, <h3></h3>, <h4></h4>, <h5></h5>, <h6></h6>, <pre></pre>, <div></div>, <span></span>, <blockquote></blockquote>, <abbr></abbr>, <acronym></acronym>.
Support for separate...
Su questa pagina è stato pubblicato un comunicato relativo ad una vulnerabilità che affligge le seguenti versioni di Visual Studio: Standard Edition Professional Edition Team Suite Team Edition for Developers Team Edition for Architects Team Edition for Testers La vulnerabilità è considerata critica. Per fortuna è già stato reso disponibile un aggiornamento: http://www.microsoft.com/downloads/details.aspx?FamilyId=C2682C53-8E9A-4C7D-B782-BE78512DCBFA.
Segnalo questo interessante articolo che fornisce un'introduzione al Microsoft Intermediate Language (IL): http://www.devcity.net/Articles/54/msil_1_intro.aspx
Sul sito CodeProject è stato recentemente pubblicato un add-in per Visual Studio 2005 che aggiunge al menu contestuale del Solution Explorer un comando con cui è possibile avviare Esplora risorse facendolo puntare dirattemente sulla cartella che contiene la soluzione o il progetto selezionato. E' molto semplice, ma nello stesso tempo estramamente utile. Per i dettagli e per il download, fare clic qui.
Non si tratta dell'ennesima versione di SQL Server, ma il nuovo nome con cui è stato ribattezzato SQL Server 2005 Everywhere Edition:
SQL Server 2005 Compact Edition was previously named SQL Server 2005 Everywhere Edition during the product development phase.
La pagina principale del prodotto riporta ancora la vecchia nomenclatura, così come la pagina da cui si accede ai download. I collegamenti, tuttavia, portano alla versione corretta, ovvero Microsoft SQL Server 2005 Compact Edition RC1: per il download, fate clic qui. (A questo indirizzo è disponibile il book online). La versione definitiva è prevista per il mese di Dicembre.
Interessante articolo sulla sicurezza del codice, pubblicato su MSDN Magazine di Novembre.
Su Code Project sono stati pubblicati tre interessanti articoli che si occupano della scrittura delle cosiddette CLR stored procedure:
CLR store procedure vs. T-SQL store procedure: how to and when to choose CLR store procedure over T-SQL store procedure and vice versa
How to create CLR store procedure: how to create CLR store procedure
Deploy and Debug CLR store procedure: how deploy and debug CLR store procedure
A quanto pare qualcosa si sta muovendo...
This project is a Fork of NDoc it was created to add VS2005 support to NDoc. The Source is developed in and intended for use with Visual Studio.net 2005. The Application is intended for use on Microsoft's .Net Framework v.2.0
Attualmente il programma, ospitato su SourceForge, è in fase di beta testing. Ho fatto qualche velocissima prova, e mi sembra che funzioni correttamente... Nei prossimi giorni farò qualche test più approfondito, spero proprio di aver trovato il tool che cercavo! Il progetto è raggiungibile qui.
Lo scorso 7 ottobre è stata rilasciata la nuova CTP di Sandcastle. Il Wiki del programma è disponibile qui, mentre per il download fate riferimento a questa pagina. A giudicare dai bug fix di questa versione, sembra proprio che a breve potremmo utilizzare un prodotto molto ben fatto...
A distanza di 2 giorni da questo annucio, anche il programma Sandcastle Help File Builder è stato aggiornato per supportare la nuova relase. L'autore ha deciso di spostare il progetto su CodePlex, per cui adesso la pagina di riferimento è http://www.codeplex.com/Wiki/View.aspx?ProjectName=SHFB.
Forse perché mi ci sono avvicinato tardi, fatto sta che ho ancora qualche dubbio sui nuovi strumenti Microsoft per gli sviluppatori (.NET 3.0, Orcas, LINQ, ADO .NET vNext, e chi più ne ha più ne metta...). Sul sito www.larkware.com ho trovato il link a questo post che mi ha aiutato a fare un po' di chiarezza.
Poche ore fa l'autore del tool Sandcastle Help File Builder ha postato un aggiornamento del programma sul sito di Code Project. Non ho ancora avuto modo di provarlo, ma spero risolva i problemi che avevo riscontrato con la versione precedente. In attesa che Microsoft rilasci la versione definitiva di Sandcastle e fornisca uno strumenti visuale per il suo utilizzo...
Ho una delle funzionalità che hanno semplificato maggiormente la mia vita di sviluppatore sono gli Application and User Settings introdotti con .NET 2.0: su questa pagina c'è una breve introduzione all'argomento.
Purtroppo sappiamo tutti che il progetto NDoc è stato abbandonato dal suo autore. In attesa dei prossimi sviluppi di Sandcastle, sulla pagina http://jonas.lagerblad.com/blog/?p=5 ho trovato una versione di NDoc modificata perché funzioni correttamente con il .NET Framework 2.0. Fin qui niente di nuovo... La novità è che essa fornisce anche un supporto per i generics, seppure parziale.
Non è proprio la soluzione definitiva per la documentazione del codice, anche perché in alcuni casi la creazione della guida fallisce. Ad ogni modo, è comunque un progetto interessante, che può servire da soluzione temporanea, in attesa di buone notizie da Microsft :-) Per inciso, nella...
Sulla pagina http://www.codeproject.com/useritems/SandcastleBuilder.asp è stato recentemente pubblicato un programma scritto in C# che consente di automatizzare la creazione di file di documentazione con Sandcastle. Oltre al programma di installazione, è disponibile anche il codice sorgente. Personalmente, non sono ancora riuscito a far funzionare il nuovo tool Microsoft... sarà che è solo una CTP, ma prima avevo problemi utilizzando la riga di comando, ora con questo programma Sandcastle si ferma per un'ora sulla scritta Building help topics, poi genera il messaggio di errore BUILD FAILED: input string was not in a correct format... Comunque attendo fiducioso la prossima release!
Virtual Earth is the mapping technology that powers local.live.com, the latest local search and mapping site from Microsoft. Virtual Earth™ technology was built by the same team that created MapPoint® 2006 and the MapPoint Web service. It is implemented using a mix of both server-side and client-side technologies that include ASP.NET, asynchronous JavaScript, and JavaScript Object Notation (JSON). You can build your own application or Web site that uses Virtual Earth mapping technologies by using the Virtual Earth map control, a JavaScript component that provides all the functionality you need to draw maps, search for locations, and get driving...
Può sembrare un task banale, invece, se si deve cambiare a runtime la stringa di connessione di un report realizzato con Crystal Reports, è necessario scrivere alcune righe di codice. Sul sito di Code Project, all'indirizzo http://www.codeproject.com/useritems/Crystal_Report_Connection.asp, è illustrata una procedura che spiega come fare. Non è niente di eccezionale, ma è comunque uno snippet di codice abbastanza utile.
Al momento questa pagina risulta inaccessibile, ma per fortuna ci viene in aiuto la cara funzione cache di Google. Qui di seguito riporto il codice contenuto nella suddetta pagina:
'' this project creates the crystal report using the ADO.net features'1. ADD form'2. Add Crystalviewer on the form'3. Add dataset from Add new File'4. Add new element on to the Dataset (the element name should be the same as the name of the field or column 'in the current table )'5. Add Crytal report from Add new file'6. Follow the wizard to create connection for the report, Select the project Data and select the Dataset that u create in the project'7. Select the fields u want to display ' BEST PART IS THAT U CAN CHANGE THE DATABSE CONNECTION AT RUNTIME ' BUT IT SHOULD BE THE SAME DATABSE AND SHOULD HAVE SAME TABLE ' THIS HELPS U WHEN U INSTALL UR APPLICATION ONTO THE USER MACHINE WHERE THE DIRECTORY STRUCTURE WOULD NOT ' BE THE SAME' TO DO THAT U NEED TO CHANGE THE DATASOURCE PATH NAME '' THIS WORKS WITH ALL KIND THE DATABASE '' ALSO MYSQL'' IF U WANT TO CHANGE THE DATABSE OTHER THAN I USED (MICROSOFT ACCES) U NEED TO CHANGE THE CONNECTION STRING '' THAT IS THE DRIVER DETAILS AND MAY BE THE FORMAT APPROVED BY THAT DATABSE'' TO GET THE DIFFRENT DATABSE CONNECTION STRING GOTO http://www.connectionstrings.com/'' THE CURRENT STRING IS DSNLess STRING AND IT TO THE SAMPLE DATABASE OF CRYSTAL REPORT IN VISUAL STUDIO 2003'' DATABASE NAME = XTREME.MDB Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim con As New OdbcConnection Dim com As New OdbcCommand Dim adp As New OdbcDataAdapter Dim ds As New Dataset1 ds.Clear() Dim path = Application.StartupPath.ToString con.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};Dbq= C: Files Visual Studio .NET 2003 Reports.mdb;Uid=Admin;Pwd=;" com.CommandText = "select EmployeeID, [Last Name], FirstName from employee" com.CommandType = CommandType.Text com.Connection = con adp.SelectCommand = com Try adp.Fill(ds, "employeeDS") Catch ex As Odbc.OdbcException MsgBox(ex.Message) End Try Try Dim myreport As New CrystalReport1 myreport.SetDataSource(ds) cr.ReportSource = myreport Catch ex As Exception MsgBox(ex.Message) End TryEnd Sub
powered by IMHO 1.3
Girando per il sito di MSDN, ho trovato un interessantissimo articolo: Stored Procedure Object Interface Layer. Esso fornisce una class library (completa di codice sorgente) che semplifica enormemente l'utilizzo di stored procedure da codice .NET. In pratica, consente di mappare le stored procedure direttamente su metodi .NET, incaricandosi di effettuare "dietro le quinte" tutti i passaggi di parametri e le conversioni necessarie.
Questo meccanismo, inoltre, si integra perfettamente con il data layer realizzato con RapTier (di cui ho parlato in un post precedente).
In questi giorni ho avuto la necessità di creare un data layer per un'applicazione abbastanza complessa. Su consiglio di un mio professore universitario, ho provato RapTier. Dopo averlo scaricato e installato, sono rimasto sorpreso dalla sua potenza: Una volta specificato quale database utilizzare, è sufficiente premere un tasto per ottenere automaticamente un data layer (sono supportati sia C# sia VB .NET) che permette di manipolare le informazioni in pieno stile object-oriented.
Ad esempio, se il database contiene una tabella di nome Clients, RapTier genera una classe di nome ClientsCollection che al suo interno contiene tutti i metodi necessari per recuperare, aggiungere, modificare...
Ciao a tutti!
Con questo post inauguro ufficialmente il mio blog, che utilizzerò per condividere con quante più persone possibile le mie esperienze di programmatore .NET. Se qualcuno si ricorda di me, tempo fa (più o meno fino all'anno scorso), gestivo il sito L'angolo del programmatore VB, che con un certo rammarico ho deciso di abbandonare per mancanza di tempo. Ora però voglio riprendere a farmi sentire, sperando di poter dare qualche contributo utile a chi, come me, con l'informatica vive e si diverte :-)
Ci sentiamo presto su queste pagine!