Di .NET e di altre amenita'

July 2004 Blog Posts

Sql Server 2005 - Xml DataType

Un post che introduce al nuovo tipo "xml" che sarà presente in Sql Server 2005

http://blogs.msdn.com/sushilc/archive/2004/07/29/201042.aspx

Aspettiamo la parte 2...

code-inline vs code-behind

In questo blog Paschal solleva un problema che già mi ero posto.

Per quale orrido motivo in Visual Studio 2005 il modello code-inline è il default? Come giustamente chiosa, i nuovi utenti di questo sistema saranno per forza di cose portati ad utilizzare il codice nella pagina aspx, invece che in un file .cs o .vb a parte.

http://weblogs.asp.net/pleloup/archive/2004/07/28/199718.aspx

Data programming in C# 3.0

Anders Hejlsberg parla di una nuova feature di C# 3.0 che consentirà di trattare i dati con una sintassi Object Oriented.

mms://wm.microsoft.com/ms/msnse/0406/22899/Vision_of_Future.wmv

 

Resharper 1.0

Un add-in per Visual Studio .NET 2003, consigliato da Eric Gunnerson, che aggiunge capacità di refactoring e altro.

http://www.jetbrains.com/forms/resharper/download/evaluate

Un Blog su IE

Il team di sviluppo di Internet Explorer ha aperto il suo blog. E' interessante notare che al post titolato "I love this browser" (Steve insegna...) ci sono stati ben 285 commenti, molti dei quali non proprio politicamente corretti.

In buona sostanza nei primi 5 o 6 post, questo blog ha ricevuto una quantità enorme di commenti... speriamo che servano a smuoverli un pochino.

http://blogs.msdn.com/ie/

blog[at]boschin.it

Sconfitto l'attacco del Vietnam verso il PRT in sede Ecosoc

New York, 23 luglio 2004 - Nella serata di venerdì 23 luglio, a conclusione di un processo durato oltre due anni, il Consiglio economico e sociale delle Nazioni unite (ECOSOC) ha votato sulla raccomandazione vietnamita di sospendere lo stato consultivo del Partito Radicale Transnazionale per tre anni. La raccomandazione è stata respinta con 22 voti contrari, 20 a favore, 11 astensioni e un assente.

Il voto è stato preceduto da un dibattito aperto dall'intervento dell'Ambasciatore olandese, il quale, a nome dell'Unione europea, aveva affrontato una per una le accuse vietnamite respingendole tanto a livello precedurale quanto sostanziale. Immediatamente dopo l'UE, ha preso la parola l'Ambasciatore della Sierra Leone in sostegno al PRT. Il Vietnam rincarando la dose delle accuse contro i radicali, accuse che sono state ulterioremente respinte con forza dall'Italia, che, con l'Ambasciatore Spatafora ha sottolineato come un voto contro i radicali, oltre che essere ingiusto perché infondato, sarebbe stato anche contrario alle speranze e ai principi dell'Organizzazione delle Nazioni unite. Cuba, Cina, Russia, Benin, Indonesia e Stati uniti hanno inoltre preso la parola. Ruolo del Governo italiano che è stato, così come sottolineato dal Presidente e dal Tesoriere del PRT, attivo e positivo.

Martedì 20 , il Presidente e il Tesoriere del PRT, e l'eurodeputato radicale uscente Marco Cappato, avevano tenuto una conferenza stampa con una ventina dei parlamentari che avevno firmato l'appello in sostegno del PRT. In apertura di conferenza, anche il Ministro delle Comunicazioni Maurizio Gasparri aveva preso la parola. Sempre il 20, anche il Ministro degil Esteri Franco Frattini aveva rilasciato dichiarazioni di sostegno ai radicali e di chiarimento in merito alla mobilitazione dell'Italia in seno alle Nazioni unite .

