Connecting to XML Data Sources
After connecting to your data source, set DataModel to more closely match the data representation to the structure of your data.
Connecting to XML
Below are example connection strings to XML files or streams, using the driver's default data modeling configuration (see below)
Service provider | URI formats | Connection example |
Local | Single File Path (One table)
file://localPath/file.xml Directory Path (One aggregated table from all files) file://localPath | URI=C:/folder1/file.xml; |
HTTP or HTTPS | http://remoteStream
https://remoteStream | URI=http://www.host1.com/streamname1; |
Amazon S3 | Single File Path (One table)
s3://remotePath/file.xml Directory Path (One aggregated table from all files) s3://remotePath | URI=s3://bucket1/folder1/file.xml; AWSSecretKey=secret1; AWSRegion=OHIO; |
Azure Blob Storage | azureblob://mycontainer/myblob/ | URI=azureblob://mycontainer/myblob/; AzureStorageAccount=myAccount; AzureAccessKey=myKey;
URI=azureblob://mycontainer/myblob/; AzureStorageAccount=myAccount; InitiateOAuth=GETANDREFRESH; AuthScheme=OAuth; |
Google Drive | Single File Path (One table)
gdrive://remotePath/file.xml gdrive://SharedWithMe/remotePath/file.xml Directory Path (One aggregated table from all files) gdrive://remotePath gdrive://SharedWithMe/remotePath | URI=gdrive://folder1/file.xml;InitiateOAuth=GETANDREFRESH; AuthScheme=OAuth;
URI=gdrive://SharedWithMe/folder1/file.xml;InitiateOAuth=GETANDREFRESH; AuthScheme=OAuth; |
OneDrive | Single File Path (One table)
onedrive://remotePath/file.xml onedrive://SharedWithMe/remotePath/file.xml Directory Path (One aggregated table from all files) onedrive://remotePath onedrive://SharedWithMe/remotePath | URI=onedrive://folder1/file.xml;InitiateOAuth=GETANDREFRESH; AuthScheme=OAuth;
URI=onedrive://SharedWithMe/folder1/file.xml;InitiateOAuth=GETANDREFRESH; AuthScheme=OAuth; |
Box | Single File Path (One table)
box://remotePath/file.xml Directory Path (One aggregated table from all files) box://remotePath | URI=box://folder1/file.xml; InitiateOAuth=GETANDREFRESH; AuthScheme=OAuth; |
Dropbox | Single File Path (One table)
dropbox://remotePath/file.xml Directory Path (One aggregated table from all files) dropbox://remotePath | URI=dropbox://folder1/file.xml; InitiateOAuth=GETANDREFRESH; AuthScheme=OAuth; OAuthClientId=oauthclientid1; OAuthClientSecret=oauthcliensecret1; CallbackUrl=http://localhost:12345; |
SharePoint SOAP | Single File Path (One table)
sp://remotePath/file.xml Directory Path (One aggregated table from all files) sp://remotePath | URI=sp://Documents/folder1/file.xml; User=user1; Password=password1; StorageBaseURL=https://subdomain.sharepoint.com; |
SharePoint REST | Single File Path (One table)
sprest://remotePath/file.xml Directory Path (One aggregated table from all files) sprest://remotePath | URI=sprest://Documents/folder1/file.xml; InitiateOAuth=GETANDREFRESH; AuthScheme=OAuth; StorageBaseURL=https://subdomain.sharepoint.com; |
FTP or FTPS | Single File Path (One table)
ftp://server:port/remotePath/file.xml ftps://server:port/remotepath/file.xml Directory Path (One aggregated table from all files) ftp://server:port/remotePath ftps://server:port/remotepath; | URI=ftps://localhost:990/folder1/file.xml; User=user1; Password=password1; |
SFTP | Single File Path (One table)
sftp://server:port/remotePath/file.xml Directory Path (One aggregated table from all files) sftp://server:port/remotePath | URI=sftp://127.0.0.1:22/folder1/file.xml User=user1; Password=password1;
URI=sftp://127.0.0.1:22/folder1/file.xml SSHAuthmode=PublicKey; SSHClientCert=myPrivateKey |
Azure Data Lake Store Gen1 | adl://remotePath/file.xml
adl://Account.azuredatalakestore.net@remotePath/file.xml | URI=adl://folder1/file.xml; InitiateOAuth=GETANDREFRESH; AuthScheme=OAuth; AzureStorageAccount=myAccount; AzureTenant=tenant;
URI=adl://myAccount.azuredatalakestore.net@folder1/file.xml; InitiateOAuth=GETANDREFRESH; AuthScheme=OAuth; AzureTenant=tenant; |
AzureDataLakeStoreGen2 | abfs://myfilesystem/remotePath/file.xml
abfs://[email protected]/remotepath/file.xml
| URI=abfs://myfilesystem/folder1/file.xml; AzureStorageAccount=myAccount; AzureAccessKey=myKey;
URI=abfs://[email protected]/folder1/file.xml; AzureAccessKey=myKey; |
AzureDataLakeStoreGen2 with SSL | abfss://myfilesystem/remotePath/file.xml
abfss://[email protected]/remotepath/file.xml
| URI=abfss://myfilesystem/folder1/file.xml; AzureStorageAccount=myAccount; AzureAccessKey=myKey;
URI=abfss://[email protected]/folder1/file.xml; AzureAccessKey=myKey; |
Wasabi | Single File Path (One table)
wasabi://bucket1/remotePath/file.xml Directory Path (One aggregated table from all files) wasabi://bucket1/remotePath | URI=wasabi://bucket/folder1/file.xml; AccessKey=token1; SecretKey=secret1; Region='us-west-1'; |
Google Cloud Storage | Single File Path (One table)
gs://bucket/remotePath/file.xml Directory Path (One aggregated table from all files) gs://bucket/remotePath | URI=gs://bucket/folder1/file.xml; InitiateOAuth=GETANDREFRESH; AuthScheme=OAuth; ProjectId=test; |
Oracle Cloud Storage | Single File Path (One table)
os://bucket/remotePath/file.xml Directory Path (One aggregated table from all files) os://bucket/remotePath | URI=os://bucket/folder1/file.xml; AccessKey='myKey'; SecretKey='mySecretKey'; OracleNameSpace='myNameSpace' Region='us-west-1'; |
Azure File | Single File Path (One table)
azurefile://fileShare/remotePath/file.xml Directory Path (One aggregated table from all files) azurefile://fileShare/remotePath | URI=azurefile://bucket/folder1/file.xml; AzureStorageAccount='myAccount'; AzureAccessKey='mySecretKey';
URI=azurefile://bucket/folder1/file.xml; AzureStorageAccount='myAccount'; AzureSharedAccessSignature='mySharedAccessSignature'; |
IBM Object Storage Source | Single File Path (One table)
ibmobjectstorage://bucket1/remotePath/file.xml Directory Path (One aggregated table from all files) ibmobjectstorage://bucket1/remotePath | URI=ibmobjectstorage://bucket/folder1/file.xml; AuthScheme='HMAC'; AccessKey=token1; SecretKey=secret1; Region='eu-gb';
URI=ibmobjectstorage://bucket/folder1/file.xml; ApiKey=key1; Region='eu-gb'; AuthScheme=OAuth; InitiateOAuth=GETANDREFRESH; |
Hadoop Distributed File System | Single File Path (One table)
webhdfs://host:port/remotePath/file.xml Directory Path (One aggregated table from all files) webhdfs://host:port/remotePath | URI=webhdfs://host:port/folder1/file.xml |
Secure Hadoop Distributed File System | Single File Path (One table)
webhdfss://host:port/remotePath/file.xml Directory Path (One aggregated table from all files) webhdfss://host:port/remotePath | URI=webhdfss://host:port/folder1/file.xml |
Modeling XML Data
The DataModel property is the controlling property over how your data is represented into tables and toggles the following basic configurations.
- Document (default): Model a top-level, document view of your XML data. The driver returns nested object arrays as aggregated XML objects.
- FlattenedDocuments: Implicitly join nested array objects and parent objects into a single table.
- Relational: View nested object arrays as individual, related tables containing a primary key and a foreign key that links to the parent document.
Next Steps
- See Parsing Hierarchical Data for examples showing how to query a dataset in each DataModel configuration.
- See Modeling XML Data for information on customizing schema discovery and how to execute SQL to XML.
- See Fine-Tuning Data Access for more advanced connection settings: fine-tune the default data modeling settings, connect through a firewall, or troubleshoot connections.