<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>SSIS on Cathrine Wilhelmsen</title>
    <link>https://www.cathrinewilhelmsen.net/tags/ssis/</link>
    <description>Recent content in SSIS on Cathrine Wilhelmsen</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <copyright>© Cathrine Wilhelmsen</copyright>
    <lastBuildDate>Tue, 01 Dec 2020 00:00:00 +0100</lastBuildDate>
    <atom:link href="https://www.cathrinewilhelmsen.net/tags/ssis/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Biml for OData Source and Connection Manager in SSIS</title>
      <link>https://www.cathrinewilhelmsen.net/biml-odata-source-connection-manager/</link>
      <pubDate>Tue, 24 Jul 2018 11:39:48 +0200</pubDate>
      <guid>https://www.cathrinewilhelmsen.net/biml-odata-source-connection-manager/</guid>
      <description>&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&lt;img src=&#34;https://www.cathrinewilhelmsen.net/images/biml/BimlWheelCircle.svg&#34; alt=&#34;Biml Wheel.&#34; width=&#34;80&#34; height=&#34;80&#34; class=&#34;alignleft width-80&#34; loading=&#34;lazy&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;As of July 2018, there is no built-in Biml support for OData. To work with OData in Biml, you have to create a custom source and connection manager. This requires more Biml code than built-in functions like OleDbSource and may look a little overwhelming at first. But don&amp;rsquo;t worry! You don&amp;rsquo;t have to start from scratch.&lt;/p&gt;&#xA;&lt;p&gt;In this blog post, we will first look at the properties of the OData Connection Manager and how to script it in Biml. Then, we will do the same for the OData Source. Finally, we will tie it all together and create a complete SSIS package that you can use a starting point for your own projects.&#xA;&lt;span id=&#34;continue-reading&#34;&gt;&lt;/span&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Azure Data Factory v2 with Mike Flasko</title>
      <link>https://www.cathrinewilhelmsen.net/azure-data-factory-v2-mike-flasko/</link>
      <pubDate>Thu, 05 Oct 2017 04:38:38 +0200</pubDate>
      <guid>https://www.cathrinewilhelmsen.net/azure-data-factory-v2-mike-flasko/</guid>
      <description>&lt;p&gt;One of the sessions I was most looking forward to at Microsoft Ignite 2017 was &lt;em&gt;New capabilities for data integration in the cloud&lt;/em&gt; with Mike Flasko. In that session, he talks about Azure Data Factory (ADF) v2 and its new first-class SSIS support.&lt;/p&gt;&#xA;&lt;p&gt;After the session, I convinced Mike Flasko and Sanjay Krishnamurthi to have a chat with me 🤓 We talked about what&amp;rsquo;s new in Azure Data Factory v2, including the updated pipeline application model with a new visual design canvas, new Software Development Kits (SDKs) for working with Azure Data Factory, the new Integration Runtime, and the ability to run SSIS packages inside Azure Data Factory v2.&lt;/p&gt;&#xA;&lt;h2 id=&#34;azure-data-factory-v2-with-mike-flasko&#34;&gt;Azure Data Factory v2 with Mike Flasko&lt;/h2&gt;&#xA;&lt;p&gt;&lt;iframe width=&#34;500&#34; height=&#34;280&#34; src=&#34;https://www.youtube-nocookie.com/embed/wr0696EC8pA&#34; title=&#34;YouTube Video Player&#34; loading=&#34;lazy&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&#34; allowfullscreen&gt;&lt;/iframe&gt;&#xA;&lt;span id=&#34;continue-reading&#34;&gt;&lt;/span&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why can&#39;t I create SSIS Project Parameters from Biml?</title>
      <link>https://www.cathrinewilhelmsen.net/cant-create-ssis-project-parameters-from-biml/</link>
      <pubDate>Fri, 27 May 2016 13:01:45 +0200</pubDate>
      <guid>https://www.cathrinewilhelmsen.net/cant-create-ssis-project-parameters-from-biml/</guid>
      <description>&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&lt;img src=&#34;https://www.cathrinewilhelmsen.net/images/biml/BimlWheelCircle.svg&#34; alt=&#34;Biml Wheel.&#34; width=&#34;80&#34; height=&#34;80&#34; class=&#34;alignleft width-80&#34; loading=&#34;lazy&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://bideveloperextensions.github.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;BIDS Helper&lt;/a&gt; and &lt;a href=&#34;https://www.varigence.com/BimlExpress&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;BimlExpress&lt;/a&gt; do not support creating SSIS project parameters from Biml out of the box. There are workarounds (and I have previously blogged about my &lt;a href=&#34;https://www.cathrinewilhelmsen.net/create-ssis-project-parameters-biml-bids-helper&#34;&gt;solution for creating project parameters from Biml&lt;/a&gt;), but &lt;em&gt;why&lt;/em&gt; is this not a standard feature in BIDS Helper or BimlExpress? Many people have asked about this, so I sat down with Biml creator &lt;a href=&#34;http://www.varigence.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Scott Currie&lt;/a&gt; (&lt;a href=&#34;https://twitter.com/ScottCurrie&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;@ScottCurrie&lt;/a&gt;) to get the full story.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-doesnt-bids-helper-or-bimlexpress-emit-ssis-project-parameters-from-biml&#34;&gt;Why doesn&amp;rsquo;t BIDS Helper or BimlExpress emit SSIS project parameters from Biml?&lt;/h2&gt;&#xA;&lt;p&gt;Well, technically it &lt;em&gt;could&lt;/em&gt;, but it &lt;em&gt;shouldn&amp;rsquo;t&lt;/em&gt;. The user experience would have serious issues, leading to confusion, frequent errors, and the potential for data loss. How can that be?&#xA;&lt;span id=&#34;continue-reading&#34;&gt;&lt;/span&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Create SSIS Project Parameters from Biml</title>
      <link>https://www.cathrinewilhelmsen.net/create-ssis-project-parameters-biml-bids-helper/</link>
      <pubDate>Wed, 25 Nov 2015 15:16:24 +0100</pubDate>
      <guid>https://www.cathrinewilhelmsen.net/create-ssis-project-parameters-biml-bids-helper/</guid>
      <description>&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&lt;img src=&#34;https://www.cathrinewilhelmsen.net/images/biml/BimlWheelCircle.svg&#34; alt=&#34;Biml Wheel.&#34; width=&#34;80&#34; height=&#34;80&#34; class=&#34;alignleft width-80&#34; loading=&#34;lazy&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;If you are using &lt;a href=&#34;https://bideveloperextensions.github.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;BIDS Helper&lt;/a&gt; or &lt;a href=&#34;http://varigence.com/bimlexpress&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;BimlExpress&lt;/a&gt; to generate SSIS packages in the Project Deployment model, you have probably noticed that it is not possible to create project parameters from Biml. You can write Biml for the project and project parameters, but BIDS Helper / BimlExpress will only generate the SSIS packages for you and not the SSIS project parameters. The recommended solution is that you create the project parameters manually before you generate your SSIS packages from Biml.&lt;/p&gt;&#xA;&lt;p&gt;(&lt;em&gt;Want to know why? Read Scott Currie&amp;rsquo;s explanation in my blog post &lt;a href=&#34;https://www.cathrinewilhelmsen.net/cant-create-ssis-project-parameters-from-biml&#34;&gt;Why can&amp;rsquo;t I create SSIS Project Parameters from Biml?&lt;/a&gt;&lt;/em&gt;)&lt;/p&gt;&#xA;&lt;p&gt;However, if you are a lazy developer like me, you probably don&amp;rsquo;t want to create and update project parameters manually. Perhaps you want to automatically create or update project parameters based on some metadata? You can do that!&lt;/p&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s take a look at a (semi-hardcoded, semi-hack) solution for creating SSIS project parameters from Biml in BIDS Helper / BimlExpress 🤓&#xA;&lt;span id=&#34;continue-reading&#34;&gt;&lt;/span&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Batch update properties in SSIS packages (T-SQL Tuesday #68)</title>
      <link>https://www.cathrinewilhelmsen.net/batch-update-properties-in-ssis-packages-t-sql-tuesday-68/</link>
      <pubDate>Tue, 14 Jul 2015 13:00:20 +0200</pubDate>
      <guid>https://www.cathrinewilhelmsen.net/batch-update-properties-in-ssis-packages-t-sql-tuesday-68/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://sqlbek.wordpress.com/2015/07/06/invitation-to-t-sql-tuesday-68-just-say-no-to-defaults/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;img src=&#34;https://www.cathrinewilhelmsen.net/images/sql/TSQLTuesdayCircle.svg&#34; alt=&#34;T-SQL Tuesday logo.&#34; width=&#34;80&#34; height=&#34;80&#34; class=&#34;alignleft width-80&#34; loading=&#34;lazy&#34; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;T-SQL Tuesday #68 is hosted by &lt;a href=&#34;https://sqlbek.wordpress.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Andy Yun&lt;/a&gt; (&lt;a href=&#34;https://twitter.com/SQLBek&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;@SQLBek&lt;/a&gt;). Many SQL Server defaults are not ideal, and most of us have a list of defaults we always change. Andy wants us to &lt;a href=&#34;https://sqlbek.wordpress.com/2015/07/06/invitation-to-t-sql-tuesday-68-just-say-no-to-defaults/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Just Say No to Defaults&lt;/a&gt; and blog about what, why or how we change defaults.&lt;/p&gt;&#xA;&lt;p&gt;If you are an SSIS developer like me, there is a big chance that the &lt;a href=&#34;https://docs.microsoft.com/en-us/sql/integration-services/security/access-control-for-sensitive-data-in-packages?view=sql-server-ver15&amp;amp;viewFallbackFrom=sql-server-2014&amp;amp;WT.mc_id=DP-MVP-5001430&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ProtectionLevel&lt;/a&gt; in SSIS Packages is on top of your list of defaults to change. The default ProtectionLevel is &lt;em&gt;EncryptSensitiveWithUserKey&lt;/em&gt; (&lt;em&gt;ugh&lt;/em&gt;), but most of the time it is not the best option. Raise your hand if you have ever asked your favorite search engine for advice on issues like &amp;ldquo;SSIS package fails in SQL Server Agent job&amp;rdquo; or if you have ever heard someone exclaim &amp;ldquo;but it works on my machine!?&amp;rdquo; 😅&lt;/p&gt;&#xA;&lt;p&gt;There are many great blog posts about the different ProtectionLevels, why you probably want to change to &lt;em&gt;DontSaveSensitive&lt;/em&gt; as your default, and how to use configurations and parameters instead of encrypted SSIS packages. I will not go into details about any of that in this post, but I will use ProtectionLevel as an example default property you want to change in many SSIS packages at the same time.&lt;/p&gt;&#xA;&lt;p&gt;How do you batch update properties in existing SSIS packages? You probably don&amp;rsquo;t want to open up every single package and change them manually?&#xA;&lt;span id=&#34;continue-reading&#34;&gt;&lt;/span&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Package Configurations and Connection Managers in Biml</title>
      <link>https://www.cathrinewilhelmsen.net/package-configurations-and-connection-managers-in-biml/</link>
      <pubDate>Tue, 17 Jun 2014 19:40:56 +0200</pubDate>
      <guid>https://www.cathrinewilhelmsen.net/package-configurations-and-connection-managers-in-biml/</guid>
      <description>&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&lt;img src=&#34;https://www.cathrinewilhelmsen.net/images/biml/BimlWheelCircle.svg&#34; alt=&#34;Biml Wheel.&#34; width=&#34;80&#34; height=&#34;80&#34; class=&#34;alignleft width-80&#34; loading=&#34;lazy&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;At work we wanted to start using Biml to speed up development in our existing projects without making too many changes at once. I decided to start by writing Biml files that generates SSIS packages exactly like the ones we already have so we can implement changes faster, and step one was to figure out how to create Package Configurations and Connection Managers in Biml:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Create an XML configuration file Package Configuration&lt;/li&gt;&#xA;&lt;li&gt;Create the Connection Manager specified in the XML configuration file&lt;/li&gt;&#xA;&lt;li&gt;Create SQL Server Package Configurations that use the Connection Manager specified in the XML configuration file&lt;/li&gt;&#xA;&lt;li&gt;Create Connection Managers specified in the [SSIS Configurations] table in SQL Server&lt;/li&gt;&#xA;&lt;li&gt;Create a Parent package variable&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I recommend reading &lt;a href=&#34;https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008/cc895212%28v=msdn.10%29&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Understanding Integration Services Package Configurations&lt;/a&gt; by &lt;a href=&#34;http://www.rafael-salas.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Rafael Salas&lt;/a&gt; (&lt;a href=&#34;https://twitter.com/RafSalas&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;@RafSalas&lt;/a&gt;) and &lt;a href=&#34;http://www.bimlscript.com/Walkthrough/Details/4&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Getting Started with BimlScript&lt;/a&gt; by Paul S. Waters (&lt;a href=&#34;https://twitter.com/pswaters&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;@pswaters&lt;/a&gt;) if you&amp;rsquo;re not already familiar with the basics of SSIS Package Configurations and Biml.&#xA;&lt;span id=&#34;continue-reading&#34;&gt;&lt;/span&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>SQL Server, SSIS and Biml Data Types</title>
      <link>https://www.cathrinewilhelmsen.net/sql-server-ssis-and-biml-data-types/</link>
      <pubDate>Tue, 27 May 2014 18:33:04 +0200</pubDate>
      <guid>https://www.cathrinewilhelmsen.net/sql-server-ssis-and-biml-data-types/</guid>
      <description>&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&lt;img src=&#34;https://www.cathrinewilhelmsen.net/images/biml/BimlWheelCircle.svg&#34; alt=&#34;Biml Wheel.&#34; width=&#34;80&#34; height=&#34;80&#34; class=&#34;alignleft width-80&#34; loading=&#34;lazy&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;The table below is a simplified mapping between SQL Server, SSIS and Biml Data Types. It does not include all possible mappings or all data types, but is meant as a quick reference while developing and learning Biml. I mainly created it as a cheat sheet for myself, but I hope other Biml developers will find it useful!&lt;/p&gt;&#xA;&lt;div class=&#34;entry-info&#34;&gt;&#xA;    &lt;svg class=&#34;icon icon-info&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 32 32&#34;&gt;&lt;path d=&#34;M 17.48,11.49 V 8.463 h -2.96 v 3.027 z m 0,12.05 v -9.02 h -2.96 v 9.02 z M 16,1 Q 22.2,1 26.6,5.401 31,9.803 31,16 31,22.2 26.6,26.6 22.2,31 16,31 9.803,31 5.401,26.6 1,22.2 1,16 1,9.803 5.401,5.401 9.803,1 16,1 Z&#34;/&gt;&lt;/svg&gt;&#xA;    &lt;p&gt;Can&#39;t remember this post&#39;s URL? Neither can I 😅 You can use this short URL instead: &lt;strong&gt;&lt;a href=&#34;https://www.cathrinewilhelmsen.net/BimlDataTypes&#34;&gt;cathrinew.net/BimlDataTypes&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;cheat-sheet-for-sql-server-ssis-and-biml-data-types&#34;&gt;Cheat Sheet for SQL Server, SSIS and Biml Data Types&lt;/h2&gt;&#xA;&lt;table id=&#34;biml-data-types-table&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th onclick=&#34;sortTable(0)&#34; style=&#34;cursor: pointer&#34;&gt;SQL Server&lt;/th&gt;&#xA;      &lt;th onclick=&#34;sortTable(1)&#34; style=&#34;cursor: pointer&#34;&gt;SSIS&lt;/th&gt;&#xA;      &lt;th onclick=&#34;sortTable(2)&#34; style=&#34;cursor: pointer&#34;&gt;Biml&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;bigint&lt;/td&gt;&#xA;      &lt;td&gt;DT_I8&lt;/td&gt;&#xA;      &lt;td&gt;Int64&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;binary&lt;/td&gt;&#xA;      &lt;td&gt;DT_BYTES&lt;/td&gt;&#xA;      &lt;td&gt;Binary&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;bit&lt;/td&gt;&#xA;      &lt;td&gt;DT_BOOL&lt;/td&gt;&#xA;      &lt;td&gt;Boolean&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;char&lt;/td&gt;&#xA;      &lt;td&gt;DT_STR&lt;/td&gt;&#xA;      &lt;td&gt;AnsiStringFixedLength&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;date&lt;/td&gt;&#xA;      &lt;td&gt;DT_DBDATE&lt;/td&gt;&#xA;      &lt;td&gt;Date&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;datetime&lt;/td&gt;&#xA;      &lt;td&gt;DT_DBTIMESTAMP&lt;/td&gt;&#xA;      &lt;td&gt;DateTime&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;datetime2&lt;/td&gt;&#xA;      &lt;td&gt;DT_DBTIMESTAMP2&lt;/td&gt;&#xA;      &lt;td&gt;DateTime2&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;datetimeoffset&lt;/td&gt;&#xA;      &lt;td&gt;DT_DBTIMESTAMPOFFSET&lt;/td&gt;&#xA;      &lt;td&gt;DateTimeOffset&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;decimal&lt;/td&gt;&#xA;      &lt;td&gt;DT_NUMERIC&lt;/td&gt;&#xA;      &lt;td&gt;Decimal&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;float&lt;/td&gt;&#xA;      &lt;td&gt;DT_R8&lt;/td&gt;&#xA;      &lt;td&gt;Double&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;geography&lt;/td&gt;&#xA;      &lt;td&gt;DT_IMAGE&lt;/td&gt;&#xA;      &lt;td&gt;Object&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;geometry&lt;/td&gt;&#xA;      &lt;td&gt;DT_IMAGE&lt;/td&gt;&#xA;      &lt;td&gt;Object&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;hierarchyid&lt;/td&gt;&#xA;      &lt;td&gt;DT_BYTES&lt;/td&gt;&#xA;      &lt;td&gt;Object&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;image (*)&lt;/td&gt;&#xA;      &lt;td&gt;DT_IMAGE&lt;/td&gt;&#xA;      &lt;td&gt;Binary&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;int&lt;/td&gt;&#xA;      &lt;td&gt;DT_I4&lt;/td&gt;&#xA;      &lt;td&gt;Int32&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;money&lt;/td&gt;&#xA;      &lt;td&gt;DT_CY&lt;/td&gt;&#xA;      &lt;td&gt;Currency&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;nchar&lt;/td&gt;&#xA;      &lt;td&gt;DT_WSTR&lt;/td&gt;&#xA;      &lt;td&gt;StringFixedLength&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;ntext (*)&lt;/td&gt;&#xA;      &lt;td&gt;DT_NTEXT&lt;/td&gt;&#xA;      &lt;td&gt;String&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;numeric&lt;/td&gt;&#xA;      &lt;td&gt;DT_NUMERIC&lt;/td&gt;&#xA;      &lt;td&gt;Decimal&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;nvarchar&lt;/td&gt;&#xA;      &lt;td&gt;DT_WSTR&lt;/td&gt;&#xA;      &lt;td&gt;String&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;nvarchar(max)&lt;/td&gt;&#xA;      &lt;td&gt;DT_NTEXT&lt;/td&gt;&#xA;      &lt;td&gt;String&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;real&lt;/td&gt;&#xA;      &lt;td&gt;DT_R4&lt;/td&gt;&#xA;      &lt;td&gt;Single&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;rowversion&lt;/td&gt;&#xA;      &lt;td&gt;DT_BYTES&lt;/td&gt;&#xA;      &lt;td&gt;Binary&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;smalldatetime&lt;/td&gt;&#xA;      &lt;td&gt;DT_DBTIMESTAMP&lt;/td&gt;&#xA;      &lt;td&gt;DateTime&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;smallint&lt;/td&gt;&#xA;      &lt;td&gt;DT_I2&lt;/td&gt;&#xA;      &lt;td&gt;Int16&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;smallmoney&lt;/td&gt;&#xA;      &lt;td&gt;DT_CY&lt;/td&gt;&#xA;      &lt;td&gt;Currency&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;sql_variant&lt;/td&gt;&#xA;      &lt;td&gt;DT_WSTR&lt;/td&gt;&#xA;      &lt;td&gt;Object&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;text (*)&lt;/td&gt;&#xA;      &lt;td&gt;DT_TEXT&lt;/td&gt;&#xA;      &lt;td&gt;AnsiString&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;time&lt;/td&gt;&#xA;      &lt;td&gt;DT_DBTIME2&lt;/td&gt;&#xA;      &lt;td&gt;Time&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;timestamp (*)&lt;/td&gt;&#xA;      &lt;td&gt;DT_BYTES&lt;/td&gt;&#xA;      &lt;td&gt;Binary&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;tinyint&lt;/td&gt;&#xA;      &lt;td&gt;DT_UI1&lt;/td&gt;&#xA;      &lt;td&gt;Byte&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;uniqueidentifier&lt;/td&gt;&#xA;      &lt;td&gt;DT_GUID&lt;/td&gt;&#xA;      &lt;td&gt;Guid&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;varbinary&lt;/td&gt;&#xA;      &lt;td&gt;DT_BYTES&lt;/td&gt;&#xA;      &lt;td&gt;Binary&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;varbinary(max)&lt;/td&gt;&#xA;      &lt;td&gt;DT_IMAGE&lt;/td&gt;&#xA;      &lt;td&gt;Binary&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;varchar&lt;/td&gt;&#xA;      &lt;td&gt;DT_STR&lt;/td&gt;&#xA;      &lt;td&gt;AnsiString&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;varchar(max)&lt;/td&gt;&#xA;      &lt;td&gt;DT_TEXT&lt;/td&gt;&#xA;      &lt;td&gt;AnsiString&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;xml&lt;/td&gt;&#xA;      &lt;td&gt;DT_NTEXT&lt;/td&gt;&#xA;      &lt;td&gt;Xml&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;script&gt;&#xA;    function sortTable(n) {&#xA;        var table, rows, switching, i, x, y, shouldSwitch, dir, switchcount = 0;&#xA;        var id = &#34;biml-data-types-table&#34;;&#xA;        table = document.getElementById(id);&#xA;        switching = true;&#xA;        dir = &#34;asc&#34;;&#xA;        while (switching) {&#xA;            switching = false;&#xA;            rows = table.rows;&#xA;            for (i = 1; i &lt; (rows.length - 1); i++) {&#xA;                shouldSwitch = false;&#xA;                x = rows[i].getElementsByTagName(&#34;TD&#34;)[n];&#xA;                y = rows[i + 1].getElementsByTagName(&#34;TD&#34;)[n];&#xA;                if (dir == &#34;asc&#34;) {&#xA;                    if (x.innerHTML.toLowerCase() &gt; y.innerHTML.toLowerCase()) {&#xA;                        shouldSwitch = true;&#xA;                        break;&#xA;                    }&#xA;                } else if (dir == &#34;desc&#34;) {&#xA;                    if (x.innerHTML.toLowerCase() &lt; y.innerHTML.toLowerCase()) {&#xA;                        shouldSwitch = true;&#xA;                        break;&#xA;                    }&#xA;                }&#xA;            }&#xA;            if (shouldSwitch) {&#xA;                rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);&#xA;                switching = true;&#xA;                switchcount++;&#xA;            } else {&#xA;                if (switchcount == 0 &amp;&amp; dir == &#34;asc&#34;) {&#xA;                    dir = &#34;desc&#34;;&#xA;                    switching = true;&#xA;                }&#xA;            }&#xA;        }&#xA;    }&#xA;&lt;/script&gt;&#xA;&lt;p&gt;(&lt;strong&gt;*&lt;/strong&gt; &lt;em&gt;These data types will be removed in a future version of SQL Server. Avoid using these data types in new projects, and try to change them in current projects.&lt;/em&gt;)&#xA;&lt;span id=&#34;continue-reading&#34;&gt;&lt;/span&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