Il voto all'ECOSOC chiude una vicenda iniziata nel maggio 2002, quando il Vietnam aveva depositato una prima accusa contro il PRT; da allora al voto, si sono susseguite ulteriori accuse dei vietnamiti che hanno richiesto la preparazione di quattro memorie difensive da parte dei radicali. Il 21 maggio 2004, il Comitato sulle organizzazioni non-governative aveva votato su una raccomandazione di sospensione per tre anni del PRT. La richiesta del Vietnam, formalmente portata avanti dalla Cina, aveva ottenuto il sostegno di Cina, Costa d'Avorio, Cuba, Russia, India, Iran, Pakistan, Sudan e Zimbawe. Otto i paesi contrari: Camerun, Cile, Francia, Germania, Perù, Romania, Stati uniti e Turhia. Colombia e Senegal si erano astenuti.

Gli ultimi giorni prima del voto erano stati caratterizzati da ulteriori accuse vietnamite; infatti Il e il 15 luglio 2004, l’Ambasciatore del Vietnam alle Nazioni Unite aveva spedito due lettere con diversi allegati a tutti i membri dell'ECOSOC al fine di presentatre nuove “prove” della “natura violenta” di Kok Ksor e della sua Montagnard Foundataion, annunciando che, qualsiasi sarebbe stata la decisione finale del Consiglio, il Vietnam avrebbe continuato la campagna per escludere Ksor dall'Onu. Il 21 luglio, il Rappresentante Permanente del Regno dei Paesi bassi aveva spedito, a nome dell'Unione europea, una lettera a tutti i membri dell’Ecosoc rispondendo una ad una alle “nuove” accuse dei vietnamiti richiedendo formalmente la distribuzione della risposta finale presentata dal PRT al Comitato.

Le ultime mosse del Vietnam prima del voto, erano arrivate dopo che il Comitato, su richiesta della Cina, non aveva acconsentito a un ulteriore dibattito sul caso, come invece richiesto dalla Germania. Nella sua prima lettera vietnamita, l’Ambasciatore Le Luong Minh aveva affermato, tra le altre cose, che la riapertura della decisione del Comitato sarebbe stata da ritenersi un atto “illegittimo”. Nel 2000, quando una questione similie era stata portata all’attenzione dell’Ecosoc, il Consiglio aveva deciso di riesaminare una delibera ai danni del Prt adottata tramite voto dal Comitato sulle ong in uno scenario molto simile a quello del 2004, caratterizzato da un più ampio numero di Stati a favore della raccomandazione.

Il 14 luglio 2004, il Presidente Sergio Stanzani ed il Tesoriere Danilo Quinto del PRT avevano lanciato un appello per cercare il sostegno individuale e di organizzazioni in vista del voto. Circa 4000 persone avevano sottoscritto in pochi giorni la petizione on-line mentre l'Australia Vietnam Human Rights Committee, Society for threatened peoples international, Human Rights Watch, Freedom House, Democracy Coalition Project, Council for a Community of Democracies, UN Watch, Amnesty International e il World Federalist Movement avevano spedito lettere ai membri dell’Ecosoc richiamandoli a votare contro la raccomandazione di sospendere il PRT per tre anni.

BugZilla

In occasione dell'uscita del mio secondo articolo su UgiDotNet, ho deciso di attivare un BugZilla per raccogliere segnalazioni, suggerimenti, bugs, richieste, sul codice allegato ai miei articoli Inside HttpHandlers e Interrogare il DNS con .NET e sugli articoli stessi.

L'istanza di BugZilla 2.16.6 è disponibile a chi voglia registrarsi, al seguente indirizzo:

http://www.elite.boschin.it/bugzilla

Per registrarsi è sufficiente immettere il proprio indirizzo di posta elettronica per ricevere una passord di accesso.

Godetevi BugZilla, è uno strumento tanto utile quanto graficamente brutto...

ed è brutto forte!

blog[at]boschin.it

Il mercato e le persone

Stamane mi è successa questa cosa strana, di cui probabilmente qualcuno si sarà accorto.

Appena giunto in ufficio, come tutte le mattine guardo un po' le novità in giro e posto un blog sul PocketUAE, con tanto di link alla pagina degli screenshot. Poi, mi metto a lavorare e non ci penso più, ignaro di quello che ho pubblicato veramente...

