The CData Sync App provides a straightforward way to continuously pipeline your Microsoft SharePoint data to any database, data lake, or data warehouse, making it easily available for Analytics, Reporting, AI, and Machine Learning.
The Microsoft SharePoint connector can be used from the CData Sync application to pull data from Microsoft SharePoint and move it to any of the supported destinations.
Create a connection to Microsoft SharePoint by navigating to the Connections page in the Sync App application and selecting the corresponding icon in the Add Connections panel. If the Microsoft SharePoint icon is not available, click the Add More icon to download and install the Microsoft SharePoint connector from the CData site.
Required properties are listed under the Settings tab. The Advanced tab lists connection properties that are not typically required.
URL | Example URL |
Site Collection | https://teams.contoso.com |
Site | https://teams.contoso.com/teamA or https://teamA.contoso.com |
In addition to providing the URL, use one of the following sets of connection properties to authenticate to SharePoint. The default values make it easy to connect in most environments, as shown below. Sharepoint supports online (cloud-based) and on-premises architectures. Each architecture supports a different set of authentication schemes.
Online and on-prem authentication are discussed in turn below.
Set SharePointEdition to "SharePoint Online" and set the User and Password to the credentials you use to log onto SharePoint, for example, the credentials to your Microsoft Online Services account.
The following authentication schemes are supported:
If the user account domain is different from the domain configured with the identity provider, set SSODomain to the latter. This property may be required for any SSO.
Your organization may require Admin Consent when authorizing a new AzureAD application for your Azure Tenant. In all AzureAD flows, any initial installation and use of an AzureAD application requires that an administrator approve the application for their Azure Tenant.
When connecting via a Web application, you need to create and register a custom AzureAD application with Microsoft SharePoint. See Creating a Custom AzureAD App for more information about custom applications. You can then use the Sync App to acquire and manage the OAuth token values.
Get an OAuth Access Token
Set the following connection properties to obtain the OAuthAccessToken:
Then call stored procedures to complete the OAuth exchange:
The stored procedure returns the URL to the OAuth endpoint.
Once you have obtained the access and refresh tokens, you can connect to data and refresh the OAuth access token either automatically or manually.
Automatic Refresh of the OAuth Access Token
To have the driver automatically refresh the OAuth access token, set the following on the first data connection:
Manual Refresh of the OAuth Access Token
The only value needed to manually refresh the OAuth access token when connecting to data is the OAuth refresh token.
Use the RefreshOAuthAccessToken stored procedure to manually refresh the OAuthAccessToken after the ExpiresIn parameter value returned by GetOAuthAccessToken has elapsed, then set the following connection properties:
Then call RefreshOAuthAccessToken with OAuthRefreshToken set to the OAuth refresh token returned by GetOAuthAccessToken. After the new tokens have been retrieved, open a new connection by setting the OAuthAccessToken property to the value returned by RefreshOAuthAccessToken.
Finally, store the OAuth refresh token so that you can use it to manually refresh the OAuth access token after it has expired.
To connect using your Azure credentials directly, specify the following connection properties:
Administrator Consent Permissions
When creating a new OAuth application in the Azure Portal, you must specify which permissions the application requires. Some permissions may be marked with "Admin Consent Required". For example, all Groups permissions require Admin Consent. If your application requires admin consent, there are two ways you can do this.
The easiest way to grant admin consent is to have an administrator log into the Azure Portal and navigate to the application you have created in App Registrations. Under API Permissions, click Grant Consent, which grants permissions on the tenant under which it was created.
If your organization has multiple tenants or you need to grant application permissions for other tenants outside your organization, use the GetAdminConsentURL stored procedure to generate the Admin Authorization URL. After the OAuth application is successfully authorized, it returns a Boolean indicating that permissions have been granted.
After the administrator has approved the OAuth Application, you can continue to authenticate.
Follow the steps below to create a custom OAuth app and obtain the connection properties for the OAuth authentication using Sharepoint App.
Register Add-In
<AppPermissionRequests AllowAppOnlyPolicy="true"> <AppPermissionRequest Scope="http://sharepoint/content/tenant" Right="FullControl"/> </AppPermissionRequests>
Set the AuthScheme to ADFS. You need to set the following connection properties:
AuthScheme=ADFS;User=ADFSUserName;Password=ADFSPassword;URL='http://sharepointserver/mysite';
Set the AuthScheme to Okta. The following connection properties are used to connect to Okta:
The following is an example connection string:
AuthScheme=Okta;User=oktaUserName;Password=oktaPassword;URL='http://sharepointserver/mysite';
Set the AuthScheme to OneLogin. The following connection properties are used to connect to OneLogin:
The following is an example connection string:
AuthScheme=OneLogin;User=OneLoginUserName;Password=OneLoginPassword;URL='http://sharepointserver/mysite';
Set the AuthScheme to PingFederate. The following connection properties are used to connect to PingFederate:
The following is an example connection string:
AuthScheme=PingFederate;User=PingFederateUserName;Password=PingFederatePassword;URL='http://sharepointserver/mysite';
Set the AuthScheme to SharePointOAuth. The following connection properties are used to connect to SharePointOAuth:
The following is an example connection string:
Schema=REST;InitiateOAuth=GETANDREFRESH;AuthScheme=SharepointOAuth;URL=https://rssbuscrm.sharepoint.com;User=SharePointUserName;Password=SharePointPassword;SharePointEdition='SharepointOnline';
Set the AuthScheme to OAUTHJWT. The following connection properties are used to connect to Microsoft SharePoint:
If you are running Microsoft SharePoint on an Azure VM, you can leverage Managed Service Identity (MSI) credentials to connect:
The MSI credentials are automatically obtained for authentication.
If you are running Microsoft SharePoint on an Azure VM, you can leverage Managed Service Identity (MSI) credentials to connect:
The MSI credentials are automatically obtained for authentication.
Microsoft SharePoint REST API is supported both on Sharepoint OnPremise and on Sharepoint Online. To connect using the REST API set Schema to REST.
The property SharePointEdition may be used to define the edition of Sharepoint.
SharePoint Online uses OAuth standard to authenticate. Follow the steps under "Authenticating to SharePoint Online" in Establishing a Connection for more information.
Follow the steps under "Authenticating to SharePoint On Premises" in Establishing a Connection for more information.
This section shows how to use the Sync App to authenticate using Kerberos.
To authenticate to Microsoft SharePoint using Kerberos, set the following properties:
You can use one of the following options to retrieve the required Kerberos ticket.
This option enables you to use the MIT Kerberos Ticket Manager or kinit command to get tickets. Note that you do not need to set the User or Password connection properties with this option.
As an alternative to setting the KRB5CCNAME environment variable, you can directly set the file path using the KerberosTicketCache property. When set, the Sync App uses the specified cache file to obtain the Kerberos ticket to connect to Microsoft SharePoint.
If the KRB5CCNAME environment variable has not been set, you can retrieve a Kerberos ticket using a Keytab File. To do so, set the User property to the desired username and set the KerberosKeytabFile property to a file path pointing to the keytab file associated with the user.
If both the KRB5CCNAME environment variable and the KerberosKeytabFile property have not been set, you can retrieve a ticket using a user and password combination. To do this, set the User and Password properties to the user/password combination that you use to authenticate with Microsoft SharePoint.
More complex Kerberos environments may require cross-realm authentication where multiple realms and KDC servers are used (e.g., where one realm/KDC is used for user authentication and another realm/KDC is used for obtaining the service ticket).
In such an environment, set the KerberosRealm and KerberosKDC properties to the values required for user authentication. Also set the KerberosServiceRealm and KerberosServiceKDC properties to the values required to obtain the service ticket.
To make it easier to access data in advanced integrations, use the following connection properties to control column name identifiers and other aspects of data access:
This section details a selection of advanced features of the Microsoft SharePoint Sync App.
The Sync App allows you to define virtual tables, called user defined views, whose contents are decided by a pre-configured query. These views are useful when you cannot directly control queries being issued to the drivers. See User Defined Views for an overview of creating and configuring custom views.
Use SSL Configuration to adjust how Sync App handles TLS/SSL certificate negotiations. You can choose from various certificate formats; see the SSLServerCert property under "Connection String Options" for more information.
Configure the Sync App for compliance with Firewall and Proxy, including Windows proxies and HTTP proxies. You can also set up tunnel connections.
The Sync App offloads as much of the SELECT statement processing as possible to Microsoft SharePoint and then processes the rest of the query in memory (client-side).
See Query Processing for more information.
See Logging for an overview of configuration settings that can be used to refine CData logging. For basic logging, you only need to set two connection properties, but there are numerous features that support more refined logging, where you can select subsets of information to be logged using the LogModules connection property.
By default, the Sync App attempts to negotiate SSL/TLS by checking the server's certificate against the system's trusted certificate store.
To specify another certificate, see the SSLServerCert property for the available formats to do so.
The Microsoft SharePoint Sync App also supports setting client certificates. Set the following to connect using a client certificate.
To connect through the Windows system proxy, you do not need to set any additional connection properties. To connect to other proxies, set ProxyAutoDetect to false.
In addition, to authenticate to an HTTP proxy, set ProxyAuthScheme, ProxyUser, and ProxyPassword, in addition to ProxyServer and ProxyPort.
Set the following properties:
The CData Sync App models Microsoft SharePoint entities in relational Tables, Views, and Stored Procedures. The table definitions are dynamically obtained based on your Microsoft SharePoint site. Any changes you make, such as adding a custom field or changing a field's data type, are automatically reflected when you connect.
The Sync App sets defaults to facilitate the maximum number of integrations; however, the following connection properties allow a greater granularity of customization useful in advanced integrations:
The Sync App can expose custom lists from Microsoft SharePoint that are not mentioned in the Tables. The data model illustrates a sample of what your SharePoint site might look like. The actual data model will be obtained dynamically based on your user credentials and SharePoint site.
Typically, entities that cannot be modified are represented as Views, or read-only tables. You can also access custom views of a list as relational views.
To get data from a custom view of a list, you can set the ViewID pseudo column in the WHERE clause.
SELECT * FROM ListName WHERE ViewID='ID of the view'You can get the ID of the view from the Views list. You must specify the List pseudo column to get a list of views for that list. For instance:
SELECT * FROM Views WHERE List ='ListName'
The Sync App models the data in Microsoft SharePoint into a list of tables that can be queried using standard SQL statements.
Generally, querying Microsoft SharePoint tables is the same as querying a table in a relational database. Sometimes there are special cases, for example, including a certain column in the WHERE clause might be required to get data for certain columns in the table. This is typically needed for situations where a separate request must be made for each row to get certain columns. These types of situations are clearly documented at the top of the table page linked below.
Name | Description |
Attachments | Read or delete Attachments for the specified item on the specified list. |
Groups | Create, update, delete, and query Groups from SharePoint. |
Roles | Create, update, delete, and query Roles from SharePoint. |
Users | Update, delete, and query Users from SharePoint. |
Views | Create, update, delete, and query the available lists in SharePoint. |
Read or delete Attachments for the specified item on the specified list.
List and ItemId are required to return Attachments.
Call the AddAttachments stored procedure to add new attachments to a list item.
Name | Type | ReadOnly | Description |
Url [KEY] | String | True |
Description of the term set. |
List | String | True |
The internal name of the list to retrieve attachments from. |
ListDisplayName | String | True |
The display name of the list to retrieve attachments from. |
ItemID | String | True |
The ID of the item on the list to retrieve attachments from. |
Name | String | True |
The name of the attachment on the item. |
Create, update, delete, and query Groups from SharePoint.
The Name, DefaultLogin, and OwnerLogin columns are required to insert to this table.
To use the UserName pseudo column, you must set the value to the LoginName of the user. You can obtain the LoginName by querying the Users table.
Name | Type | ReadOnly | Description |
Name# [KEY] | String | False |
The name of the group. |
Description# | String | False |
A description of the group. |
OwnerLogin# | String | False |
The user name of the owner of the group. This value should be in the format DOMAIN\\username. |
OwnerType# | String | False |
The type of owner. User or group. |
DefaultLogin# | String | False |
The user name of the default user for the group. This value should be in the format DOMAIN\\username. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
UserName | String |
The logical name of the user to return groups for. Specify this value on the SELECT statement to return only groups the specified User is in. |
Create, update, delete, and query Roles from SharePoint.
To use the UserName pseudo column, you must set the value to the LoginName of the user. You can obtain the LoginName by querying the Users table.
To insert a Role, at least the Name is required:
INSERT INTO Roles (Name) VALUES ('My Role')
Name | Type | ReadOnly | Description |
Name# [KEY] | String | False |
The name of the role. |
Description# | String | False |
A description of the role. |
Permissions# | Long | False |
A long representing the permissions for the role. |
RoleType | String | True |
The type of role. |
IsHidden | Boolean | True |
A boolean indicating if the role is hidden. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
UserName | String |
The login name of the user to return roles for. Specify this value on a SELECT statement to return only roles assigned to the specified user. |
GroupName | String |
The name of the group to return roles for. Specify this value on a SELECT statement to return only roles assigned to the specified group. |
Update, delete, and query Users from SharePoint.
Retrieve all users created for the SharePoint Account:
SELECT * FROM Users
You can retrieve Users that belong to a specific Group. In this case specify the Group Name
SELECT * FROM Users WHERE [Group] = "GroupName"
Or you can retrieve Users that have a specific Role. In this case specify the Role Name
SELECT * FROM Users WHERE [Role] = "RoleName"
Name | Type | ReadOnly | Description |
ID | String | True |
The ID of the user. |
LoginName# [KEY] | String | False |
The login name of the user. |
Name# | String | False |
The name of the user. |
Email# | String | False |
The email address of the user. |
IsInDomainGroup | Boolean | True |
A boolean indicating if the user is in the domain group. |
IsSiteAdmin | Boolean | True |
A boolean indicating if the user is a site admin. |
Notes# | String | False |
Optional notes concerning the user. |
SecurityId | String | True |
The security Id (SID) for the user. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
Group | String |
The group you are adding a user to and selecting or deleting the user from. This is an input-only value and either Group or Role must be specified for inserts and selects, but may be optionally specified for deletions. |
Role | String |
The role you are adding a user to and selecting or deleting the user from. This is an input-only value and either Group or Role must be specified for inserts and selects, but may be optionally specified for deletions. |
Create, update, delete, and query the available lists in SharePoint.
Views is a special table. It may be used to get, update, insert, and delete views from a specified List.
SELECT * FROM Views WHERE List='MyListName'
The List, Name, Type, and Fields columns are required to insert to this table.
Name | Type | ReadOnly | Description |
ID [KEY] | String | True |
The Id of the view. |
List | String | True |
The list the view is associated with. A list must be specified when performing SELECT statements if the Id is not specified. |
ViewID | String | True |
The Id of the view. May only be unique for the specific list. |
Name | String | False |
The name of the view. |
Type | String | False |
The type of view. This must have a value on inserts and updates. The allowed values are CALENDAR, GRID, HTML. The default value is HTML. |
Fields | String | False |
A comma separated list of the fields associated with the view. This is space-sensitive. |
IsDefault | Boolean | False |
A boolean indicating if the view is the default view for the list. |
Query | String | False |
A query for the view. |
Views are composed of columns and pseudo columns. Views are similar to tables in the way that data is represented; however, views do not support updates. Entities that are represented as views are typically read-only entities. Often, a stored procedure is available to update the data if such functionality is applicable to the data source.
Queries can be executed against a view as if it were a normal table, and the data that comes back is similar in that regard.
Dynamic views, such as queries exposed as views, and views for looking up specific combinations of project_team work items are supported.
Name | Description |
FileVersions | Lists the versions of files available on SharePoint. |
GetValidTerms | Gets a list of valid terms for the specified column on the specified table. |
Lists | Lists the available lists in SharePoint. |
Permissions | The permissions for a site or list. Note: If ItemID is empty, the ObjectType should be set to List or web (an ObjectName must be specified when the ObjectType is list). If not, the ObjectName must be specified along with the ItemID. |
Subsites | This lists the available subsites. |
Lists the versions of files available on SharePoint.
Library and File must be specified to return results from this view.
Name | Type | Description |
ID [KEY] | String | The ID of the version. |
Comments | String | Comments about the particular version. |
CreateBy | String | The username of the SharePoint user who modified this version of the file. |
Date | Datetime | When the file was modified. |
Size | String | The size of this version of the file. |
Url | String | The URL to this version of the file. |
Library | String | The library name on SharePoint you are listing versions from. A library must be specified to retrieve the versions for a file.
The default value is Shared Documents. |
File | String | The name of the file on SharePoint to list versions for. A file must be specified to retrieve the versions for a file. |
Gets a list of valid terms for the specified column on the specified table.
GetValidTerms is a special view. It may be used to get valid terms for a Taxonomy or Managed Metadata column of a given list. To use the view, supply both the name of the table and the column for which you are looking to get valid terms. For example:
SELECT * FROM GetValidTerms WHERE List='MyListName' AND ColumnName='MyManagedMetadataColumn'
Name | Type | Description |
ID [KEY] | String | The identifier of the term. |
TermLabelValue | String | The label of the term. |
Description | String | Description of the term set. |
NameInRequestedLang | String | The name of the term set in the language requested by the client. |
IsOpen | Boolean | Boolean indicating if the term set is open. |
Deprecated | Boolean | Boolean indicating if the term is deprecated. |
InternalId | String | Internal identifier for the term. |
TermSetContact | String | Term set contact. |
ContainerDesc | String | Container node for the description. |
SingleTermLabelDesc | String | This fully describes a single term label. |
IsDefaultLabel | Boolean | True if the term label is the default term label. |
BelongsTo | String | This item describes a term set to which a term belongs. |
IsTaggingAvailable | Boolean | If the term set is available for tagging, this value is true. |
TermPath | String | Term path of the term with term labels. |
TermpathoftermwithIds | String | Term path of term with identifiers. |
ChildTerms | String | A string value that indicates a custom sort order for the child terms of the term identified by PertainingToTerm. |
HasChildTerms | Boolean | True if the term has child terms. |
PertainingToTerm | String | Identifier of the term that this term set information is pertaining to. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
List | String | The name of the list to get valid terms for. |
ColumnName | String | The name of the column to get valid terms for. |
LocaleId | String | The locale Id for the term. Defaults to 1033. |
Lists the available lists in SharePoint.
Lists can be used to list the tables in SharePoint. This will only return actual lists in SharePoint and not any special tables associated with the Sync App.
The following columns can be used in the WHERE clause: Title and BaseTemplate.
Name | Type | Description |
ID [KEY] | String | The Id of the list. |
Title | String | The title of the list. This column may be used in the WHERE clause and may be used with a wild card (*) character. |
Description | String | A description for the list. |
BaseTemplate | String | Indicates the type of template used to create the list. This column may be used in the WHERE clause. |
Version | Double | The version of the list. |
Url | String | The default URL of the list. |
EmailAlias | String | The email alias of the list. |
ImageUrl | String | The image URL of the list. |
ItemCount | Integer | The number of items in the list. |
Item_Deleted | Datetime | The last time an item was deleted from this list. |
Item_Modified | Datetime | The last time an item was modified from this list. |
SendToUrl | String | The send-to URL of the list. |
Created | Datetime | The time when the list was created. |
AllowDeletion | String | Whether items can be deleted. |
AllowMultiResponses | Boolean | Boolean indicating if multiple responses are enabled for the survey. |
Direction | String | A string that contains LTR if the reading order is left-to-right, RTL if it is right-to-left, or None. |
EnableAssignedToEmail | Boolean | Boolean indicating if assigned-to emails are enabled. Only applies to issues lists. |
EnableAttachments | Boolean | Boolean indicating if attachments may be added to items in the list. Does not apply to document libraries. |
EnableModeration | Boolean | Boolean indicating if content approval is enabled for the list. |
EnableVersioning | Boolean | Boolean indicating if versioning is enabled for the list. |
Hidden | Boolean | Boolean indicating if the list is hidden so that it does not appear on the Documents and Lists page, Quick Launch bar, Modify Site Content page, or Add Column page as an option for lookup fields. |
MultipleDataList | Boolean | Boolean indicating if a meeting-workspace site contains data for multiple meeting instances within the site. |
Ordered | Boolean | Boolean indicating if items in the list can be sorted on the Edit View page. |
Showuser | Boolean | Boolean indicating if the names of users are shown in the results of the survey. |
The permissions for a site or list. Note: If ItemID is empty, the ObjectType should be set to List or web (an ObjectName must be specified when the ObjectType is list). If not, the ObjectName must be specified along with the ItemID.
Name | Type | Description |
MemberID [KEY] | String | The ID of the permission. |
Mask | Long | A 32-bit integer in 0x00000000 format that represents a Microsoft.SharePoint.SPRights value and defines the permission. Use the pipe symbol ('|') in C# or Or in Microsoft Visual Basic to delimit values when creating a custom permission mask that combines permissions. |
MemberIsUser | Bool | Indicate whether it is the permission for user. |
MemberGlobal | Bool | Indicate whether it is the permission for group. |
RoleName | String | A string that contains the name of the site group, the name of the cross-site group, or the user name (DOMAIN\User_Alias) of the user to whom the permission applies. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
ObjectName | String | A string that contains the name of the list or site. |
ObjectType | String | A string that specifies either List or Web. |
ItemID | String | ID of the item. |
This lists the available subsites.
Name | Type | Description |
Title | String | The name of the subsite. |
Url | String | The url of the subsite. |
The CData Sync App models Microsoft SharePoint entities in relational Tables, Views, and Stored Procedures. The table definitions are dynamically obtained based on your Microsoft SharePoint site. Any changes you make, such as adding a custom field or changing a field's data type, are automatically reflected when you connect.
Lists in your sharepoint site are exposed as relational tables dynamically. Which means any change you make in your lists, i.e adding new list or adding new fields, will be reflected on the driver.
Views are tables that cannot be modified. Typically, read-only data are shown as views.
Since the REST API is OData based, server side filters, are done using OData standard. So the driver takes the most of the server filtering, by reading the metadata file and determing which filters can be done on the server.
NOTE: When executing "SELECT *" queries, the Microsoft SharePoint REST API response, does not return all the available fields. So to avoid too many null values, the provider will select all the columns explicitly using the
$select filter. However, the provider will do this only if the $select filter's length is not bigger than 1500, to avoid an error from Microsoft SharePoint REST API regarding the URL length. This is a limitation of the Microsoft SharePoint REST API, so in these cases,
the only way to see the actual value of some columns, is to explicitly select them in your query.
Views are composed of columns and pseudo columns. Views are similar to tables in the way that data is represented; however, views do not support updates. Entities that are represented as views are typically read-only entities. Often, a stored procedure is available to update the data if such functionality is applicable to the data source.
Queries can be executed against a view as if it were a normal table, and the data that comes back is similar in that regard.
Dynamic views, such as queries exposed as views, and views for looking up specific combinations of project_team work items are supported.
Name | Description |
Attachments | Read Attachments for the specified item on the specified list. |
Files | Query the available files on your sharepoint site. |
Groups | Query the available groups on your sharepoint site. |
Lists | Query the available lists on your sharepoint site. |
RoleAssignmentMember | Get Web RoleAssignments member. |
RoleAssignments | Get Web RoleAssignments. |
RoleDefinitionBindings | Get Web Role definition binding. |
Roles | Query the roles your users can have. |
Subsites | This lists the available subsites. |
Users | Query the available users on your sharepoint site. |
Read Attachments for the specified item on the specified list.
Note: List and ItemId are required to return Attachments.
List can be fetched from the Lists view(Title column).
SELECT * FROM Attachments WHERE List = 'TestApp' AND ItemID = 1
Name | Type | References | Description |
Id [KEY] | String | The Id of the attachment on the item. | |
Updated | Datetime | The updated date of the attachment on the item. | |
FileName | String | The FileName of the attachment on the item. | |
ServerRelativePath_DecodedUrl | String | The ServerRelativePath DecodedUrl of the attachment on the item. | |
FileNameAsPath_DecodedUrl | String | The FileNameAsPath DecodedUrl of the attachment on the item. | |
ServerRelativeUrl | String | The ServerRelativeUrl of the attachment on the item. | |
List | String | The internal name of the list to retrieve attachments from. | |
ItemID | String | The ID of the item on the list to retrieve attachments from. |
Query the available files on your sharepoint site.
Name | Type | References | Description |
Id [KEY] | String | ||
CreatedBy_Id | String | ||
CreatedBy_Name | String | ||
CreatedBy_Puid | String | ||
ETag | String | ||
LastModifiedBy_Id | String | ||
LastModifiedBy_Name | String | ||
LastModifiedBy_Puid | String | ||
Name | String | ||
Size | Int | ||
TimeCreated | Datetime | ||
TimeLastModified | Datetime | ||
Url | String |
Query the available groups on your sharepoint site.
SELECT * FROM Groups
Name | Type | References | Description |
Id [KEY] | Int | The Group Id. | |
AllowMembersEditMembership | Bool | ||
AllowRequestToJoinLeave | Bool | ||
AutoAcceptRequestToJoinLeave | Bool | ||
CanCurrentUserEditMembership | Bool | ||
CanCurrentUserManageGroup | Bool | ||
CanCurrentUserViewMembership | Bool | ||
Description | String | ||
OnlyAllowMembersViewMembership | Bool | ||
OwnerTitle | String | ||
RequestToJoinLeaveEmailSetting | String | ||
LinkedOwner | String | ||
LinkedUsers | String |
Query the available lists on your sharepoint site.
Name | Type | References | Description |
HasUniqueRoleAssignments [KEY] | Bool | ||
LinkedFirstUniqueAncestorSecurableObject | String | ||
LinkedRoleAssignments | String | ||
ServerRelativeUrl | String | This column will be available when the URL is a subsite. | |
Id [KEY] | String | ||
AllowContentTypes | Bool | ||
AllowDeletion | Bool | ||
BaseTemplate | Int | ||
BaseType | Int | ||
BrowserFileHandling | Int | ||
ContentTypesEnabled | Bool | ||
CrawlNonDefaultViews | Bool | ||
Created | Datetime | ||
CurrentChangeToken_StringValue | String | ||
CustomActionElements_Items | String | ||
DataSource_Properties | String | ||
DefaultContentApprovalWorkflowId | String | ||
DefaultDisplayFormUrl | String | ||
DefaultEditFormUrl | String | ||
DefaultItemOpenUseListSetting | Bool | ||
DefaultNewFormUrl | String | ||
DefaultViewPath_DecodedUrl | String | ||
DefaultViewUrl | String | ||
Description | String | ||
Direction | String | ||
DisableGridEditing | Bool | ||
DocumentTemplateUrl | String | ||
DraftVersionVisibility | Int | ||
EffectiveBasePermissions_High | Long | ||
EffectiveBasePermissions_Low | Long | ||
EffectiveBasePermissionsForUI_High | Long | ||
EffectiveBasePermissionsForUI_Low | Long | ||
EnableAssignToEmail | Bool | ||
EnableAttachments | Bool | ||
EnableFolderCreation | Bool | ||
EnableMinorVersions | Bool | ||
EnableModeration | Bool | ||
EnableRequestSignOff | Bool | ||
EnableVersioning | Bool | ||
EntityTypeName | String | ||
ExcludeFromOfflineClient | Bool | ||
ExemptFromBlockDownloadOfNonViewableFiles | Bool | ||
FileSavePostProcessingEnabled | Bool | ||
ForceCheckout | Bool | ||
HasExternalDataSource | Bool | ||
Hidden | Bool | ||
ImagePath_DecodedUrl | String | ||
ImageUrl | String | ||
IrmEnabled | Bool | ||
IrmExpire | Bool | ||
IrmReject | Bool | ||
IsApplicationList | Bool | ||
IsCatalog | Bool | ||
IsEnterpriseGalleryLibrary | Bool | ||
IsPrivate | Bool | ||
IsSiteAssetsLibrary | Bool | ||
IsSystemList | Bool | ||
ItemCount | Int | ||
LastItemDeletedDate | Datetime | ||
LastItemModifiedDate | Datetime | ||
LastItemUserModifiedDate | Datetime | ||
ListExperienceOptions | Int | ||
ListItemEntityTypeFullName | String | ||
MajorVersionLimit | Int | ||
MajorWithMinorVersionsLimit | Int | ||
MultipleDataList | Bool | ||
NoCrawl | Bool | ||
OnQuickLaunch | Bool | ||
PageRenderType | Int | ||
ParentWebPath_DecodedUrl | String | ||
ParentWebUrl | String | ||
ParserDisabled | Bool | ||
ReadSecurity | Int | ||
SchemaXml | String | ||
ServerTemplateCanCreateFolders | Bool | ||
TemplateFeatureId | String | ||
Title | String | ||
ValidationFormula | String | ||
ValidationMessage | String | ||
WriteSecurity | Int | ||
LinkedContentTypes | String | ||
LinkedCreatablesInfo | String | ||
LinkedDefaultView | String | ||
LinkedDescriptionResource | String | ||
LinkedEventReceivers | String | ||
LinkedFields | String | ||
LinkedForms | String | ||
LinkedInformationRightsManagementSettings | String | ||
LinkedItems | String | ||
LinkedParentWeb | String | ||
LinkedRootFolder | String | ||
LinkedSubscriptions | String | ||
LinkedTitleResource | String | ||
LinkedUserCustomActions | String | ||
LinkedViews | String | ||
LinkedWorkflowAssociations | String |
Get Web RoleAssignments member.
Note: PrincipalId is required to return RoleAssignmentMember.
SELECT * FROM RoleAssignmentMember WHERE PrincipalId = 3 SELECT * FROM RoleAssignmentMember WHERE List = 'TestApp' AND PrincipalId = 3 SELECT * FROM RoleAssignmentMember WHERE PrincipalId = 5 AND list = 'KatsunariMatsumoto' AND ItemId = '3'
Name | Type | References | Description |
ID [KEY] | String | The ID of the role assigned member. | |
Updated | Datetime | The updated date for role assigned member. | |
IsHiddenInUI | Boolean | A boolean indicating if the assigned role member is hidden in UI. | |
LoginName | String | The login name of the role assigned member. | |
Title | String | The title of the role assigned member. | |
AllowMembersEditMembership | Boolean | A boolean indicating whether to allow members edit membership. | |
AllowRequestToJoinLeave | Boolean | A boolean indicating whether to allow request to join leave. | |
AutoAcceptRequestToJoinLeave | Boolean | A boolean indicating whether to auto accept request to join leave. | |
Description | String | The description of the role assigned member. | |
OnlyAllowMembersViewMembership | Boolean | A boolean indicating whether to only allow members view membership. | |
OwnerTitle | String | The owner title of the role assigned member. | |
RequestToJoinLeaveEmailSetting | String | The request to join leave email setting of the role assigned member. | |
PrincipalId | String |
RoleAssignments.PrincipalId | The Principal Id. |
List | String |
Lists.Title | The internal name of the list to retrieve role assigned member from. |
ItemId | String | List item id for role assignment. |
Get Web RoleAssignments.
SELECT * FROM RoleAssignments WHERE List = 'TestApp' SELECT * FROM RoleAssignments WHERE PrincipalId = 5 AND list = 'KatsunariMatsumoto' AND ItemId = '3'
Name | Type | References | Description |
ID [KEY] | String | The ID of the role assigned. | |
PrincipalId | Long | The Principal ID for role assigned. | |
Updated | Datetime | The updated date for role assigned. | |
List | String |
Lists.Title | The internal name of the list to retrieve role assigned from. |
ItemId | String | List item id for role assignment. |
Get Web Role definition binding.
Note: PrincipalId is required to return RoleDefinitionBindings.
SELECT * FROM RoleDefinitionBindings WHERE PrincipalId = 3 SELECT * FROM RoleDefinitionBindings WHERE List = 'TestApp' AND PrincipalId = 3 SELECT * FROM RoleDefinitionBindings WHERE PrincipalId = 5 AND list = 'KatsunariMatsumoto' AND ItemId = '3'
Name | Type | References | Description |
ID [KEY] | String | The ID of the role assigned member. | |
BasePermissions_High | Int64 | The base permissions high. | |
BasePermissions_Low | Int64 | The base permissions low. | |
Description | String | The description. | |
Hidden | Boolean | A boolean indicating if it is hidden. | |
Name | String | The name. | |
Order | Int | The order. | |
RoleTypeKind | Int | The role type kind. | |
PrincipalId | String |
RoleAssignments.PrincipalId | The Principal Id. |
List | String |
Lists.Title | The internal name of the list to retrieve role assigned member from. |
ItemId | String | List item id for role defintion. |
Query the roles your users can have.
Name | Type | References | Description |
Id [KEY] | Int | ||
BasePermissions_High | Long | ||
BasePermissions_Low | Long | ||
Description | String | ||
Hidden | Bool | ||
Name | String | ||
Order | Int | ||
RoleTypeKind | Int |
This lists the available subsites.
SELECT * FROM Subsites
Name | Type | References | Description |
Id [KEY] | String | The Id of the subsite. | |
AllowRssFeeds | Boolean | The AllowRssFeeds of the subsite. | |
AlternateCssUrl | String | The AlternateCssUrl of the subsite. | |
AppInstanceId | String | The AppInstanceId of the subsite. | |
ClassicWelcomePage | String | The ClassicWelcomePage of the subsite. | |
Configuration | Int | The Configuration of the subsite. | |
Created | Datetime | The Created of the subsite. | |
CurrentChangeToken_StringValue | String | The CurrentChangeToken_StringValue of the subsite. | |
CustomMasterUrl | String | The CustomMasterUrl of the subsite. | |
Description | String | The Description of the subsite. | |
DesignPackageId | String | The DesignPackageId of the subsite. | |
DocumentLibraryCalloutOfficeWebAppPreviewersDisabled | Boolean | The DocumentLibraryCalloutOfficeWebAppPreviewersDisabled of the subsite. | |
EnableMinimalDownload | Boolean | The EnableMinimalDownload of the subsite. | |
FooterEmphasis | Int | The FooterEmphasis of the subsite. | |
FooterEnabled | Boolean | The FooterEnabled of the subsite. | |
FooterLayout | Int | The FooterLayout of the subsite. | |
HeaderEmphasis | Int | The HeaderEmphasis of the subsite. | |
HeaderLayout | Int | The HeaderLayout of the subsite. | |
HideTitleInHeader | Boolean | The HideTitleInHeader of the subsite. | |
HorizontalQuickLaunch | Boolean | The HorizontalQuickLaunch of the subsite. | |
IsHomepageModernized | Boolean | The IsHomepageModernized of the subsite. | |
IsMultilingual | Boolean | The IsMultilingual of the subsite. | |
IsRevertHomepageLinkHidden | Boolean | The IsRevertHomepageLinkHidden of the subsite. | |
KeepFieldUserResources | Boolean | The KeepFieldUserResources of the subsite. | |
Language | Int | The Language of the subsite. | |
LastItemModifiedDate | Datetime | The LastItemModifiedDate of the subsite. | |
LastItemUserModifiedDate | Datetime | The LastItemUserModifiedDate of the subsite. | |
LogoAlignment | Int | The LogoAlignment of the subsite. | |
MasterUrl | String | The MasterUrl of the subsite. | |
MegaMenuEnabled | Boolean | The MegaMenuEnabled of the subsite. | |
NavAudienceTargetingEnabled | Boolean | The NavAudienceTargetingEnabled of the subsite. | |
NoCrawl | Boolean | The NoCrawl of the subsite. | |
ObjectCacheEnabled | Boolean | The ObjectCacheEnabled of the subsite. | |
OverwriteTranslationsOnChange | Boolean | The OverwriteTranslationsOnChange of the subsite. | |
ResourcePath_DecodedUrl | String | The ResourcePath_DecodedUrl of the subsite. | |
QuickLaunchEnabled | Boolean | The QuickLaunchEnabled of the subsite. | |
RecycleBinEnabled | Boolean | The RecycleBinEnabled of the subsite. | |
SearchScope | Int | The SearchScope of the subsite. | |
ServerRelativeUrl | String | The ServerRelativeUrl of the subsite. | |
SiteLogoUrl | String | The SiteLogoUrl of the subsite. | |
SyndicationEnabled | Boolean | The SyndicationEnabled of the subsite. | |
TenantAdminMembersCanShare | Int | The TenantAdminMembersCanShare of the subsite. | |
Title | String | The Title of the subsite. | |
TreeViewEnabled | Boolean | The TreeViewEnabled of the subsite. | |
UIVersion | Int | The UIVersion of the subsite. | |
UIVersionConfigurationEnabled | Boolean | The UIVersionConfigurationEnabled of the subsite. | |
Url | String | The Url of the subsite. | |
WebTemplate | String | The WebTemplate of the subsite. | |
WelcomePage | String | The WelcomePage of the subsite. |
Query the available users on your sharepoint site.
SELECT * FROM Users // Fetch all the Users SELECT * FROM Users WHERE GroupId = 5 // Fetch a user for a particular Group
Name | Type | References | Description |
AadObjectId_NameId | String | ||
AadObjectId_NameIdIssuer | String | ||
String | |||
Expiration | String | ||
IsEmailAuthenticationGuestUser | Bool | ||
IsShareByEmailGuestUser | Bool | ||
IsSiteAdmin | Bool | ||
UserId_NameId | String | ||
UserId_NameIdIssuer | String | ||
UserPrincipalName | String | ||
LinkedAlerts | String | ||
LinkedGroups | String | ||
LoginName | String | The login name of the user. | |
Title | String | The Title of the user. | |
IsHiddenInUI | Boolean | A boolean indicating if the user is hidden in UI. | |
GroupId | Int | The group id the user is added to. |
The Sync App maps types from the data source to the corresponding data type available in the schema. The table below documents these mappings.
Microsoft SharePoint | CData Schema |
Choice (menu) | string |
Currency | float |
Date and Time | datetime |
Hyperlink or Picture | string |
Lookup | string |
Multiple lines of text | string |
Number | float |
Person or Group | string |
Single line of text | string |
Task Outcome | string |
Yes/No | bool |
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider. Click the links for further details.
For more information on establishing a connection, see Establishing a Connection.
Property | Description |
AuthScheme | The scheme used for authenticating to SharePoint. |
URL | The base URL for the site. |
SharePointEdition | The edition of SharePoint being used. Set either SharePoint Online or SharePoint On-Premise. |
User | The SharePoint user account used to authenticate. |
Password | The password used to authenticate the user. |
Property | Description |
AzureTenant | The Microsoft Online tenant being used to access data. If not specified, your default tentant will be used. |
AzureEnvironment | The Azure Environment to use when establishing a connection. |
Property | Description |
SSOLoginURL | The identity provider's login URL. |
SSODomain | The domain of the user when using single sign-on (SSO). |
SSOProperties | Additional properties required to connect to the identity provider in a semicolon-separated list. |
Property | Description |
OAuthClientId | The client Id assigned when you register your application with an OAuth authorization server. |
OAuthClientSecret | The client secret assigned when you register your application with an OAuth authorization server. |
Scope | The scope used for the OAuth flow to access data from the Application. |
OAuthGrantType | The grant type for the OAuth flow. |
Property | Description |
OAuthJWTCert | The JWT Certificate store. |
OAuthJWTCertType | The type of key store containing the JWT Certificate. |
OAuthJWTIssuer | The issuer of the Java Web Token. |
Property | Description |
KerberosKDC | The Kerberos Key Distribution Center (KDC) service used to authenticate the user. |
KerberosRealm | The Kerberos Realm used to authenticate the user. |
KerberosSPN | The service principal name (SPN) for the Kerberos Domain Controller. |
KerberosKeytabFile | The Keytab file containing your pairs of Kerberos principals and encrypted keys. |
KerberosServiceRealm | The Kerberos realm of the service. |
KerberosServiceKDC | The Kerberos KDC of the service. |
KerberosTicketCache | The full file path to an MIT Kerberos credential cache file. |
Property | Description |
SSLClientCert | The TLS/SSL client certificate store for SSL Client Authentication (2-way SSL). |
SSLClientCertType | The type of key store containing the TLS/SSL client certificate. |
SSLClientCertPassword | The password for the TLS/SSL client certificate. |
SSLClientCertSubject | The subject of the TLS/SSL client certificate. |
SSLServerCert | The certificate to be accepted from the server when connecting using TLS/SSL. |
Property | Description |
FirewallType | The protocol used by a proxy-based firewall. |
FirewallServer | The name or IP address of a proxy-based firewall. |
FirewallPort | The TCP port for a proxy-based firewall. |
FirewallUser | The user name to use to authenticate with a proxy-based firewall. |
FirewallPassword | A password used to authenticate to a proxy-based firewall. |
Property | Description |
ProxyAutoDetect | This indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings. |
ProxyServer | The hostname or IP address of a proxy to route HTTP traffic through. |
ProxyPort | The TCP port the ProxyServer proxy is running on. |
ProxyAuthScheme | The authentication type to use to authenticate to the ProxyServer proxy. |
ProxyUser | A user name to be used to authenticate to the ProxyServer proxy. |
ProxyPassword | A password to be used to authenticate to the ProxyServer proxy. |
ProxySSLType | The SSL type to use when connecting to the ProxyServer proxy. |
ProxyExceptions | A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer . |
Property | Description |
LogModules | Core modules to be included in the log file. |
Property | Description |
Location | A path to the directory that contains the schema files defining tables, views, and stored procedures. |
BrowsableSchemas | This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC. |
Tables | This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC. |
Views | Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC. |
Schema | The type of schema to use. |
Property | Description |
CalculatedDataType | The data type to be used for calculated fields. |
ContinueOnError | Indicates whether or not to continue updating items in a batch after an error. |
CreateIDColumns | Indicates whether or not to create supplemental ID columns for SharePoint columns that use values from information stored in other Lists. |
FolderOption | An option to determine how to display folders in results. Enter either FilesOnly, FilesAndFolders, Recursive, or RecursiveAll. |
IncludeLookupColumns | This option controls whether the driver returns the lookup columns defined on a table. |
MaxRows | Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time. |
Other | These hidden properties are used only in specific use cases. |
Pagesize | The maximum number of results to return per page from Microsoft SharePoint. |
PseudoColumns | This property indicates whether or not to include pseudo columns as columns to the table. |
ShowHiddenColumns | Boolean determining if hidden columns should be shown or not. If false, all hidden columns will be removed from the column listing. |
ShowPredefinedColumns | Boolean determining if predefined columns should be shown or not. If false, all columns derived from a base type will be removed from the column listing. |
ShowVersionViews | Indicate whether to display the view of list versions. Such as ListA_Versions. |
STSURL | The URL of the security token service (STS) when using single sign-on (SSO). |
Timeout | The value in seconds until the timeout error is thrown, canceling the operation. |
UseDisplayNames | Boolean determining if the display names for the columns should be used instead of the API names. |
UseEntityTypeName | Boolean determining if the table name should be EntityTypeName instead of the title in the REST schema. |
UseNTLMV1 | Determines whether the driver will attempt to connect with NTLMv1 or NTLMv2 (default). |
UserDefinedViews | A filepath pointing to the JSON configuration file containing your custom views. |
UseSimpleNames | Boolean determining if simple names should be used for tables and columns. |