Extended Metadata
The Simba Salesforce ODBC Connector can retrieve detailed metadata about Salesforce tables and columns. This information is available only if ExtendedMetadata
property is set to 1
. When that option is enabled, the connector returns additional metadata as JSON objects in the REMARKS column when you call SQLTables or SQLColumns.
Important:
- If any of the JSON objects in the REMARKS column ends with a
"truncated":true
attribute, this means that the connector has truncated the returned metadata because it exceeds the maximum number of characters that the REMARKS column can contain (2,027,000 characters). - When this feature is enabled, connector performance may decrease significantly due to the amount of additional metadata that is retrieved.
The following table lists the additional metadata that can be retrieved, the function call that returns the metadata, and the name of the JSON object in which the metadata is returned:
Metadata | Function Call | JSON Object |
---|---|---|
Table display names |
SQLTables |
|
Column display names |
SQLColumns |
|
Privileges associated with the tables or columns |
SQLTables or SQLColumns |
|
Enum values for Picklist columns |
SQLColumns |
|
Compound field name for Compound fields |
SQLColumns |
|
The privileges associated with a table or column are indicated by the following fields in the privileges
JSON object:
Field Name | Description |
---|---|
|
This field indicates whether the data in the table or column is readable. |
|
This field indicates whether the data in the table or column is writeable. |
|
This field indicates whether the data in the table or column can be updated. |
|
This field indicates whether the data in the table or column can be deleted. |
For example, when you call SQLColumns on a Picklist column, and the extended metadata feature is enabled, the connector returns a REMARKS column with contents such as the following:
{
"label": "Account Type",
"privileges" :
{
"select": "true",
"insert": "true",
"update": "true",
},
"picklistValues":
[
{"value": "Analyst",
"label":" Analyst "},
{"value": "Competitor",
"label":" Competitor "} ,
{"value": "Customer",
"label":" Customer "} ,
{"value": "Integrator",
"label":" Integrator "} ,
{"value": "Investor",
"label":" Investor "} ,
{"value": "Partner",
"label":" Partner "} ,
{"value": "Press",
"label":" Press "} ,
{"value": "Prospect",
"label":" Prospect "} ,
{"value": "Reseller",
"label":" Reseller "} ,
{"value": "Other",
"label":" Other "}
]
}
This returned metadata indicates the following:
- The column has "Account Type" as its display name.
- You can read, write, and update the data that the column contains. However, you cannot delete the data.
- The column contains picklist values such as Analyst, Competitor, Customer, and so on.
- SQL Connector
- Features
- Configuring the Driver on page 1