Poco fa, sono tornato sul blog e sono andato a rivedere quello che ho postato per assicurarmi di non aver commesso errori, dato che spesso posto in fretta. Clikko sul link e questo è quello che mi appare...

[pinned] 9.7.2004 15:42 [posted by Ismail Khatib]
Urgent! Looking for a job!
I'm desperately looking for a job in Germany.
Is your company located in Germany, maybe even in the Rhein-Main area?
...

Dopo essermi affrettato ad apportare una correzione al blog, che poteva dare adito a strane interpretazioni, mi sono soffermato a pensare a quello che deve passare questa persona in questo momento e a che brutto periodo sia questo per perdere il lavoro. So che si tratta quasi di un messaggio in bottiglia, ma se qualcuno di voi può dargli una mano, spero lo faccia.

Spesso in questi anni si pensa a come va il mercato, soprattutto nell'informatica, e specialmente su Internet, ma poco spesso, invece, ci si sofferma a ragionare su quale tipo di esperienza possa essere rimanere vittima di un licenziamento a causa di uno dei tanti fallimenti, che recentemente sono quasi all'ordine del giorno. I più fortunati, il proprio lavoro lo mantengono, magari anche lo cambiano, perchè è giusto scegliere tra le proposte che il mondo del lavoro ci offre, ma c'è sempre qualcuno, probabilmente anche capace, che capita in una azienda che non ha tutte le carte in regola per vincere la dura battaglia del mercato e alla fine si ritrova per strada.

Nel mondo dell'informatica, poi, i delusi sono molti; dal 2000, anno in cui pareva che l'esplosione di Internet non si dovesse mai fermare, di aziende ne sono morte molte di più di quelle che sono sopravvissute, e persone come quella che ha lanciato questo disperato appello, ce ne sono tante.

Auguri Ismail.

blog[at]boschin.it

Nostalgia.

Non si può dire che io sia un nostalgico, ma vedere cose di questo tipo mi riempie li cuore:

Bei tempi quelli...

blog[at]boschin.it

E' stata dura, ma l'ho battuto

Strana cosa da dire in un blog di .NET, ma stamane ho fatto una cosa di cui mi sento orgoglioso. Armato di solo google, mi sono seduto davanti ad una macchina Linux Suse 8.0 e ho portato a termine una combattutissima installazione di BugZilla!

Tralasciando gli encomi che bisogna deputare a questo straordinario software, lasciatemi dire che è stata una cosa tutt'altro che semplice. Non ci sono setup.exe, wizard, chilometriche documentazioni.Solo tu e la riga di comando e il buon google che ti sputa le soluzioni solo se le chiedi nel giusto modo.

La parte peggiore è stato Apache. Sarà anche il più vecchio WebServer, ma qui davvero IIS mi è mancato. Destreggiarsi tra .config, .htaccess, httpd, error.log e altre mille peculiarità è di certo affascinante, ma non toccatemi IIS.

E poi c'è BugZilla. Chiunque dovrebbe averne una copia installata in azienda. Davvero, se non lo conoscete provatelo... e chissa che un giorno qualcuno ci regali BugZilla.NET.

blog[at]boschin.it

Blog-Low

Si sente che sono in arrivo le ferie... da qualche giorno il blogging è diminuito notevolmente. E allora per ravvivare ecco un piccolo giocattolino che mi sono fatto...

peccato non poterlo usare!!!

Naming dei generics

Vi siete mai chiesti perchè per convenzione i generics usano una sola lettera per indicare i tipi da utilizzare?

public class Item {}

invece che

public class Item {}

Ecco come la pensa Eric Gunnerson (e trovo non abbia torto...)

http://blogs.msdn.com/ericgu/archive/2004/07/16/185538.aspx

X#

E disponibile una preview del compilatore X# che ora si chiama COmega.

http://www.research.microsoft.com/research/downloads/default.aspx

Strane prospettive

