ADO.NET Provider for Salesforce

Build 24.0.9029

UploadAttachment

Uploads an attachment and associates it with an entity in Salesforce.

Uploading single files or single folders

To upload a single attachment, specify the FullPath:
EXEC UploadAttachment ObjectId = '0018Z00002nz4TkMAR', FullPath = 'C:\\csv samples\\mycsvfile.csv'
To upload all attachments in a single folder, use FolderPath:
EXEC UploadAttachment ObjectId = '0018Z00002nz4TkMAR', FolderPath = 'C:\\csv samples'
For Base64 data, you need to specify the Base64Data, Title, and FileExtension:
EXEC UploadAttachment ObjectId = '0018Z00002nz4TkMAR', Base64Data = 'byBib2Jl', Title = 't', FileExtension = 'txt'

Uploading multi-valued inputs

There are various ways to upload multiple files or folders. One way is to use a temporary table, #TEMP:
  1. First insert values into temporary tables. For example:
    INSERT INTO Attachment#TEMP (ObjectId, FolderPath) VALUES ( '0018Z00002nz4TkMAR', 'C:\\TestImages' )
    INSERT INTO Attachment#TEMP (ObjectId, FolderPath) VALUES ('0018Z00002nz4TkMAR', 'C:\\csv samples' )
    This inserts the values into a table in memory.

  2. Then reference that same table when executing the stored procedure:
    EXEC UploadAttachment AttachmentTempTable = 'Attachment#TEMP'
    This approach has the advantage of avoiding arbitrary parameters as inputs to the stored procedure.
Alternatively, you can specify multiple FullPaths using a #TEMP table or use multiple Base64 data entries.

Input

Name Type Accepts Input Streams Description
ObjectId# String False Required. The Id of the object to associate the uploaded document with.
FullPath# String False The full path to the document to upload. If Base64Data is not specified, this input is required. Either specify this or FullPath/FolderPath for a single object and not both.
Base64Data# String False A string of data that will be used as the full contents of the file. This must be base-64 encoded. Required if FullPath is not specified.
FileName# String False The name you would like to give the attachment. If none is specified, the file name specified in the FullPath will be used. Required if Base64Data is specified.
FolderPath# String False Used to batch upload every file inside a specified folder. Either specify this or FullPath for a single object and not both.
LightningMode String False Defaults to false. If set to 'True' the file will be uploaded as 'Salesforce Files'. The 'FullPath' must be specified if this is set to true.
AttachmentTempTable String False Used to batch upload multiple Attachment objects. Set this to a temporary table, whose rows contain upload inputs like in the example below.
Content String True The file content as an InputStream. Only used if FullPath is empty.

Result Set Columns

Name Type Description
Id String The Id of the uploaded attachment.

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9029