Share via


BulkInsertTask.KeepNulls Property

Definition

Gets or sets a Boolean that indicates whether empty columns should retain a null value during the bulk load operation, or insert default values into the columns.

public:
 property bool KeepNulls { bool get(); void set(bool value); };
public bool KeepNulls { get; set; }
member this.KeepNulls : bool with get, set
Public Property KeepNulls As Boolean

Property Value

true if empty columns should retain a null value during the bulk load operation; false if the specified default values should be inserted instead.

Implements

Examples

The following example creates a BulkInsertTask, and then shows the default settings of the properties, including the KeepNulls, by using the TaskHost. The example then sets two fields to demonstrate how to set field values.

using System;  
using System.Collections.Generic;  
using System.Text;  
using Microsoft.SqlServer.Dts.Runtime;  
using Microsoft.SqlServer.Dts.Tasks.BulkInsertTask;  

namespace Microsoft.SqlServer.SSIS.Samples  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Package pkg = new Package();  
            Executable exec1 = pkg.Executables.Add("STOCK:BulkInsertTask");  
            TaskHost th = exec1 as TaskHost;  

            // List the default values of the Bulk Insert task  
            // by using the Properties collection of the TaskHost.  
            Console.WriteLine("BatchSize             {0}", th.Properties["BatchSize"].GetValue(th));  
            Console.WriteLine("CheckConstraints      {0}", th.Properties["CheckConstraints"].GetValue(th));  
            Console.WriteLine("CodePage              {0}", th.Properties["CodePage"].GetValue(th));  
            Console.WriteLine("DataFileType          {0}", th.Properties["DataFileType"].GetValue(th));  
            Console.WriteLine("DebugMode             {0}", th.Properties["DebugMode"].GetValue(th));  
            Console.WriteLine("DestinationConnection {0}", th.Properties["DestinationConnection"].GetValue(th));  
            Console.WriteLine("DestinationTableName  {0}", th.Properties["DestinationTableName"].GetValue(th));  
            Console.WriteLine("FieldTerminator       {0}", th.Properties["FieldTerminator"].GetValue(th));  
            Console.WriteLine("FireTriggers          {0}", th.Properties["FireTriggers"].GetValue(th));  
            Console.WriteLine("FirstRow              {0}", th.Properties["FirstRow"].GetValue(th));  
            Console.WriteLine("FormatFile            {0}", th.Properties["FormatFile"].GetValue(th));  
            Console.WriteLine("KeepIdentity          {0}", th.Properties["KeepIdentity"].GetValue(th));  
            Console.WriteLine("KeepNulls             {0}", th.Properties["KeepNulls"].GetValue(th));  
            Console.WriteLine("LastRow               {0}", th.Properties["LastRow"].GetValue(th));  
            Console.WriteLine("MaximumErrors         {0}", th.Properties["MaximumErrors"].GetValue(th));  
            Console.WriteLine("RowTerminator         {0}", th.Properties["RowTerminator"].GetValue(th));  
            Console.WriteLine("SortedData            {0}", th.Properties["SortedData"].GetValue(th));  
            Console.WriteLine("SourceConnection      {0}", th.Properties["SourceConnection"].GetValue(th));  
            Console.WriteLine("SqlStatement          {0}", th.Properties["SqlStatement"].GetValue(th));  
            Console.WriteLine("SuspendRequired       {0}", th.Properties["SuspendRequired"].GetValue(th));  
            Console.WriteLine("TableLock             {0}", th.Properties["TableLock"].GetValue(th));  
            Console.WriteLine("UseFormatFile         {0}", th.Properties["UseFormatFile"].GetValue(th));  

            Console.WriteLine("--------------------------");  
            // Show how to set a property by using the TaskHost Properties.  
            th.Properties["CheckConstraints"].SetValue(th, true);  
            th.Properties["DataFileType"].SetValue(th, DTSBulkInsert_DataFileType.DTSBulkInsert_DataFileType_Native);  
            Console.WriteLine("New value of CheckConstraints and DataFileType:  {0}, {1}", th.Properties["CheckConstraints"].GetValue(th), th.Properties["DataFileType"].GetValue(th));  
        }  
    }  
}  
Imports System  
Imports System.Collections.Generic  
Imports System.Text  
Imports Microsoft.SqlServer.Dts.Runtime  
Imports Microsoft.SqlServer.Dts.Tasks.BulkInsertTask  