Finalmente stasera ho tempo di scrivere due righe nel blog e per far contento il mio amico Francesco, che da quando scrivo di dotNet si lamenta che il mio blog è diventato incomprensibile, voglio dedicare questo momento ad una breve riflessione sulle strane prospettive della gente di Treviso. Che da queste parti i "bigotti" nascano come i funghi nel sottobosco ormai è risaputo, ma stavolta abbiamo raggiunto e superato il limite.

Forse lo avrete sentito tutti, qui a Treviso abbiamo il dispiacere (il piacere per i più) di avere un sindaco che non vale una cicca e un ex-sindaco (ora vicesindaco) che la fa da padrone. Tale Gentilini, e sicuramente famigerato per essersi espresso in una serie di normative che definirei perlomeno discutibili, in materia di extracomunitari, barboni e "diversi" di ogni genere.

Stavolta tocca ai cani... che inopinatamente per i più, da domenica scorsa non sono più ammessi in centro storico, perchè inzozzano i quadroni di Piazza dei Signori con i loro sgradevoli escrementi. Non certo una delle norme più azzecate e chirurgiche che "el sior sindaco" abbia ma promulgato, ma perlomeno stavolta non si può dire che in questo ci sia una volontà discriminatoria... dato che i possessori di cani finora si sono ben guardati da pulire dove i loro fedeli compagni sporcavano, qualcuno ha pensato che era ora di risolvere il problema alla radice.

So già cosa volete dire; bastava una multa, un controllo preventivo, un, un, un... e potrei essere daccordo con voi, ma il punto non è questo.

Il punto è che, Sabato scorso, per la prima volta gli inossidabili elettori del beneamato vicesindaco si sono presentati in piazza per una manifestazione di protesta con tanto di striscioni e slogan e hanno dato vita ad un corteo accompagnato da tutti i generi di animali. 

Capite? Quando il sindaco si produceva in sfratti per gli extracomunitari oppure nella rimozione delle panchine per togliere il letto ai barboni, non ce n'è stato uno che si sia mosso (nemmeno coloro che alle spalle dicevano: "e no, ma così non si fà")

Oggi che gli hanno toccato "fido" che si fà? tutti in piazza, e mandiamolo via quel sindaco discriminatore!

Tutta questione di prospettive.

blog[at]boschin.it

Workshop collage

le sessioni

   
   

e la festa

Auguri UGI #1

Il taglio della torta è andato bene anche senza anchor points e guidelines

oooooooooooooooooooo....
scarica immagine (1245 x 1786 x 455KB)

Auguri UGI

Ieri a sorpresa i festeggiamenti per i tre anni dell'UgiDotNet

3 Anni
scarica immagine (2048 x 1536 x 480KB)

Tanti auguri!

HTTP Pipeline Secrets #4

Ricordate come si chiamava ASP.NET prima della beta2 del framework 1.0?

Questo pezzetto di codice che si trova nella AppDomainFactory del Framework 2.0 (e 1.0) vi può aiutare:

if ((strUrlOfAppOrigin == null) || (strUrlOfAppOrigin.Length < 1))
{
    strUrlOfAppOrigin = "
http://localhost/ASP_Plus";
}

Ricordate ora?

Web Services Tools

Un utile elenco di tools per WebServices da Beat Schwegler

http://weblogs.asp.net/beatsch/archive/2004/02/12/71782.aspx

HTTP Pipeline Secrets #3

Ieri sera, proseguendo nella mia operazione di speleologia informatica ho incontrato una cosa piuttosto strana che vi propongo: Stavo valutando la classe ISAPIRuntime, una delle classi che funge da interfaccia tra la parte unmanaged e quella managed della pipeline di ASP.NET. In realtà questa classe è il primissimo stadio della parte managed, e viene evocata per mezzo di COM Interop.

La classe ISAPIRuntime ha un metodo DoCGCollect() che suppongo venga chiamato dal runtime unmanaged per liberare le risorse. Qui ve lo propongo:

public void DoGCCollect()
{
      int num1;
      for (num1 = 10; (num1 > 0); num1 -= 1)
      {
            GC.Collect();
      }
}

