<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>SQL Server</title>
        <link>http://blogs.ugidotnet.org:443/dsantarelli/category/SQL Server.aspx</link>
        <description>SQL Server</description>
        <language>it-IT</language>
        <copyright>Dario Santarelli</copyright>
        <generator>Subtext Version 2.6.0.0</generator>
        <item>
            <title>Tools per combattere le SQL Injections</title>
            <link>http://blogs.ugidotnet.org:443/dsantarelli/archive/2008/06/26/tools-per-combattere-le-sql-injections.aspx</link>
            <description>&lt;p&gt;Dato che siamo in periodo di attacchi SQL Injection di massa (&lt;a href="http://www.bigthink.it/virus/il-web-sotto-attacco-con-sql-injection/" target="_blank"&gt;esempio1&lt;/a&gt; , &lt;a href="http://andreafortuna.wordpress.com/2008/04/24/sql-injection-di-massa-nmidahenacom-aspdercom-e-nihaorr1com/" target="_blank"&gt;esempio2&lt;/a&gt;), riporto questo bel &lt;a href="http://www.misfitgeek.com/Tools+To+Block+And+Eradicate+SQL+Injection.aspx" target="_blank"&gt;post&lt;/a&gt; di &lt;a href="http://www.misfitgeek.com" target="_blank"&gt;Joe Stagner&lt;/a&gt; che parte dal recente &lt;a href="http://www.misfitgeek.com/ct.ashx?id=88903016-15aa-4ab0-8468-aac51c0773ab&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2ftechnet%2fsecurity%2fadvisory%2f954462.mspx" target="_blank"&gt;advisory di Microsoft&lt;/a&gt; sugli ultimi attacchi rilevati nel Web &lt;em&gt;("Rise in SQL Injection Attacks Exploiting Unverified User Data Input"&lt;/em&gt;) per classificare alcuni tools dedicati alla difesa in base alla figura professionale (Web Developers vs IT Administrators).&lt;br /&gt;I tools citati nel post sono:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/sqlsecurity/archive/2008/06/24/microsoft-source-code-analyzer-for-sql-injection-june-2008-ctp.aspx" target="_blank"&gt;MSCASI - Microsoft Source Code Analyzer for SQL Injection&lt;/a&gt; (identifica le vulnerabilità di pagine ASP tramite "static code analysis")  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.communities.hp.com/securitysoftware/blogs/spilabs/archive/2008/06/23/finding-sql-injection-with-scrawlr.aspx" target="_blank"&gt;Scrawlr&lt;/a&gt; (identifica le vulnerabilità tramite il crawling del sito)  &lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.iis.net/wadeh/archive/2008/06/24/urlscan-v3-0-beta-release.aspx" target="_blank"&gt;UrlScan v3.0 Beta&lt;/a&gt; (blocca le richieste HTTP prima che vengano processate da IIS)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Come al solito.... &lt;a href="http://blogs.msdn.com/sdl/" target="_blank"&gt;prevenire&lt;/a&gt; è meglio che &lt;a href="http://fc04.deviantart.com/fs10/i/2006/114/e/1/F__king_Computer_by_cubemb.jpg" target="_blank"&gt;curare&lt;/a&gt; :)&lt;br /&gt;&lt;br /&gt;Technorati tags: &lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=SQLInjection" /&gt;&lt;a href="http://technorati.com/tag/SQLInjection"&gt;SQL Injection&lt;/a&gt;, &lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=SQL" /&gt;&lt;a href="http://technorati.com/tag/SQL"&gt;SQL&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org:443/dsantarelli/aggbug/93177.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dario Santarelli</dc:creator>
            <guid>http://blogs.ugidotnet.org:443/dsantarelli/archive/2008/06/26/tools-per-combattere-le-sql-injections.aspx</guid>
            <pubDate>Thu, 26 Jun 2008 14:30:45 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org:443/dsantarelli/archive/2008/06/26/tools-per-combattere-le-sql-injections.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org:443/dsantarelli/comments/commentRss/93177.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org:443/dsantarelli/services/trackbacks/93177.aspx</trackback:ping>
        </item>
        <item>
            <title>[SQL Server 2005] Rigenerare il transaction log file nella creazione di un DB</title>
            <link>http://blogs.ugidotnet.org:443/dsantarelli/archive/2008/04/23/sql-server-2005-rigenerare-il-transaction-log-file-nella-creazione.aspx</link>
            <description>&lt;p&gt;Questa me la segno qui sul mio blog giusto per appunto personale. &lt;br /&gt;Una delle &lt;a href="http://msdn2.microsoft.com/en-us/library/ms176061.aspx" target="_blank"&gt;opzioni del comando CREATE DATABASE&lt;/a&gt; di SQL Server 2005 è FOR ATTACH_REBUILD_LOG, che si applica a database r/w per ricreare un transaction log file (.ldf) qualora non si avessero a disposizione gli originari. &lt;br /&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-bottom: 0pt; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span lang="EN-US" style="font-size: 8pt; color: blue; font-family: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;USE&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 8pt; font-family: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt; [master]&lt;br /&gt;&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 8pt; font-family: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;GO&lt;br /&gt;&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 8pt; color: blue; font-family: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;CREATE&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 8pt; font-family: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt; &lt;span style="color: blue"&gt;DATABASE&lt;/span&gt; [Test] &lt;span style="color: blue"&gt;ON&lt;/span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 8pt; font-family: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;span style="color: gray"&gt;(&lt;/span&gt;&lt;span style="color: blue"&gt;FILENAME&lt;/span&gt; &lt;span style="color: gray"&gt;=&lt;/span&gt; N&lt;span style="color: red"&gt;'C:\...\&amp;lt;dbName&amp;gt;.mdf'&lt;/span&gt;&lt;span style="color: gray"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 8pt; font-family: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;span style="color: blue"&gt;FOR&lt;/span&gt; &lt;span style="color: blue"&gt;ATTACH_REBUILD_LOG&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;GO&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;Giusto per approfondire un po' la questione, l'opzione FOR ATTACH_REBUILD_LOG può essere utile quando si copia un DB con un log molto grande in un altro server dove magari la copia viene utilizzata quasi sempre (o sempre) per operazioni di lettura, richiedendo quindi un minore spazio di log rispetto al database originale.&lt;br /&gt;&lt;br /&gt;Technorati tags: &lt;a href="http://technorati.com/tag/SqlServer"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=SqlServer" /&gt;SqlServer&lt;/a&gt;&lt;img src="http://blogs.ugidotnet.org:443/dsantarelli/aggbug/92343.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dario Santarelli</dc:creator>
            <guid>http://blogs.ugidotnet.org:443/dsantarelli/archive/2008/04/23/sql-server-2005-rigenerare-il-transaction-log-file-nella-creazione.aspx</guid>
            <pubDate>Wed, 23 Apr 2008 18:23:39 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org:443/dsantarelli/archive/2008/04/23/sql-server-2005-rigenerare-il-transaction-log-file-nella-creazione.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org:443/dsantarelli/comments/commentRss/92343.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org:443/dsantarelli/services/trackbacks/92343.aspx</trackback:ping>
        </item>
        <item>
            <title>SQL Server Data Services (SSDS)</title>
            <link>http://blogs.ugidotnet.org:443/dsantarelli/archive/2008/03/27/sql-server-data-services-ssds.aspx</link>
            <description>&lt;p&gt;Ho appena finito di leggere un po' di documentazione sui &lt;a target="_blank" href="http://www.microsoft.com/sql/dataservices/default.mspx"&gt;SQL Server Data Services&lt;/a&gt; (che al primo impatto mi sono sembrati essere del tutto simili a &lt;a target="_blank" href="http://www.amazon.com/gp/browse.html?node=16427261"&gt;Amazon S3 - "Amazon Simple Storage Service"&lt;/a&gt;). Mi sembra un'iniziativa molto interessante, soprattutto pensando ad applicazioni 'collaborative' che condividono la stessa sorgente dati sul web, applicazioni mashup nonché a tutte quelle applicazioni che richiedono un modello di storage e query molto semplice e flessibile, basato su un minimo set di security e manageability. &lt;br /&gt;
