2.2.5.2 DataSource Object

The DataSource object represents an external source of data. It is a child of a Model object.

The DataSource object has the following properties.

Name

Type

Description

ID

unsignedLong

A reference to the object.

ModelID

unsignedLong

An ID-based reference to a Model object.

Name

string

The name of the object.

Description

string

The description of the object.

Type

enumeration

The type of DataSource. The only possible values are as follows:

  • Provider (1) - A data source that has a data provider and connection string.

  • Structured (2) - A data source that uses a JSON-based extensible protocol to define the location and mechanism by which the data is retrieved. Compatibility level 1400 or higher is required.<16>

ConnectionString

string

A string that is used to open the connection to a provider data source.

ImpersonationMode

enumeration

A numeric value that specifies the credentials to use for impersonation when connecting to a provider data source. The enumeration values are as follows:

  • ImpersonateAccount (2) - The server uses the specified user account.

  • ImpersonateAnonymous (3) - The server uses the anonymous user account.

  • ImpersonateCurrentUser (4) - The server uses the user account that the client is connecting as.

  • ImpersonateServiceAccount (5) - The server uses the user account that the server is running as.

  • ImpersonateUnattendedAccount (6) – The server uses an unattended user account.<17>

Account

string

The user account that is used for impersonation when connecting to a provider data source.<18>

Password

string

The password that is used to impersonate the specified user account when connecting to a provider data source.

MaxConnections

int

The maximum number of connections to be opened concurrently to the data source.

Isolation

enumeration

The kind of isolation that is used when executing commands against the provider data source. The possible values are as follows:

  • ReadCommitted (1) – This value specifies that statements cannot read data that has been modified, but not committed, by other transactions.

  • Snapshot (2) – This value ensures that the data read by any statement in a transaction is transactionally consistent, as if the statements in a transaction receive a snapshot of the committed data as it existed at the start of the transaction.<19>

Timeout

int

The timeout in seconds for commands executed against a provider data source.

Provider

string

An optional string that identifies the name of the managed data provider for the provider data source.

ModifiedTime

dateTime

The time that the object was last modified.

ConnectionDetails<20>

string

The information that identifies the location of the structured data source. This is a property bag formatted as a JSON string that allows details about the connection to the data source to be passed.

Compatibility level 1400 or higher is required.

Options<21>

string

The information that defines possible additional settings for the structured data source. This is a property bag formatted as a JSON string.

Compatibility level 1400 or higher is required.

Credential<22>

string

The credential information that authenticates against the structured data source. This is a property bag formatted as a JSON string.

Compatibility level 1400 or higher is required.

ContextExpression<23>

string

A string that can contain additional information, such as content type, content shape, and format, about the structure and/or metadata of the structured data source. The data source is then represented by the ConnectionDetails property.

Compatibility level 1400 or higher is required.