In sostanza questo metodo non fa altro che chiamare la Collect() del Garbage Collector 10 volte... Inutile dire che sono molto perplesso; Uno si aspetterebbe di trovare raffinate tecniche di programmazione in condizioni così critiche.

Questo da l'impressione, piuttosto, di un ultimo tentativo di "urlare forte" nella speranza che ci sia qualcuno in ascolto.

blog[at]boschin.it

HTTP Pipeline Secrets #2

La mia avventura nella pipeline continua.

E finalmente ho incontrato un'altra novità del framework. l'urlMapping.

L'urlMapping, è completamente assente dalla documentazione della beta ma nonostante questo sono riuscito a comprenderne il funzionamento con solamente un paio di tentativi andati a vuoto.

     enabled="true">
    

Questa sezione nel web.config fa in modo che se nella barra degli indirizzi del broswer digitiamo http://www.mysite.com/notexists.aspx in realtà mandiamo in esecuzione la pagina http://www.mysite.com/exists.aspx

Tutto molto semplice. Una cosa di questo tipo con il framework 1.1 comportava lo scrivere una bel po di codice per fare il path rewriting. Tipicamente un HttpModule. Ora nel framework viene aggiuunto un UrlMappingExecutionStep in testa a tutta la catena di eventi dell'applicazione:

...
list1 = new ArrayList();

if (flag1)
{
 list1.Add(new UrlMappingsExecutionStep(this));
}

this.CreateEventExecutionSteps(HttpApplication.EventBeginRequest, list1);
this.CreateEventExecutionSteps(HttpApplication.EventPreAuthenticateRequest, list1);
this.CreateEventExecutionSteps(HttpApplication.EventAuthenticateRequest, list1);
...e così via...

Guardando il codice dello step di esecuzione del mapping si intuisce una cosa molto interessante; La querystring è parte costituente dell'url da mappare perciò è possibile usarla per redirigere il runtime su path diversi in caso di valori diversi; Vediamo il codice del metodo:

private void System.Web.HttpApplication.IExecutionStep.Execute()
{
   HttpContext context1 = this._application.Context;
   HttpRequest request1 = context1.Request;
   UrlMappingsConfig config1 = RuntimeConfig.GetConfig(context1).UrlMappings;

   if (config1 == null)
   {
   return;
   }
   string text1 = config1.UrlMappingsCollection[request1.RawUrl];

   if (text1 == null)
   {
      text1 = config1.UrlMappingsCollection[request1.Path];
   }
   if ((text1 != null) && (text1.Length > 0))
   {
      context1.RewritePath(text1, false);
   }
}

Rimarrà comunque la necessità di scrivere un HttpModule per esigenze un po' più raffinate.

blog[at]boschin.it

Un'importante sciocchezza!

Scusate un attimo, fermi tutti... voglio sperare che io mi stia sbagliando, che abbia preso un abbaglio, che una svista non mi abbia fatto vedere la giusta strada...

Ma Visual Web Developer Express non compila le classi?

Lo so, dopo quasi un'intera giornata che lo uso avrei dovuto accorgermene, ma in realtà quest'oggi per testare il fw2.0 in velocità ho sempre scritto il codice direttamente nella pagina. Ora però, che sono arrivato al provare un HttpModule e quando mi sono trovato a scrivere il type nel web.config, mi sono reso conto che non sapevo cosa scrivere.

Un breve sguardo e...niente namespace, niente cartella bin, niente assembly!!!

Ma non si era detto che i prodotti express dovevano servire a chi desiderava imparare ad usare .NET?

Se questo è vero penso proprio che la prima lezione sia stata un fiasco.

Vi prego. Qualcuno mi smentisca.

blog[at]boschin.it

HTTP Pipeline Secrets #1

Guidato dall'insostituibile Reflector del buon Roeder, e grazie ad un po' di tempo disponibile, stamane ho deciso di "ficcare il naso" nella versione 2.0 della HttpPipeline di ASP.NET.