Namespace Microsoft.SqlServer.SSIS.Samples  
    Class Program  
        Shared  Sub Main(ByVal args() As String)  
            Dim pkg As Package =  New Package()   
            Dim exec1 As Executable =  pkg.Executables.Add("STOCK:BulkInsertTask")   
            Dim th As TaskHost =  exec1 as TaskHost   

            ' List the default values of the Bulk Insert task  
            ' by using the Properties collection of the TaskHost.  
            Console.WriteLine("BatchSize             {0}", th.Properties("BatchSize").GetValue(th))  
            Console.WriteLine("CheckConstraints      {0}", th.Properties("CheckConstraints").GetValue(th))  
            Console.WriteLine("CodePage              {0}", th.Properties("CodePage").GetValue(th))  
            Console.WriteLine("DataFileType          {0}", th.Properties("DataFileType").GetValue(th))  
            Console.WriteLine("DebugMode             {0}", th.Properties("DebugMode").GetValue(th))  
            Console.WriteLine("DestinationConnection {0}", th.Properties("DestinationConnection").GetValue(th))  
            Console.WriteLine("DestinationTableName  {0}", th.Properties("DestinationTableName").GetValue(th))  
            Console.WriteLine("FieldTerminator       {0}", th.Properties("FieldTerminator").GetValue(th))  
            Console.WriteLine("FireTriggers          {0}", th.Properties("FireTriggers").GetValue(th))  
            Console.WriteLine("FirstRow              {0}", th.Properties("FirstRow").GetValue(th))  
            Console.WriteLine("FormatFile            {0}", th.Properties("FormatFile").GetValue(th))  
            Console.WriteLine("KeepIdentity          {0}", th.Properties("KeepIdentity").GetValue(th))  
            Console.WriteLine("KeepNulls             {0}", th.Properties("KeepNulls").GetValue(th))  
            Console.WriteLine("LastRow               {0}", th.Properties("LastRow").GetValue(th))  
            Console.WriteLine("MaximumErrors         {0}", th.Properties("MaximumErrors").GetValue(th))  
            Console.WriteLine("RowTerminator         {0}", th.Properties("RowTerminator").GetValue(th))  
            Console.WriteLine("SortedData            {0}", th.Properties("SortedData").GetValue(th))  
            Console.WriteLine("SourceConnection      {0}", th.Properties("SourceConnection").GetValue(th))  
            Console.WriteLine("SqlStatement          {0}", th.Properties("SqlStatement").GetValue(th))  
            Console.WriteLine("SuspendRequired       {0}", th.Properties("SuspendRequired").GetValue(th))  
            Console.WriteLine("TableLock             {0}", th.Properties("TableLock").GetValue(th))  
            Console.WriteLine("UseFormatFile         {0}", th.Properties("UseFormatFile").GetValue(th))  

            Console.WriteLine("--------------------------")  
            ' Show how to set a property by using the TaskHost Properties.  
            th.Properties("CheckConstraints").SetValue(th, True)  
            th.Properties("DataFileType").SetValue(th, DTSBulkInsert_DataFileType.DTSBulkInsert_DataFileType_Native)  
            Console.WriteLine("New value of CheckConstraints and DataFileType:  {0}, {1}", th.Properties("CheckConstraints").GetValue(th), th.Properties("DataFileType").GetValue(th))  

        End Sub  
    End Class  
End Namespace  

Sample Output:

BatchSize 0

CheckConstraints False

CodePage RAW

DataFileType 0

DebugMode False

DestinationConnection

DestinationTableName

FieldTerminator Tab

FireTriggers False

FirstRow 1

FormatFile

KeepIdentity False

KeepNulls False

LastRow 0

MaximumErrors 0

RowTerminator {CR}{LF}

SortedData

SourceConnection

SqlStatement System.String[]

SuspendRequired False

TableLock False

UseFormatFile False

--------------------------

New value of CheckConstraints and DataFileType: True, 1

Remarks

For more information, see Keep Nulls or Use Default Values During Bulk Import (SQL Server).

Applies to