{"id":4414,"date":"2018-07-11T19:21:11","date_gmt":"2018-07-11T19:21:11","guid":{"rendered":"https:\/\/zappysys.com\/blog\/?p=4414"},"modified":"2025-08-22T14:54:54","modified_gmt":"2025-08-22T14:54:54","slug":"read-salesforce-custom-reports-ssis-odbc","status":"publish","type":"post","link":"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/","title":{"rendered":"Read from Salesforce Custom Reports in SSIS \/ ODBC"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-1764 alignleft\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png\" alt=\"\" width=\"107\" height=\"107\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png 180w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180-150x150.png 150w\" sizes=\"(max-width: 107px) 100vw, 107px\" \/><\/a>In our previous posts we saw how to <a href=\"https:\/\/zappysys.com\/blog\/export-data-from-salesforce-to-sql-server-using-ssis\/\" target=\"_blank\" rel=\"noopener\">read<\/a> and <a href=\"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/\" target=\"_blank\" rel=\"noopener\">write<\/a> Salesforce Data using SSIS Salesforce Connectors (Source \/Destination). It covered how to read salesforce data from Tables and SOQL query but it does not support reading from reports. So now in this post we will see <strong>how to\u00a0read Salesforce data from Custom Reports in SSIS<\/strong> which will use\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-json-file-source\/\" target=\"_blank\" rel=\"noopener\">JSON Source<\/a>\u00a0rather than <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-salesforce-source-connector\/\" target=\"_blank\" rel=\"noopener\">Salesforce Source<\/a>.<\/p>\n<p>Later in this post we will show you how to integrate Salesforce data in Apps like Power BI, SSRS, Informatica and languages like C#, Java, Python or T-SQL for MS SQL Folks.<\/p>\n<p>So let&#8217;s get started!!!<\/p>\n<div class=\"content_block\" id=\"custom_post_widget-2523\"><h2><span id=\"Prerequisites\">Prerequisites<\/span><\/h2>\r\nBefore we perform the steps listed in this article, you will need to make sure the following prerequisites are met:\r\n<ol style=\"margin-left: 1.5em;\">\r\n \t<li><abbr title=\"SQL Server Integration Services\">SSIS<\/abbr> designer installed.\u00a0Sometimes it is referred to as <abbr title=\"Business Intelligence Development Studio\">BIDS<\/abbr> or <abbr title=\"SQL Server Data Tools\">SSDT<\/abbr> (<a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/ssdt\/download-sql-server-data-tools-ssdt\" target=\"_blank\" rel=\"noopener\">download it from the Microsoft site<\/a>).<\/li>\r\n \t<li>Basic knowledge of SSIS package\u00a0development using\u00a0<em>Microsoft SQL Server Integration Services<\/em>.<\/li>\r\n \t<li>Make sure\u00a0<span style=\"text-decoration: underline;\"><a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/\" target=\"_blank\" rel=\"noopener\">ZappySys SSIS PowerPack<\/a><\/span>\u00a0is installed (<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/download\/\" target=\"_blank\" rel=\"noopener\">download it<\/a>, if you haven't already).<\/li>\r\n \t<li>(<em>Optional step<\/em>)<em>.<\/em>\u00a0<a href=\"https:\/\/zappysys.zendesk.com\/hc\/en-us\/articles\/360035974593\" target=\"_blank\" rel=\"noopener\">Read this article<\/a>, if you are planning to deploy packages to a server and schedule their execution later.<\/li>\r\n<\/ol><\/div>\n<h2><\/h2>\n<h2>Read Salesforce Custom Reports in SSIS<\/h2>\n<p>In this section you will learn how to use ZappySys JSON Source Adapter to extract data from Salesforce REST API (JSON Format). You can call pretty much Any REST API to fetch data from salesforce but our example for this post would be read metadata (i.e. table list) from salesforce (we will call <a href=\"https:\/\/developer.salesforce.com\/docs\/atlas.en-us.api_rest.meta\/api_rest\/dome_sobject_basic_info.htm\" target=\"_blank\" rel=\"noopener\">sobjects<\/a>\u00a0to get all table information) .<\/p>\n<p>So lets get started.<\/p>\n<ol>\n<li>In case you missed the previous section, You need to\u00a0<b>Download and Install<\/b>\u00a0SSIS\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/download\/\" target=\"_blank\" rel=\"noopener\">ZappySys PowerPack.<\/a><\/li>\n<li>Once you finished first step, Open Visual Studio and Create New SSIS Package Project.<\/li>\n<li>Now, Drag and Drop SSIS\u00a0<b>Data Flow Task<\/b>\u00a0from SSIS Toolbox.<br \/>\n<img decoding=\"async\" class=\"figureimage\" title=\"SSIS Data Flow Task - Drag and Drop\" src=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/scr\/images\/drag-and-drop-data-flow-task.png\" alt=\"SSIS Data Flow Task - Drag and Drop\" \/><\/li>\n<li>Double click on the Data Flow task to see Data Flow designer surface.<\/li>\n<li>From the SSIS toolbox drag and drop JSON Source on the Data Flow designer surface.<br \/>\n<img decoding=\"async\" class=\"figureimage\" title=\"SSIS JSON Source - Drag and Drop\" src=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/scr\/images\/json-source\/ssis-json-source-adapter-drag.png\" alt=\"SSIS JSON Source - Drag and Drop\" \/><\/li>\n<li>Now double click JSON Source and enter your Report URL like below. Make sure you replace instance name and report ID as per the screenshot.\n<pre class=\"\">https:\/\/YOUR-ORG-INSTANCE.salesforce.com\/services\/data\/v64.0\/analytics\/reports\/YOUR-REPORT-ID\r\n<\/pre>\n<p><strong>Example URLs<\/strong><\/p>\n<pre class=\"\">Using Salesforce Org Domain:\r\nhttps:\/\/zappysys21.salesforce.com\/services\/data\/v64.0\/analytics\/reports\/00O61000001a97n\r\n\r\nUsing Personal Lighting\/My Domain (works when [My Domain] feature enabled):\r\nhttps:\/\/zappysys21.my.salesforce.com\/services\/data\/v64.0\/analytics\/reports\/00O61000001a97n\r\n\r\nUsing Direct Pod\/Instance URL:\r\nhttps:\/\/na34.salesforce.com\/services\/data\/v64.0\/analytics\/reports\/00O61000001a97n<\/pre>\n<\/li>\n<li>Check Use Credentials and configure Salesforce Connection\n<div id=\"attachment_8918\" style=\"width: 602px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/create-ssis-rest-api-connection-connect-http-oauth-salesforce.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8918\" class=\"size-full wp-image-8918\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/create-ssis-rest-api-connection-connect-http-oauth-salesforce.png\" alt=\"Create new REST API Connection in SSIS (For JSON, XML or CSV Source)\" width=\"592\" height=\"215\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/create-ssis-rest-api-connection-connect-http-oauth-salesforce.png 592w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/create-ssis-rest-api-connection-connect-http-oauth-salesforce-300x109.png 300w\" sizes=\"(max-width: 592px) 100vw, 592px\" \/><\/a><p id=\"caption-attachment-8918\" class=\"wp-caption-text\">Create new REST API Connection in SSIS (For JSON, XML or CSV Source)<\/p><\/div><\/li>\n<li>Configure your Salesforce connection<img decoding=\"async\" class=\"figureimage\" title=\"SSIS Salesforce Connection Manager UI \" src=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/scr\/images\/salesforce-connection\/ssis-salesforce-connection-manager-ui.png\" alt=\"SSIS Salesforce Connection Manager UI \" \/><\/li>\n<li>Select or type filter. For example in this case you will type\u00a0<span class=\"lang:default decode:true crayon-inline\">$.factMap.T!T.rows[*]<\/span><\/li>\n<li>Uncheck Use Parents option (You can keep it but it will add many unwanted fields)<div class=\"su-note\"  style=\"border-color:#e5e54c;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#FFFF66;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><strong>NOTE:<\/strong> Please make sure that you&#8217;re configuring an API URL and not the HTML\/Browser Page URL as both URLs will be different.Please make sure you replace instance name and report ID as per the below screenshot.\n<pre class=\"\">https:\/\/YOUR-ORG-INSTANCE.salesforce.com\/services\/data\/v64.0\/analytics\/reports\/YOUR-REPORT-ID\r\n<\/pre>\n<p><strong>Example URLs\u00a0<\/strong><\/p>\n<pre class=\"\">https:\/\/na34.salesforce.com\/services\/data\/v64.0\/analytics\/reports\/00O61000001a97n\r\n\r\nUsing Salesforce Org Domain:\r\nhttps:\/\/zappysys21.salesforce.com\/services\/data\/v64.0\/analytics\/reports\/00O61000001a97n\r\n\r\nUsing Personal Lighting\/My Domain (works when [My Domain] feature enabled):\r\nhttps:\/\/zappysys21.my.salesforce.com\/services\/data\/v64.0\/analytics\/reports\/00O61000001a97n\r\n\r\nUsing Direct Pod\/Instance URL:\r\nhttps:\/\/na34.salesforce.com\/services\/data\/v64.0\/analytics\/reports\/00O61000001a97n<\/pre>\n<\/div><\/div>\n<div id=\"attachment_10205\" style=\"width: 794px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-read-salesforce-custom-reports.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-10205\" class=\"wp-image-10205 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-read-salesforce-custom-reports.png\" alt=\"ssis-read-salesforce-custom-reports\" width=\"784\" height=\"652\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-read-salesforce-custom-reports.png 784w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-read-salesforce-custom-reports-300x249.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-read-salesforce-custom-reports-768x639.png 768w\" sizes=\"(max-width: 784px) 100vw, 784px\" \/><\/a><p id=\"caption-attachment-10205\" class=\"wp-caption-text\">Configure &#8211; Read Salesforce Custom Reports Data<\/p><\/div><\/li>\n<li>Now Go to Array Transform Tab\n<ol>\n<li>Select Transform Type : <span class=\"lang:default highlight:0 decode:true crayon-inline \">Complex 2-dimensional array<\/span><\/li>\n<li>Column name filter: <span class=\"lang:default highlight:0 decode:true crayon-inline \">$.reportMetadata.detailColumns[*]<\/span><\/li>\n<li>Row values filter: <span class=\"lang:default highlight:0 decode:true crayon-inline \">$.dataCells[*].label<\/span><\/li>\n<\/ol>\n<\/li>\n<li>Here is how your Array Transform Tab configuration should look like\n<div id=\"attachment_8921\" style=\"width: 689px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/advanced-options-salesforce-custom-reports-rest-api-call.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8921\" class=\"size-full wp-image-8921\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/advanced-options-salesforce-custom-reports-rest-api-call.png\" alt=\"Configure - Advanced Array Transform (Read Salesforce Custom Reports Data in SSIS)\" width=\"679\" height=\"232\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/advanced-options-salesforce-custom-reports-rest-api-call.png 679w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/advanced-options-salesforce-custom-reports-rest-api-call-300x103.png 300w\" sizes=\"(max-width: 679px) 100vw, 679px\" \/><\/a><p id=\"caption-attachment-8921\" class=\"wp-caption-text\">Configure &#8211; Advanced Array Transform (Read Salesforce Custom Reports Data in SSIS)<\/p><\/div><\/li>\n<li>Now Click OK to Save UI and attach your source to some target like OLEDB Destination and run your data flow to test.\n<div id=\"attachment_8922\" style=\"width: 548px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-extract-data-from-custom-salesforce-report.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8922\" class=\"size-full wp-image-8922\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-extract-data-from-custom-salesforce-report.png\" alt=\"Extract Data from Salesforce Custom Reports in SSIS - Load into Target like SQL Server, MySQL, PostgreSql, Oracle\" width=\"538\" height=\"602\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-extract-data-from-custom-salesforce-report.png 538w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-extract-data-from-custom-salesforce-report-268x300.png 268w\" sizes=\"(max-width: 538px) 100vw, 538px\" \/><\/a><p id=\"caption-attachment-8922\" class=\"wp-caption-text\">Extract Data from Salesforce Custom Reports in SSIS &#8211; Load into Target like SQL Server, MySQL, PostgreSql, Oracle<\/p><\/div><\/li>\n<\/ol>\n<h2>Read Salesforce Custom Reports in ODBC Apps<\/h2>\n<p>So far we have seen how to read salesforce custom report data in SSIS using ETL approach, but what if you are not using SSIS and you want to pull data in programming languages like C#, Java, Python or apps like Power BI, Informatica, Excel, SSRS or using pure T-SQL way in SQL Server?<\/p>\n<div class=\"content_block\" id=\"custom_post_widget-9166\"><h2>Requirements<\/h2>\r\nIn order to access API data inside your App using ODBC Driver you will need to make sure following requirements are met.\r\n<ol>\r\n \t<li>Download and Install\u00a0<a href=\"https:\/\/zappysys.com\/products\/odbc-powerpack\/\" target=\"_blank\" rel=\"noopener\">ZappySys ODBC PowerPack<\/a>\u00a0(This includes XML \/ JSON \/ REST API and few other drivers for SQL Server and ODBC connectivity in tools like Excel, Power BI, SSRS)<\/li>\r\n<\/ol><\/div>\n<p>ZappySys Provides native <a href=\"https:\/\/zappysys.com\/products\/odbc-powerpack\/salesforce-odbc-driver\/\" target=\"_blank\" rel=\"noopener\">Salesforce Driver<\/a> to read \/ write Salesforce Object&#8217;s data (Its part of <a href=\"https:\/\/zappysys.com\/products\/odbc-powerpack\/\" target=\"_blank\" rel=\"noopener\">ODBC PowerPack<\/a>). This driver can read\/write standard objects (e.g. Accounts, Contacts) However <strong>reading from salesforce custom report<\/strong> is not supported by native driver. For this purpose you have to use <a href=\"https:\/\/zappysys.com\/blog\/how-to-call-salesforce-rest-api-via-odbc-driver\/\" target=\"_blank\" rel=\"noopener\">JSON \/ REST Driver using this approach<\/a>. With Generic REST \/ JSON API driver you can automate pretty much any Salesforce Operations. To get some advanced information on Report API you <a href=\"https:\/\/resources.docs.salesforce.com\/rel1\/doc\/en-us\/static\/pdf\/SF_Reports_and_Dashboards_Rest_API_web.pdf\" target=\"_blank\" rel=\"noopener\">can refer this guide<\/a><\/p>\n<p>So let&#8217;s get started.<\/p>\n<ol>\n<li>Follow <a href=\"https:\/\/zappysys.com\/blog\/how-to-call-salesforce-rest-api-via-odbc-driver\/\" target=\"_blank\" rel=\"noopener\">this blog post<\/a> to install JSON \/ REST Driver and configure Salesforce OAuth Connection.<\/li>\n<li>Once you can read some sample data described in previous step we are ready to run advanced queries.<\/li>\n<li>Go to Preview Tab and Run below Query to pull data from Custom Report\n<pre class=\"lang:tsql decode:true\">--change YOUR-INSTANCE and YOUR-REPORT-ID\r\nSELECT * FROM $\r\nWITH(\r\nSrc='https:\/\/YOUR-ORG-INSTANCE.salesforce.com\/services\/data\/v64.0\/analytics\/reports\/YOUR-REPORT-ID'\r\n,Filter='$.factMap.T!T.rows[*]'\r\n,ArrayTransformType='TransformComplexTwoDimensionalArray'\r\n,ArrayTransColumnNameFilter='$.reportMetadata.detailColumns[*]'\r\n,ArrayTransRowValueFilter='$.dataCells[*].label'\r\n,RequestMethod='GET'\r\n)<\/pre>\n<p>&nbsp;<\/li>\n<\/ol>\n<h2>Integrate Salesforce Data in ODBC Apps (e.g. Power BI, SSRS, Excel, Informatica, Access, C#&#8230;)<\/h2>\n<div class=\"content_block\" id=\"custom_post_widget-7051\">ZappySys ODBC Drivers built using ODBC standard which is widely adopted by industry for a long time. Which mean the majority of BI Tools \/ Database Engines \/ ETL Tools already there will support native \/ 3rd party ODBC Drivers. Below is the small list of most popular tools \/ programming languages our Drivers support. If your tool \/ programming language doesn't appear in the below list, which means we have not documented use case but as long as your tool supports ODBC Standard, our drivers should work fine.\r\n\r\n&nbsp;\r\n\r\n<img loading=\"lazy\" decoding=\"async\" class=\"\" src=\"\/\/zappysys.com\/images\/odbc-powerpack\/odbc-powerpack-integration.jpg\" alt=\"ZappySys ODBC Drivers for REST API, JSON, XML - Integrate with Power BI, Tableau, QlikView, QlikSense, Informatica PowerCenter, Excel, SQL Server, SSIS, SSAS, SSRS, Visual Studio \/ WinForm \/ WCF, Python, C#, VB.net, PHP. PowerShell \" width=\"750\" height=\"372\" \/>\r\n<table style=\"valign: top;\">\r\n<tbody>\r\n<tr>\r\n<td>\r\n<p style=\"text-align: center;\"><strong>BI \/ Reporting Tools\r\nIntegration<\/strong><\/p>\r\n<\/td>\r\n<td style=\"text-align: center;\"><strong>ETL Tools\r\nIntegration\r\n<\/strong><\/td>\r\n<td style=\"text-align: center;\"><strong>Programming Languages<\/strong>\r\n<strong>Integration<\/strong><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>\r\n<ul>\r\n \t<li><a href=\"https:\/\/zappysys.com\/blog\/howto-import-json-rest-api-power-bi\/\" target=\"_blank\" rel=\"noopener\">Microsoft Power BI<\/a><\/li>\r\n \t<li><a href=\"https:\/\/zappysys.com\/blog\/import-rest-api-tableau-read-json-soap-xml-csv\/\">Tableau<\/a><\/li>\r\n \t<li><a href=\"https:\/\/zappysys.com\/blog\/read-rest-api-using-ssrs-reports-call-json-xml-web-service\/\" target=\"_blank\" rel=\"noopener\">SSRS (SQL Reporting Services)<\/a><\/li>\r\n \t<li><a href=\"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/\" target=\"_blank\" rel=\"noopener\">QlikView \/Qlik Sense<\/a><\/li>\r\n \t<li><a href=\"https:\/\/zappysys.com\/blog\/call-rest-api-in-microstrategy-json-soap-xml\/\" target=\"_blank\" rel=\"noopener\">MicroStrategy<\/a><\/li>\r\n \t<li><a href=\"https:\/\/zappysys.com\/blog\/import-rest-api-google-sheet-call-appscript-load-json-soap-xml-csv\/\" target=\"_blank\" rel=\"noopener\">Google Sheet<\/a><\/li>\r\n \t<li><a href=\"https:\/\/zappysys.com\/blog\/import-json-excel-load-file-rest-api\/\" target=\"_blank\" rel=\"noopener\">Microsoft Excel<\/a><\/li>\r\n \t<li><a href=\"https:\/\/zappysys.com\/api\/integration-hub\/rest-api-connector\/access?context=connector\" target=\"_blank\" rel=\"noopener\">Microsoft Access<\/a><\/li>\r\n \t<li>Oracle OBIEE<\/li>\r\n \t<li>Many more (not in this list).....<\/li>\r\n<\/ul>\r\n<\/td>\r\n<td>\r\n<ul>\r\n \t<li><a href=\"https:\/\/zappysys.com\/blog\/read-json-informatica-import-rest-api-json-file\/\" target=\"_blank\" rel=\"noopener\">Informatica PowerCenter<\/a> (Windows)<\/li>\r\n \t<li>Informatica Cloud<\/li>\r\n \t<li>SSIS (SQL Integration Services)<\/li>\r\n \t<li><a href=\"https:\/\/zappysys.com\/blog\/import-rest-api-json-sql-server\/\" target=\"_blank\" rel=\"noopener\">SQL Server<\/a><\/li>\r\n \t<li><a href=\"https:\/\/zappysys.com\/blog\/read-write-rest-api-data-in-talend-json-xml-soap\/\" target=\"_blank\" rel=\"noopener\">Talend Data Studio<\/a><\/li>\r\n \t<li><a href=\"https:\/\/zappysys.com\/blog\/pentaho-read-rest-api-in-pentaho\/\" target=\"_blank\" rel=\"noopener\">Pentaho Kettle<\/a><\/li>\r\n \t<li>Oracle OBIEE<\/li>\r\n \t<li>Many more (not in this list).....<\/li>\r\n<\/ul>\r\n<\/td>\r\n<td>\r\n<ul>\r\n \t<li>Visual Studio<\/li>\r\n \t<li><a href=\"https:\/\/zappysys.com\/blog\/calling-rest-api-in-c\/\" target=\"_blank\" rel=\"noopener\">C#<\/a><\/li>\r\n \t<li>C++<\/li>\r\n \t<li><a href=\"https:\/\/zappysys.com\/blog\/connect-java-to-rest-api-json-soap-xml\/\" target=\"_blank\" rel=\"noopener\">JAVA<\/a><\/li>\r\n \t<li><a href=\"https:\/\/zappysys.com\/blog\/set-rest-python-client\/\" target=\"_blank\" rel=\"noopener\">Python<\/a><\/li>\r\n \t<li>PHP<\/li>\r\n \t<li><a href=\"https:\/\/zappysys.com\/blog\/call-rest-api-powershell-script-export-json-csv\/\" target=\"_blank\" rel=\"noopener\">PowerShell<\/a><\/li>\r\n \t<li><a href=\"https:\/\/zappysys.com\/blog\/import-rest-api-json-sql-server\/\" target=\"_blank\" rel=\"noopener\">T-SQL (Using Linked Server)<\/a><\/li>\r\n<\/ul>\r\n<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n&nbsp;<\/div>\n<h2>Conclusion<\/h2>\n<p>In this post we saw how easy it is to perform Salesforce Data Integration in SSIS or any other apps using ZappySys SSIS Connectors or ODBC Drivers. Download FREE Trial of <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/\" target=\"_blank\" rel=\"noopener\">SSIS PowerPack<\/a>\u00a0or if you need to integration in other apps then <a href=\"https:\/\/zappysys.com\/products\/odbc-powerpack\/\" target=\"_blank\" rel=\"noopener\">get ODBC PowerPack here<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In our previous posts we saw how to read and write Salesforce Data using SSIS Salesforce Connectors (Source \/Destination). It covered how to read salesforce data from Tables and SOQL query but it does not support reading from reports. So now in this post we will see how to\u00a0read Salesforce data from Custom Reports [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1764,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[277,176,225,17,466],"tags":[279,3,210],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>Read from Salesforce Custom Reports in SSIS \/ ODBC | ZappySys Blog<\/title>\r\n<meta name=\"description\" content=\"Learn how to read data from Salesforce Custom Report by calling REST API in SSIS or other Apps using ODBC Driver (Power BI, SSRS, Informatica, C#, Python..)\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Read from Salesforce Custom Reports in SSIS \/ ODBC | ZappySys Blog\" \/>\r\n<meta property=\"og:description\" content=\"Learn how to read data from Salesforce Custom Report by calling REST API in SSIS or other Apps using ODBC Driver (Power BI, SSRS, Informatica, C#, Python..)\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/\" \/>\r\n<meta property=\"og:site_name\" content=\"ZappySys Blog\" \/>\r\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/ZappySys\/\" \/>\r\n<meta property=\"article:published_time\" content=\"2018-07-11T19:21:11+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2025-08-22T14:54:54+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"180\" \/>\r\n\t<meta property=\"og:image:height\" content=\"180\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"ZappySys\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/zappysys\/\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ZappySys\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/\",\"url\":\"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/\",\"name\":\"Read from Salesforce Custom Reports in SSIS \/ ODBC | ZappySys Blog\",\"isPartOf\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png\",\"datePublished\":\"2018-07-11T19:21:11+00:00\",\"dateModified\":\"2025-08-22T14:54:54+00:00\",\"author\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82\"},\"description\":\"Learn how to read data from Salesforce Custom Report by calling REST API in SSIS or other Apps using ODBC Driver (Power BI, SSRS, Informatica, C#, Python..)\",\"breadcrumb\":{\"@id\":\"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/#primaryimage\",\"url\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png\",\"contentUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png\",\"width\":180,\"height\":180},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/zappysys.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Read from Salesforce Custom Reports in SSIS \/ ODBC\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/zappysys.com\/blog\/#website\",\"url\":\"https:\/\/zappysys.com\/blog\/\",\"name\":\"ZappySys Blog\",\"description\":\"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/zappysys.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82\",\"name\":\"ZappySys\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g\",\"caption\":\"ZappySys\"},\"sameAs\":[\"http:\/\/www.zappysys.com\/\",\"https:\/\/www.facebook.com\/ZappySys\/\",\"https:\/\/twitter.com\/https:\/\/twitter.com\/zappysys\/\"],\"url\":\"https:\/\/zappysys.com\/blog\/author\/admin\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Read from Salesforce Custom Reports in SSIS \/ ODBC | ZappySys Blog","description":"Learn how to read data from Salesforce Custom Report by calling REST API in SSIS or other Apps using ODBC Driver (Power BI, SSRS, Informatica, C#, Python..)","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/","og_locale":"en_US","og_type":"article","og_title":"Read from Salesforce Custom Reports in SSIS \/ ODBC | ZappySys Blog","og_description":"Learn how to read data from Salesforce Custom Report by calling REST API in SSIS or other Apps using ODBC Driver (Power BI, SSRS, Informatica, C#, Python..)","og_url":"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/","og_site_name":"ZappySys Blog","article_author":"https:\/\/www.facebook.com\/ZappySys\/","article_published_time":"2018-07-11T19:21:11+00:00","article_modified_time":"2025-08-22T14:54:54+00:00","og_image":[{"width":180,"height":180,"url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png","type":"image\/png"}],"author":"ZappySys","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/zappysys\/","twitter_misc":{"Written by":"ZappySys","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/","url":"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/","name":"Read from Salesforce Custom Reports in SSIS \/ ODBC | ZappySys Blog","isPartOf":{"@id":"https:\/\/zappysys.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/#primaryimage"},"image":{"@id":"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/#primaryimage"},"thumbnailUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png","datePublished":"2018-07-11T19:21:11+00:00","dateModified":"2025-08-22T14:54:54+00:00","author":{"@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82"},"description":"Learn how to read data from Salesforce Custom Report by calling REST API in SSIS or other Apps using ODBC Driver (Power BI, SSRS, Informatica, C#, Python..)","breadcrumb":{"@id":"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/#primaryimage","url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png","contentUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png","width":180,"height":180},{"@type":"BreadcrumbList","@id":"https:\/\/zappysys.com\/blog\/read-salesforce-custom-reports-ssis-odbc\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zappysys.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Read from Salesforce Custom Reports in SSIS \/ ODBC"}]},{"@type":"WebSite","@id":"https:\/\/zappysys.com\/blog\/#website","url":"https:\/\/zappysys.com\/blog\/","name":"ZappySys Blog","description":"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zappysys.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82","name":"ZappySys","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g","caption":"ZappySys"},"sameAs":["http:\/\/www.zappysys.com\/","https:\/\/www.facebook.com\/ZappySys\/","https:\/\/twitter.com\/https:\/\/twitter.com\/zappysys\/"],"url":"https:\/\/zappysys.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/4414"}],"collection":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/comments?post=4414"}],"version-history":[{"count":18,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/4414\/revisions"}],"predecessor-version":[{"id":11469,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/4414\/revisions\/11469"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media\/1764"}],"wp:attachment":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media?parent=4414"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/categories?post=4414"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/tags?post=4414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}