Come ovvio, di modifiche ce ne sono, ma vi anticipo una chicca che ho scoperto esaminando il meccanismo di accodamento delle richieste del runtime; Vediamo il seguente codice estratto dal reflector:

...
HttpRequestPriority priority1 = RequestQueue.GetRequestPriority(wr);

if ((priority1 != HttpRequestPriority.Critical) && (this._count >= this._queueLimit))
{
   HttpRuntime.RejectRequestNow(wr, false);
   return null;
}
this.QueueRequest(wr, flag1, (priority1 > HttpRequestPriority.Normal));
...

Siamo nella classe che governa l'accodamento delle richieste, e nella prima riga si legge la priorità della richiesta; Nel blocco "if", sostanzialmente si dice questo: se il limite di richieste accodabili è stato raggiunto e la priorità non è "critical" allora scarta la richiesta;

Questa di per se è già una novità, dato che nei framework precedenti una richiesta non godeva di una priorità. Il valore di HttpRequestPriority viene letto dal nodo system.web/httpRuntime del web.config. Se andate nella documentazione della beta1 e guardate tra gli attributi documentati vedrete che requestPriority semplicemente non esiste. Questo però sembra essere un errore della documentazione, perchè se invece leggete l'overview della classe HttpRuntimeSection (il wrapper dell'omonima sezione sezione del web.config) l'attributo esiste.

Non del tutto appagato della scoperta, ho deciso di spulciare il metodo QueueRequest, che tra i vari parametri accetta due boolean, "isLocal" e "isHighPri". Ecco il sorgente del metodo:

private void QueueRequest(HttpWorkerRequest wr, bool isLocal, bool isHighPri)
{
      RequestQueue queue1 = this;
      lock (queue1)
      {
            if (isLocal)
            {
                  this._localQueue.Enqueue(wr);
            }
            else if (isHighPri)
            {
                  this._highPriQueue.Enqueue(wr);
            }
            else
            {
                  this._externQueue.Enqueue(wr);
            }
            this._count += 1;
      }

      ...omissis...
}

Notate nulla di strano? Io credo di sì. La RequestQueue non è una, ma sono trè!

"Egli è uno e trino" potrei dire se fossi cattolico...

C'è una coda per le richieste locali, una per quelle esterne e una per quelle "critiche". Il fw considera locali le richieste provenienti da 127.0.0.1 (poteva essere diversamente) ed esterne tutte le altre.

La caratteristica delle richieste critiche è di essere accodate sempre (occhio, ho detto accodate, non eseguite), anche quando il limite massimo del workerprocess è stato raggiunto. Come si legge in un trafiletto della documentazione, questa caratteristica è stata aggiunta per poter avere delle pagine "ad accesso amministrativo" che consentano di effettuare manutenzioni anche in condizioni di altissimo carico del sistema. L'esatta dicitura è: "to change security properties on a portal site or to cancel long-running business-logic"

Un'ultima curiosità: Guardando nel metodo DequeueRequest() che ha l'incarico di estrarre una richiesta da una delle tre code, per mandarla in esecuzione la prima coda ed essere valutata è la local e non la critica come si sarebbe portati a pensare;

Morale? Se dovete fare una manutenzione su un server "sotto pressione" scendete nel datacenter e sedetevi davanti al server; Avrete molte più possibilità che questo vi ascolti... ;-)

Ok, passatemi la lanterna e fatemi largo; la buia tana del coniglio mi attende.

Ecco come funzionano i Tracepoint

In questo post una semplice spiegazione, con tanto di screenshots di come impostare un Tracepoint in VS.2005

http://blogs.msdn.com/ms_joc/archive/2004/07/02/171960.aspx

ATTENZIONE: Patch sicurezza

Microsoft segnala una patch per risolvere una vulnerabilità, indicata come critica, di Internet Explorer;

Pagina Download

Paint.NET con codice sorgente

Al seguente link è possibile scaricare il setup e il sorgente di Paint.NET, un programma per l'editing di immagini scritto interamente in .NET; Ecco come descrivono il progetto gli autori:

