JDBC Driver for Salesforce

Build 26.0.9770

UploadDocument

Uploads a document to Salesforce, making it available in the document repository.

Stored Procedure-Specific Information

FolderId is required for all uploads.

Uploading Single Files or Single Folders

To upload a document to a folder, specify the Name:
EXEC UploadDocument FolderId = '00l5Y000004PPvnQAG', Name = 'testfile.txt'
To upload a single document, specify the FullPath:
EXEC UploadDocument FolderId = '0018Z00002nz4TkMAR', FullPath = 'C:\csv samples\mycsvfile.csv'
To upload all documents in a single folder, specify the FolderPath:
EXEC UploadDocument FolderId = '0018Z00002nz4TkMAR', FolderPath = 'C:\\csv samples'
For Base64 data, you must specify the Base64Data and Name:
EXEC UploadDocument FolderId = '0018Z00002nz4TkMAR', Base64Data = 'byBib2Jl', Name = 'testfile.txt'

Uploading Multi-Valued Inputs

To upload multiple documents from multiple folders using a temporary (#TEMP) table:

  1. First insert values into #TEMP tables. For example:
    INSERT INTO Document#TEMP (FolderId, FolderPath) VALUES ( '0018Z00002nz4TkMAR', 'C:\\TestImages' )
    INSERT INTO Document#TEMP (FolderId, 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 UploadDocument Documents = 'Document#TEMP'
    This approach has the advantage of avoiding arbitrary parameters as inputs to the stored procedure.
Note: You can also use a #TEMP table to specify multiple FullPaths, or use multiple Base64 data entries.

To upload multiple documents by file path or Base64 data using a JSON array:

   EXEC UploadDocument Documents = '[
     {"FolderId": "00l5Y000004PPvnQAG", "FullPath": "C:\\Documents\\report.pdf"},
     {"FolderId": "00l5Y000004PPvnQAG", "FullPath": "C:\\Documents\\summary.docx"},
     {"FolderId": "00l5Y000004QQwnRAG", "Base64Data": "SGVsbG8gV29ybGQ=", "Name": "hello.txt"}
   ]'

Input

Name Type Accepts Input Streams Description
FullPath String False The full local path to the document to upload. Required if Base64Data is not provided. Only one of FullPath or FolderPath should be specified per upload operation.
Base64Data String False Base64-encoded string representing the contents of the document. Required if FullPath is not provided. Enables uploading without relying on a local file path.
Name String False The name to assign to the document in Salesforce. If not specified, the file name from FullPath is used. Required when uploading via Base64Data.
FolderId String False The ID of the folder where the document will be stored. This field is required for all uploads.
FolderPath String False Path to a local folder containing documents to be uploaded in batch. Only one of FolderPath or FullPath should be specified for a single operation.
Description String False Optional description of the document. Limited to a maximum of 255 characters.
Content String True The file content as an InputStream. Used as an alternative to FullPath or Base64Data for direct streaming uploads.
Documents String False Accepts a temporary table name or an aggregate (JSON) containing multiple Document records for batch uploading. Each row should include inputs such as FullPath, Base64Data, or Name.

Result Set Columns

Name Type Description
Id String The ID of the document that was successfully uploaded to Salesforce.
FileIdentifier String Identifies the file for this result row. Contains the full file path when FullPath or FolderPath was used, or the file name when Base64Data or Content stream was used.
Success Boolean Indicates whether the file upload succeeded (true) or failed (false).
Errors String Error messages returned by Salesforce if the upload failed, including error codes and descriptions.

Copyright (c) 2026 CData Software, Inc. - All rights reserved.
Build 26.0.9770