Personalmente sarei curioso di vedere in azione le API per lo sviluppo Web che forniranno il supporto built-in allo standard SOAP e a REST...che dire di più...un'altro investimento di Microsoft verso il business basato sui servizi on-demand, un mercato da tenere sotto stretta osservazione ;).&lt;/p&gt;
&lt;p&gt;Technorati tags: &lt;a href="http://technorati.com/tag/SQLServer"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=SQLServer" /&gt;SQL Server&lt;/a&gt;, &lt;a href="http://technorati.com/tag/SSDS"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=SSDS" /&gt;SSDS&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org:443/dsantarelli/aggbug/91909.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dario Santarelli</dc:creator>
            <guid>http://blogs.ugidotnet.org:443/dsantarelli/archive/2008/03/27/sql-server-data-services-ssds.aspx</guid>
            <pubDate>Thu, 27 Mar 2008 18:34:46 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org:443/dsantarelli/archive/2008/03/27/sql-server-data-services-ssds.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org:443/dsantarelli/comments/commentRss/91909.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org:443/dsantarelli/services/trackbacks/91909.aspx</trackback:ping>
        </item>
        <item>
            <title>LEN e DATALENGTH su stringhe</title>
            <link>http://blogs.ugidotnet.org:443/dsantarelli/archive/2007/10/16/len-e-datalength-su-stringhe.aspx</link>
            <description>&lt;p&gt;Tutto nasce dalla necessità di ottenere la lunghezza di una variabile stringa che includa gli spazi bianchi alla fine. In T-SQL esiste la celeberrima funzione LEN che restituisce appunto il numero di caratteri di una stringa escludendo però gli spazi bianchi alla fine. La funzione DATALENGTH restituisce invece il numero di bytes usati per rappresentare l'espressione passata come argomento. Tramite il seguente esempio ci rendiamo conto di come in realtà occorra dare grande attenzione al tipo di codifica che si intende utilizzare per la rappresentazione delle variabili stringa: &lt;/p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:d8844594-d694-4198-9937-bc8ace17cc97" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;;overflow: auto;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #0000FF; "&gt;DECLARE&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #008000; "&gt;@MyVAR&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; font-weight: bold; "&gt;nvarchar&lt;/span&gt;&lt;span style="color: #000000; "&gt;(&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold; "&gt;4&lt;/span&gt;&lt;span style="color: #000000; "&gt;)
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;SET&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #008000; "&gt;@MyVAR&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #FF0000; "&gt;'&lt;/span&gt;&lt;span style="color: #FF0000; "&gt;abc &lt;/span&gt;&lt;span style="color: #FF0000; "&gt;'&lt;/span&gt;&lt;span style="color: #000000; "&gt;