"Paint.NET is a senior design project aided by a mentor at Microsoft.  It is a paint program designed entirely by students and written using Microsoft's .NET Framework.  The program makes it easier to create and edit photos. It maintains some of the best features of the original MS-Paint application and includes new, powerful tools. Such new tools include a history storage for undos and redos, and powerful multi-layering which is often seen only in high-quality, expensive photo-applications. This product was engineered with the latest in graphics and coding technology such as the new C# language from Microsoft, and the GDI+ graphics libraries. These programming frameworks allowed for the creation of a speedy, responsive application with an amazing array of graphic capabilities."

http://www.winisp.net/rbrewster/pdn.html

Differenze tra Sql Server 2005 Express e MSDE2000

Sempre dal weblog di Sql Express ecco una tabella che riassume le differenze tra SQL Express e MSDE.

Particolare rilievo va secondo me alla dimensione massima del database supportata che sale da 2 a 4GB, alla mancanza del famigerato Workload governor che consentirà di superare il limite di 8 accessi concorrenti di MSDE e la presenza di un Sql Manager.

 

SQL Server Express 2005

MSDE 2000

DB Engine Features

·         Stored Procedures, Triggers, Views, & Cursors

·         Stored Procedures, Triggers, Views, & Cursors

Tools

·         SQL Express Manager

·         None

Database size

·         4 GB

·         2 GB

Programming

·         CLR + T-SQL

·         T-SQL

Workload support

·         1 CPU, 1 GB RAM

·         Workload Governor

Replication support

·         Transactional & Merge (Subscription only)

·         Full Merge only

Setup/Install

·         GUI, Command line, Silent

·         Command line, Silent

Application XCopy

·         Available

·         Not Available

DTS Runtime

·         Not Available

·         Available

XML Support

·         Native XML

·         Non-native support

 

Sql Express Licensing

Per rispondere alle molte domande che ho visto nei gruppi di discussione in merito alle modalità di licensing dei prodotti express, ecco una interessante nota che è uscita sul blog di SQL Express

"SQL Server Express will be free to use and redistribute.  The only requirement that we have is that you register to redistribute the product.  The reason we require registration for redistribution is that we want to ensure that we can get critical security/product information to ISVs/partners if necessary."

Corey Thomas, Product Manager for SQL Server Express

Più chiaro di così

Ovviamente questo vale sicuramente per Sql Server Express, ma suppongo che si possa applicare anche a tutti gli altri prodotti express. Non mancherò di bloggare ulteriormente quando avrò maggiori dettagli.

blog[at]boschin.it

 

Utilizzo della memoria "un po' allegro"

Voglio sperare che quello che sto per dire sia motivato solo ed esclusivamente dalla beta version. Tuttavia devo segnalare che quando apro Visual Web Developer Express e assieme attivo Sql Server 2005 Express, immancabilmente dopo alcuni minuti mi si presenta il balloon che mi informa che la mia Virtual Memory scarseggia. Ecco cosa dice il task manager poco dopo aver iniziato a lavorare con i nuovissimi strumenti.

125 MB!!!

Notate che VS 2003 aperto contemporaneamente usa solo 6.5 MB contro il 53 MB di VWD.2005 e i 72!! di Sql Server.

Totale 125 MB.

sarà anche una beta, ma mi pare un po' eccessivo.

blog[at]boschin.it

Sql Express Blog

Ne ho beccato un'altro... eccovi l'appena nato weblog di Sql Server 2005 Express

http://blogs.msdn.com/sqlexpress/

Nel primo post i link a newsgroup e al bugtraq.

Newsgroup: http://communities.microsoft.com/newsgroups/default.asp?icp=sqlserver2005&slcid=us

BugTraq: http://lab.msdn.microsoft.com/express/sql/bugs/

Dynamic Search Conditions in T-SQL

Un imperdibile articolo di MVP Erland Sommarskog, sulla composizione dinamica di condizioni di ricerca con T-SQL; Avreste immaginato che ci fossero 9 (!) diversi modi per poterlo fare?

Dynamic Search Conditions in T-SQL