&lt;/span&gt;&lt;span style="color: #008080; "&gt;--&lt;/span&gt;&lt;span style="color: #008080; "&gt; UNICODE character data. (nvarchar)&lt;/span&gt;&lt;span style="color: #008080; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;SELECT&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #FF00FF; "&gt;LEN&lt;/span&gt;&lt;span style="color: #000000; "&gt;(&lt;/span&gt;&lt;span style="color: #008000; "&gt;@MyVAR&lt;/span&gt;&lt;span style="color: #000000; "&gt;) &lt;/span&gt;&lt;span style="color: #008080; "&gt;--&lt;/span&gt;&lt;span style="color: #008080; "&gt; restituisce 3&lt;/span&gt;&lt;span style="color: #008080; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;SELECT&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #FF00FF; "&gt;DATALENGTH&lt;/span&gt;&lt;span style="color: #000000; "&gt;(&lt;/span&gt;&lt;span style="color: #008000; "&gt;@MyVAR&lt;/span&gt;&lt;span style="color: #000000; "&gt;) &lt;/span&gt;&lt;span style="color: #008080; "&gt;--&lt;/span&gt;&lt;span style="color: #008080; "&gt; restituisce 8&lt;/span&gt;&lt;span style="color: #008080; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;SELECT&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #FF00FF; "&gt;DATALENGTH&lt;/span&gt;&lt;span style="color: #000000; "&gt;(&lt;/span&gt;&lt;span style="color: #008000; "&gt;@MyVAR&lt;/span&gt;&lt;span style="color: #000000; "&gt;)&lt;/span&gt;&lt;span style="color: #808080; "&gt;/&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold; "&gt;2&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #008080; "&gt;--&lt;/span&gt;&lt;span style="color: #008080; "&gt; restituisce 4&lt;/span&gt;&lt;span style="color: #008080; "&gt;
&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt;--&lt;/span&gt;&lt;span style="color: #008080; "&gt; NON-UNICODE character data. (varchar)&lt;/span&gt;&lt;span style="color: #008080; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;SELECT&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #FF00FF; "&gt;LEN&lt;/span&gt;&lt;span style="color: #000000; "&gt;(&lt;/span&gt;&lt;span style="color: #FF0000; "&gt;'&lt;/span&gt;&lt;span style="color: #FF0000; "&gt;abc &lt;/span&gt;&lt;span style="color: #FF0000; "&gt;'&lt;/span&gt;&lt;span style="color: #000000; "&gt;) &lt;/span&gt;&lt;span style="color: #008080; "&gt;--&lt;/span&gt;&lt;span style="color: #008080; "&gt; restituisce 3&lt;/span&gt;&lt;span style="color: #008080; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;SELECT&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #FF00FF; "&gt;DATALENGTH&lt;/span&gt;&lt;span style="color: #000000; "&gt;(&lt;/span&gt;&lt;span style="color: #FF0000; "&gt;'&lt;/span&gt;&lt;span style="color: #FF0000; "&gt;abc &lt;/span&gt;&lt;span style="color: #FF0000; "&gt;'&lt;/span&gt;&lt;span style="color: #000000; "&gt;) &lt;/span&gt;&lt;span style="color: #008080; "&gt;--&lt;/span&gt;&lt;span style="color: #008080; "&gt; restituisce 4&lt;/span&gt;&lt;span style="color: #008080; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;SELECT&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #FF00FF; "&gt;DATALENGTH&lt;/span&gt;&lt;span style="color: #000000; "&gt;(&lt;/span&gt;&lt;span style="color: #FF0000; "&gt;'&lt;/span&gt;&lt;span style="color: #FF0000; "&gt;abc &lt;/span&gt;&lt;span style="color: #FF0000; "&gt;'&lt;/span&gt;&lt;span style="color: #000000; "&gt;)&lt;/span&gt;&lt;span style="color: #808080; "&gt;/&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold; "&gt;2&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #008080; "&gt;--&lt;/span&gt;&lt;span style="color: #008080; "&gt; restituisce 2&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;Osserviamo come, di default, una stringa passata per valore venga in realtà parserizzata come un varchar e quindi come NON-Unicode (a meno dell'utilizzo del prefisso 'N' per stringhe costanti).... Banale ma non troppo direi!!!&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://www.tnl.net/img/technorati.gif" /&gt; Technorati tags: &lt;a href="http://technorati.com/tag/SQLServer"&gt;&lt;img alt="*" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=SQLServer" /&gt;SQLServer&lt;/a&gt;, &lt;a href="http://technorati.com/tag/T-SQL"&gt;&lt;img alt="*" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=T-SQL" /&gt;T-SQL&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org:443/dsantarelli/aggbug/88984.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dario Santarelli</dc:creator>
            <guid>http://blogs.ugidotnet.org:443/dsantarelli/archive/2007/10/16/len-e-datalength-su-stringhe.aspx</guid>
            <pubDate>Tue, 16 Oct 2007 19:24:31 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org:443/dsantarelli/archive/2007/10/16/len-e-datalength-su-stringhe.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org:443/dsantarelli/comments/commentRss/88984.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org:443/dsantarelli/services/trackbacks/88984.aspx</trackback:ping>
        </item>
        <item>
            <title>SSIS: &amp;quot;product level is insufficient...&amp;quot; nell'esecuzione di un package</title>
            <link>http://blogs.ugidotnet.org:443/dsantarelli/archive/2007/10/01/ssis-quotproduct-level-is-insufficient.quot-nellesecuzione-di-un-package.aspx</link>
            <description>&lt;p&gt;Se ottenete un errore del tipo "&lt;em&gt;product level is insufficient ...&lt;/em&gt;" oppure "&lt;em&gt;The task ... cannot run on this edition of Integration Services. It requires a higher level edition.&lt;/em&gt;" nell'esecuzione di un package dtsx può dipendere da due fattori: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;avete installato soltanto le Workstation Components di SQL Server  &lt;/li&gt;&lt;li&gt;il package utilizza dei componenti che richiedono una versione superiore di SQL Server (e.g. il componente "Data Conversion" necessita della versione Enterprise)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;In soldoni, per risolvere il problema o si installano i SSIS nella macchina in cui viene fatto eseguire il package oppure si sposta l'esecuzione stessa del package su una macchina in cui è installata la versione full dei SSIS.&lt;br /&gt;Per maggiori informazioni vi rimando a &lt;a href="http://blogs.msdn.com/michen/archive/2006/11/11/ssis-product-level-is-insufficient.aspx" target="_blank"&gt;questo post di Michael Entin&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;P.S.: Ecco cosa accade a chi come me sperava di cavarsela con il &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=3C856B93-369F-4C6F-9357-C35384179543&amp;amp;displaylang=it" target="_blank"&gt;Toolkit di Microsoft SQL Server 2005 Express Edition&lt;/a&gt; ;)&lt;/p&gt; &lt;p&gt;&lt;img src="http://www.tnl.net/img/technorati.gif" /&gt; Technorati tags: &lt;a href="http://technorati.com/tag/SQLServer"&gt;&lt;img alt="*" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=SQLServer" /&gt;SQLServer&lt;/a&gt;, &lt;a href="http://technorati.com/tag/SSIS"&gt;&lt;img alt="*" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=SSIS" /&gt;SSIS&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org:443/dsantarelli/aggbug/88643.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dario Santarelli</dc:creator>
            <guid>http://blogs.ugidotnet.org:443/dsantarelli/archive/2007/10/01/ssis-quotproduct-level-is-insufficient.quot-nellesecuzione-di-un-package.aspx</guid>
            <pubDate>Mon, 01 Oct 2007 18:44:59 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org:443/dsantarelli/archive/2007/10/01/ssis-quotproduct-level-is-insufficient.quot-nellesecuzione-di-un-package.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org:443/dsantarelli/comments/commentRss/88643.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org:443/dsantarelli/services/trackbacks/88643.aspx</trackback:ping>
        </item>
        <item>
            <title>SSIS: Impostare una Custom Property di un Data Flow Component</title>
            <link>http://blogs.ugidotnet.org:443/dsantarelli/archive/2007/07/27/86753.aspx</link>
            <description>Oggi mi sono imbattuto nella necessità di impostare la Custom Property &lt;em&gt;OpenRowset&lt;/em&gt; di un Data Flow Component (un OLE DB Source per la precisione) all'interno di un Data Flow Task. Combinando Google, MSDN, intuito e designer di Visual Studio :), sono riuscito nel mio intento tramite il seguente codice:&lt;br /&gt;
&lt;div class="Section1"&gt;
&lt;p class="MsoNormal" style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;using&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt; Microsoft.SqlServer.Dts.Runtime;&lt;br /&gt;
&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;using&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt; Microsoft.SqlServer.Dts.Pipeline.Wrapper; &lt;span style="mso-spacerun: yes"&gt;&lt;span style="COLOR: #00b050"&gt;// Classi e interfacce per creare Data Flow Components ed automatizzare Data Flow Tasks&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;...&lt;br /&gt;
&lt;br /&gt;
&lt;span style="COLOR: #2b91af"&gt;TaskHost&lt;/span&gt; MyTaskHost = (&lt;span style="COLOR: #2b91af"&gt;TaskHost&lt;/span&gt;)package.Executables[0]; &lt;span style="mso-spacerun: yes"&gt;&lt;span style="COLOR: #00b050"&gt;// Attenzione all'ordinale ;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; COLOR: #2b91af; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span style="COLOR: #00b050"&gt;// MainPipe: wrapper per configurare un Data Flow Task programmaticamente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; COLOR: #2b91af; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;br /&gt;
MainPipe&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt; dataFlowTask = MyTaskHost.InnerObject &lt;span style="COLOR: blue"&gt;as&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;MainPipe&lt;/span&gt;; &lt;br /&gt;
&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; COLOR: #2b91af; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;br /&gt;
&lt;span lang="EN-US" style="FONT-SIZE: 8pt; COLOR: #2b91af; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span style="COLOR: #00b050"&gt;// Ciascun componente del Data Flow Task è rappresentato da un ComponentMetadata&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; COLOR: #2b91af; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;IDTSComponentMetaData90&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt; MyComponentMetadata = dataFlowTask.ComponentMetaDataCollection[&lt;span style="COLOR: #a31515"&gt;"MyComponentName"&lt;/span&gt;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span lang="EN-US" style="FONT-SIZE: 8pt; COLOR: #2b91af; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span style="COLOR: #00b050"&gt;&lt;br /&gt;
// Accesso alla Custom Property "OpenRowset"&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; COLOR: #2b91af; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;IDTSCustomProperty90&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt; CustomProperty = MyComponentMetadata.CustomPropertyCollection[&lt;span style="COLOR: #a31515"&gt;"OpenRowset"&lt;/span&gt;];&lt;br /&gt;
&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;CustomProperty.Value = &lt;span style="COLOR: #a31515"&gt;"MyValue"&lt;/span&gt;;&lt;span style="COLOR: green"&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #2b91af"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p class="MsoNormal" style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; COLOR: #2b91af; FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;...&lt;/span&gt;&lt;span lang="EN-US" style="mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: en-us"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org:443/dsantarelli/aggbug/86753.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dario Santarelli</dc:creator>
            <guid>http://blogs.ugidotnet.org:443/dsantarelli/archive/2007/07/27/86753.aspx</guid>
            <pubDate>Fri, 27 Jul 2007 01:01:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org:443/dsantarelli/archive/2007/07/27/86753.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org:443/dsantarelli/comments/commentRss/86753.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org:443/dsantarelli/services/trackbacks/86753.aspx</trackback:ping>
        </item>
    </channel>
</rss>