<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>odbc Archives | ZappySys Blog</title>
	<atom:link href="https://zappysys.com/blog/tag/odbc/feed/" rel="self" type="application/rss+xml" />
	<link>https://zappysys.com/blog/tag/odbc/</link>
	<description>SSIS / ODBC Drivers / API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more</description>
	<lastBuildDate>Fri, 03 Apr 2026 13:32:18 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.4</generator>

<image>
	<url>https://zappysys.com/blog/wp-content/uploads/2023/01/cropped-zappysys-symbol-large-32x32.png</url>
	<title>odbc Archives | ZappySys Blog</title>
	<link>https://zappysys.com/blog/tag/odbc/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to create custom ODBC Driver for API without coding</title>
		<link>https://zappysys.com/blog/create-custom-odbc-driver-api-without-coding/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Mon, 10 Apr 2023 19:16:12 +0000</pubDate>
				<category><![CDATA[API Driver]]></category>
		<category><![CDATA[odbc]]></category>
		<category><![CDATA[rest api]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=10024</guid>

					<description><![CDATA[<p>Introduction Imagine this situation, you or users of your product wants to consume some REST API in ETL / BI / Programming Tools using ODBC / JDBC Driver interface but there are no ODBC / JDBC Driver available for that API and you dont even know coding? If you are in a situation No Problem [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/create-custom-odbc-driver-api-without-coding/">How to create custom ODBC Driver for API without coding</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p>Imagine this situation, you or users of your product wants to consume some REST API in ETL / BI / Programming Tools using ODBC / JDBC Driver interface but there are no ODBC / JDBC Driver available for that API and you dont even know coding? If you are in a situation No Problem !!! In this post you will learn how to create a custom ODBC Driver for API (i.e. REST / SOAP / OData) without writing code&#8230; and access in most BI / ETL / Reporting tools using Industry Standard such as ODBC Interface&#8230;.. Yes you heard it right&#8230; 🙂</p>
<p>Generally speaking, creating an ODBC Driver requires a lot of coding effort and that&#8217;s why most vendors don&#8217;t invest in providing ODBC Driver and let you consume their API using code only. They assume that your company / team has really sharp C# / JAVA / C++ coders available 🙂 &#8230;. but we all know that coding is not cheap and not easy to maintain in long run.</p>
<p>Basically, the approach mentioned in this article requires you to create an XML File (or call it Connector File) and then consume it using <a href="https://zappysys.com/products/odbc-powerpack/odbc-api-driver/">API Driver (ODBC)</a> So let&#8217;s get started!</p>
<div class="content_block" id="custom_post_widget-9166"><h2>Requirements</h2>
In order to access API data inside your App using ODBC Driver you will need to make sure following requirements are met.
<ol>
 	<li>Download and Install <a href="https://zappysys.com/products/odbc-powerpack/" target="_blank" rel="noopener">ZappySys ODBC PowerPack</a> (This includes XML / JSON / REST API and few other drivers for SQL Server and ODBC connectivity in tools like Excel, Power BI, SSRS)</li>
</ol></div>
<h2>API Connector File &#8211; The Concept</h2>
<p>ZappySys has developed a highly flexible API Connector Framework which you can use to build API Connector Files which can be used by <a href="https://zappysys.com/products/odbc-powerpack/odbc-api-driver/">API ODBC Driver</a> in different apps. This API Connector Framework is so flexible that it can handle pretty much any API out there.</p>
<p>Here are a few example connector files we built using the same framework. Don&#8217;t worry about various parts in those connector files for now, you might not need to implement all those. We will start simple and explain to you advanced use cases later.</p>
<p><strong>Example Connector Files</strong></p>
<ul>
<li><a href="https://zappysys.com/api/integration-hub/youtube-connector/help/source-code">Youtube</a></li>
<li><a href="https://zappysys.com/api/integration-hub/stripe-connector/help/source-code">Stripe</a></li>
<li><a href="https://zappysys.com/api/integration-hub/jira-connector/help/source-code">Jira</a></li>
<li><a href="https://zappysys.com/api/integration-hub/shopify-connector/help/source-code">Shopify</a></li>
</ul>
<h2>Basic Example of API Connector File</h2>
<p>Here is a very simple example of some API to read Customers and Orders. Keep in mind most features are omitted for simplicity.</p>
<p>Below connector file shows few concepts which we will discuss later in this article. Such as API Base URL (i.e. Service URL), Authetication, Pagination, EndPoints, Metadata, Parameters, Templates, Tables so on.</p>
<ol>
<li>Open Notepad</li>
<li>Copy / Paste below XMl in notepad and save as <strong>NorthwindConnector.xml</strong></li>
<li>Then you can Create a new ODBC DSN <a href="https://zappysys.com/api/integration-hub/odata-connector/odbc">as mentioned here</a> and use our connector file for Testing (Use Saved Connector File Option on new DSN wizard).</li>
</ol>
<p><strong>NorthwindConnector.xml</strong></p><pre class="crayon-plain-tag">&lt;?xml version="1.0"?&gt;
&lt;ApiConfig Name="Northwind" Slug="northwind-api" Desc="Sample connector for Northwind OData Service" Logo="https://www.odata.org/assets/ODataLogo-96.png"&gt;
  &lt;ServiceUrls&gt;
    &lt;ServiceUrl Name="V3_API" Url="https://services.odata.org/V3/Northwind/Northwind.svc"/&gt;
    &lt;ServiceUrl Name="V4_API" Url="https://services.odata.org/V4/Northwind/Northwind.svc"/&gt;
  &lt;/ServiceUrls&gt;


  &lt;!-- Implement supported way to Authenticate API calls --&gt;
  &lt;Auths&gt;
    &lt;Auth Name="ApiKeyAuth" Type="Http" TestEndPoint="get_customers" ConnStr="CredentialType=Token;TokenAuthHeader=X-APIKEY;Password=[$ApiKey$]"&gt;
      &lt;Params&gt;
        &lt;Param Name="ApiKey" Label="Enter your API  Key" Secret="True"/&gt;
      &lt;/Params&gt;
    &lt;/Auth&gt;  
  &lt;/Auths&gt;

  &lt;!-- Reusable Templates (i.e. API Pagination Properties) --&gt;
  &lt;Template&gt;
    &lt;EndPoint Name="PaginatedCall"&gt;
      &lt;Params&gt;
        &lt;Param Name="NextUrlAttributeOrExpr" Type="Property" Value="$.['odata.nextLink']"/&gt;
      &lt;/Params&gt;    
    &lt;/EndPoint&gt;
  &lt;/Template&gt;

  &lt;!-- EndPoints --&gt;
  &lt;EndPoints&gt;
    &lt;EndPoint Name="get_customers" Template="PaginatedCall" Url="/Customers?$format=json" Filter="$.value[*]" Method="GET"&gt;
      &lt;OutputColumns&gt;
        &lt;Column Name="CustomerID" Label="Id" DataType="DT_WSTR" Length="20"/&gt;
        &lt;Column Name="CompanyName" DataType="DT_WSTR" Length="100"/&gt;
      &lt;/OutputColumns&gt;
    &lt;/EndPoint&gt;

    &lt;EndPoint Name="get_orders" Template="PaginatedCall" Url="/Orders?$format=json" Filter="$.value[*]" Method="GET"&gt;

      &lt;OutputColumns&gt;
        &lt;Column Name="OrderID" Label="Id" DataType="DT_I4"/&gt;
        &lt;Column Name="OrderDate" DataType="DT_DBTIMESTAMP"/&gt;
        &lt;Column Name="CustomerID" DataType="DT_WSTR" Length="20"/&gt;
        &lt;Column Name="Notes" DataType="DT_NTEXT"/&gt;
      &lt;/OutputColumns&gt;
    &lt;/EndPoint&gt;
  &lt;/EndPoints&gt;

  &lt;!-- Tables (with SELECT, LOOKUP UPDATE, INSERT, DELETE operations. For Demo we have used just SELECT EndPoint) --&gt;
  &lt;Tables&gt; 
    &lt;Table Name="Orders" SelectEndPoint="get_orders"/&gt;
    &lt;Table Name="Customers" SelectEndPoint="get_customers"/&gt;
  &lt;/Tables&gt;
&lt;/ApiConfig&gt;</pre><p>
&nbsp;</p>
<h2>Using API Connector File in Apps</h2>
<p>Once API connector file is created</p>
<h3>Use in ODBC Apps</h3>
<p><a href="https://zappysys.com/api/integration-hub/odata-connector/odbc">Click here to see an example</a> &#8211; Using API connector file in ODBC Apps (ODATA). For other popular apps <a href="https://zappysys.com/api/integration-hub/odata-connector/">check this page</a> and click on desired app.</p>
<p>Here is how it may look like if we import the previous connector file in API Driver UI. Notice how we selected the V3 Base URL as API. Also, see how various connector file elements translated to Driver UI&#8230;. very cool right ?</p>
<div id="attachment_10033" style="width: 603px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/04/reading-api-data-using-custom-api-connector-odbc-app.png"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-10033" class="size-full wp-image-10033" src="https://zappysys.com/blog/wp-content/uploads/2023/04/reading-api-data-using-custom-api-connector-odbc-app.png" alt="Using Custom API Connector File - New ODBC DSN - ZappySys API Driver" width="593" height="610" srcset="https://zappysys.com/blog/wp-content/uploads/2023/04/reading-api-data-using-custom-api-connector-odbc-app.png 593w, https://zappysys.com/blog/wp-content/uploads/2023/04/reading-api-data-using-custom-api-connector-odbc-app-292x300.png 292w" sizes="(max-width: 593px) 100vw, 593px" /></a><p id="caption-attachment-10033" class="wp-caption-text">Using Custom API Connector File &#8211; New ODBC DSN &#8211; ZappySys API Driver</p></div>
<div id="attachment_10028" style="width: 584px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/04/create-custom-api-connector-odbc-driver.png"><img decoding="async" aria-describedby="caption-attachment-10028" class="size-full wp-image-10028" src="https://zappysys.com/blog/wp-content/uploads/2023/04/create-custom-api-connector-odbc-driver.png" alt="Using Custom API Connector file in ZappySys API ODBC Driver" width="574" height="442" srcset="https://zappysys.com/blog/wp-content/uploads/2023/04/create-custom-api-connector-odbc-driver.png 574w, https://zappysys.com/blog/wp-content/uploads/2023/04/create-custom-api-connector-odbc-driver-300x231.png 300w" sizes="(max-width: 574px) 100vw, 574px" /></a><p id="caption-attachment-10028" class="wp-caption-text">Using Custom API Connector file in ZappySys API ODBC Driver</p></div>
<p>Here is the output from Preview Tab</p>
<div id="attachment_10029" style="width: 675px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/04/get-data-custom-api-driver-odbc.png"><img decoding="async" aria-describedby="caption-attachment-10029" class="size-full wp-image-10029" src="https://zappysys.com/blog/wp-content/uploads/2023/04/get-data-custom-api-driver-odbc.png" alt="Preview Data from Custom API Driver - Using ZappySys API Driver" width="665" height="703" srcset="https://zappysys.com/blog/wp-content/uploads/2023/04/get-data-custom-api-driver-odbc.png 665w, https://zappysys.com/blog/wp-content/uploads/2023/04/get-data-custom-api-driver-odbc-284x300.png 284w" sizes="(max-width: 665px) 100vw, 665px" /></a><p id="caption-attachment-10029" class="wp-caption-text">Preview Data from Custom API Driver &#8211; Using ZappySys API Driver</p></div>
<h3>Use in JAVA Apps</h3>
<p><a href="https://zappysys.com/api/integration-hub/odata-connector/java">Click here to see an example</a> &#8211; Using API connector file in JAVA based Apps (It uses ZappySys Data Gateway as Bridge rather than direct ODBC call in Java becuase JAVA doesnt support ODBC directly)</p>
<h3>Use in SQL Server (T-SQL code)</h3>
<p><a href="https://zappysys.com/api/integration-hub/odata-connector/sql-server">Click here to see an example</a> &#8211; Using API connector file in SQL Server (It uses ZappySys Data Gateway as Bridge rather than direct ODBC call in SQL Servr becuase of some known issues of direct ODBC)</p>
<h3>Use in SSIS Package</h3>
<p><a href="https://zappysys.com/api/integration-hub/odata-connector/ssis">Click here to see an example</a> &#8211; Using API connector file in SSIS Packages. It uses native API Source / API Destination components.</p>
<h2>Create / Edit Connector file using Wizard from API Driver UI</h2>
<p>If you like to edit your file previously created using Wizard then you can do the following steps.</p>
<ol>
<li>Assuming you have already setup <a href="https://zappysys.com/api/integration-hub/odata-connector/odbc">ODBC DSN for API Connector File</a> we previously created.</li>
<li>Open Odbc UI (search for &#8220;<strong>ODBC</strong>&#8221; in the start menu and select &#8220;ODBC Administrator&#8221;)</li>
<li>Double-click on the Data source you like to edit</li>
<li>On the <strong>Properties</strong> Tab &gt; Go to <strong>Advanced</strong> Tab</li>
<li>Click on <strong>Customize &#8211; Current Connector File</strong> (If you wish to create a new API connector file then you can click on <strong>Create New Connector File</strong> Button instead)</li>
</ol>
<div id="attachment_10031" style="width: 787px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/04/edit-custom-api-connector-file-odbc-driver-ui.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10031" class="size-full wp-image-10031" src="https://zappysys.com/blog/wp-content/uploads/2023/04/edit-custom-api-connector-file-odbc-driver-ui.png" alt="Create / Edit Custom API Connector File - From API ODBC Driver UI" width="777" height="695" srcset="https://zappysys.com/blog/wp-content/uploads/2023/04/edit-custom-api-connector-file-odbc-driver-ui.png 777w, https://zappysys.com/blog/wp-content/uploads/2023/04/edit-custom-api-connector-file-odbc-driver-ui-300x268.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/04/edit-custom-api-connector-file-odbc-driver-ui-768x687.png 768w" sizes="(max-width: 777px) 100vw, 777px" /></a><p id="caption-attachment-10031" class="wp-caption-text">Create / Edit Custom API Connector File &#8211; From API ODBC Driver UI</p></div>
<h2>Create Connector file from SSIS JSON / XML Source UI Settings</h2>
<p>If you are an SSIS user and you have configured <a href="https://zappysys.com/api/integration-hub/json-connector/ssis">JSON Source</a> or <a href="https://zappysys.com/api/integration-hub/xml-connector/ssis">XML Source</a> then you convert those UI settings into a basic API connector file by going on <strong>API Template</strong> and clicking on <strong>Create New Connector File</strong> button like below.</p>
<div id="attachment_10032" style="width: 898px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/04/create-new-custom-api-connector-file-from-ssis-json-xml-source-ui.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10032" class="size-full wp-image-10032" src="https://zappysys.com/blog/wp-content/uploads/2023/04/create-new-custom-api-connector-file-from-ssis-json-xml-source-ui.png" alt="Create a new Custom API Connector File - From SSIS JSON / XML Source UI" width="888" height="731" srcset="https://zappysys.com/blog/wp-content/uploads/2023/04/create-new-custom-api-connector-file-from-ssis-json-xml-source-ui.png 888w, https://zappysys.com/blog/wp-content/uploads/2023/04/create-new-custom-api-connector-file-from-ssis-json-xml-source-ui-300x247.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/04/create-new-custom-api-connector-file-from-ssis-json-xml-source-ui-768x632.png 768w" sizes="(max-width: 888px) 100vw, 888px" /></a><p id="caption-attachment-10032" class="wp-caption-text">Create a new Custom API Connector File &#8211; From SSIS JSON / XML Source UI</p></div>
<h2>Create API Connector file from scratch</h2>
<p>So far you have understood the basic ideas about connector files. Also explored creating / editing API Connector File using Wizard in ODBC / SSIS.</p>
<p>Now let&#8217;s look at concepts of creating connector file in detail.</p>
<h3>Basic Properties (Name, Slug, Logo)</h3>
<p>Coming Soon</p>
<h3>Service URL (API Base URL)</h3>
<p>Coming Soon</p>
<h3>Authentication</h3>
<p>Coming Soon</p>
<h3>Templates</h3>
<p>Coming Soon</p>
<h3>Parameters</h3>
<p>Coming Soon</p>
<h3>EndPoints</h3>
<p>Coming Soon</p>
<h3>Metadata / OutputColumns</h3>
<p>Coming Soon</p>
<h3>Tables</h3>
<p>Coming Soon</p>
<h2>Contact Us &#8211; We will build Custom API Driver for you</h2>
<p>If you are still not sure how to use all these on your own or you do not have time/experience&#8230; no worries. <a href="https://zappysys.com/contact-us/">Contact us</a> and we will provide you an estimate for building a custom API Driver / connector.</p>
<p>In the contact form above provide us following details (or as much as you can provide)</p>
<ul>
<li>Which connector do you like to build?</li>
<li>How are you planning to consume that data (i.e. which apps e.g. Power BI, Tableau)?</li>
<li>Your use case (e.g. read customer data from Zoho Invoice System)</li>
<li>Include table / data feed names you prefer to read from (e.g. Read Invoices, Read/Write Customers)</li>
</ul>
<h2>Conclusion</h2>
<p>In this article, we explored how easy it is to create your custom ODBC Driver for API using a powerful API Connector Framework. <a href="https://zappysys.com/products/odbc-powerpack/download/">Download ODBC PowerPack</a> and build your own API Driver in a few clicks.</p>
<p>The post <a href="https://zappysys.com/blog/create-custom-odbc-driver-api-without-coding/">How to create custom ODBC Driver for API without coding</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Connect to Infor Compass using JDBC Driver in ODBC Apps (e.g. SQL Server, Power BI, Excel, Informatica)</title>
		<link>https://zappysys.com/blog/connect-infor-compass-jdbc-driver-odbc-apps-power-bi-excel-informatica-sql-server/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Tue, 13 Sep 2022 22:04:31 +0000</pubDate>
				<category><![CDATA[JDBC Bridge Driver]]></category>
		<category><![CDATA[infor]]></category>
		<category><![CDATA[infor datalake]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[jdbc]]></category>
		<category><![CDATA[odbc]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=9787</guid>

					<description><![CDATA[<p>Introduction In this blog post you will learn how to use Infor Compass JDBC driver in ODBC Apps (i.e. non-JAVA apps) such as Power BI, Excel, Informatica and many more listed here using JDBC-ODBC Bridge Driver. In other words, if you like to use Infor Compass data in your App / Programming language and App [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/connect-infor-compass-jdbc-driver-odbc-apps-power-bi-excel-informatica-sql-server/">Connect to Infor Compass using JDBC Driver in ODBC Apps (e.g. SQL Server, Power BI, Excel, Informatica)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2022/09/Infor_logo-300x300.png"><img loading="lazy" decoding="async" class=" wp-image-9795 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2022/09/Infor_logo-300x300.png" alt="" width="139" height="139" srcset="https://zappysys.com/blog/wp-content/uploads/2022/09/Infor_logo-300x300.png 300w, https://zappysys.com/blog/wp-content/uploads/2022/09/Infor_logo-300x300-150x150.png 150w" sizes="(max-width: 139px) 100vw, 139px" /></a>In this blog post you will learn how to use <a href="https://docs.infor.com/inforos/2021.x/en-us/datafabrug/default.html?helpcontent=aky1631199546535.html" target="_blank" rel="noopener">Infor Compass JDBC driver</a> in ODBC Apps (i.e. non-JAVA apps) such as Power BI, Excel, Informatica and <a href="https://zappysys.com/api/integration-hub/jdbc-connector/" target="_blank" rel="noopener">many more listed here</a> using <a href="https://zappysys.com/products/odbc-powerpack/odbc-jdbc-bridge-driver/" target="_blank" rel="noopener">JDBC-ODBC Bridge Driver</a>. In other words, if you like to use Infor Compass data in your App / Programming language and App doesnt support using JDBC Driver Infor Provides then this article is for you. ZappySys has created a Bridge Driver which can translate ODBC calls to JDBC making it possible to call any JDBC driver in non Java Apps (i.e. ODBC Apps) written in languages like C++ / C#  / Python etc.</p>
<p>So lets get started.</p>
<div class="content_block" id="custom_post_widget-9166"><h2>Requirements</h2>
In order to access API data inside your App using ODBC Driver you will need to make sure following requirements are met.
<ol>
 	<li>Download and Install <a href="https://zappysys.com/products/odbc-powerpack/" target="_blank" rel="noopener">ZappySys ODBC PowerPack</a> (This includes XML / JSON / REST API and few other drivers for SQL Server and ODBC connectivity in tools like Excel, Power BI, SSRS)</li>
</ol></div>
<h2>Download Infor Compass JDBC Driver and ionapi file</h2>
<p>Check below links to download and configure Infor Compass JDBC.</p>
<ol>
<li><a href="https://docs.infor.com/inforos/2021.x/en-us/datafabrug/default.html?helpcontent=aky1631199546535.html">Download Infor Compass JDBC Driver (*.jar file)</a></li>
<li><a href="https://docs.infor.com/inforos/2021.x/en-us/datafabrug/default.html?helpcontent=daa1631199546835.html">Extract Driver</a> files to local folder</li>
<li><a href="https://docs.infor.com/inforos/2021.x/en-us/datafabrug/default.html?helpcontent=qxg1631199547147.html">Download and Configure *.ionapi file</a> &#8211; <strong>Infor Compass JDBC Driver.ionapi</strong> file (Placed in same directory where JDBC driver is saved)</li>
</ol>
<h2>Setup JDK (Java Runtime)</h2>
<p>Before you start using ZappySys JDBC Bridge Driver, we need to install JAVA Runtime (JRE) or Java Development Kit (JDK).</p>
<p>We recommend installing <strong>JDK21 or higher</strong> (other JRE / JDK version(s) might work too).</p>
<p>There are several ways to get Java Runtime Installer, but we recommend from following link. Skip below steps if you have JAVA Runtime already installed.</p>
<ol>
<li>Download JDK 21 (i.e. Amazon Corrento OpenJDK distribution). <a href="https://docs.aws.amazon.com/corretto/latest/corretto-21-ug/downloads-list.html" target="_blank" rel="noopener">Listed here</a><br />
<strong>Direct Download Link</strong>:  <a href="https://corretto.aws/downloads/latest/amazon-corretto-21-x64-windows-jdk.msi" target="_blank" rel="noopener noreferrer">amazon-corretto-21-x64-windows-jdk.msi</a></li>
<li>Run the downloaded msi installer file</li>
<li>After it&#8217;s installed, you can confirm Java version by running the following command line. It will show<br />
<pre class="crayon-plain-tag">java.exe -version</pre>
<strong>Sample Output</strong><br />
<pre class="crayon-plain-tag">openjdk version "21.0.7" 2025-04-15 LTS
OpenJDK Runtime Environment Temurin-21.0.7+6 (build 21.0.7+6-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.7+6 (build 21.0.7+6-LTS, mixed mode, sharing)</pre>
</li>
</ol>
<p>&nbsp;</p>
<h2>Download Infor JDBC Driver / Generate ionapi Credentials File</h2>
<p>To access infor Data using their official JDBC Driver you will need to do 2 things</p>
<ol>
<li>Download Infor JDBC Driver locally</li>
<li>Create ionapi file locally</li>
</ol>
<p><a href="https://docs.infor.com/inforos/2021.x/en-us/datafabrug/default.html?helpcontent=qxg1631199547147.html" target="_blank" rel="noopener">Read this link</a> for more information</p>
<p>Here is the video Tutorial</p>
<a href="https://zappysys.com/blog/connect-infor-compass-jdbc-driver-odbc-apps-power-bi-excel-informatica-sql-server/"><img decoding="async" src="https://zappysys.com/blog/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FyipG8w6qQPg%2Fhqdefault.jpg" alt="YouTube Video"></a><br /><br /></p>
<p>&nbsp;</p>
<h2>Create ODBC DSN for Infor Compass JDBC Driver</h2>
<p>In this section, you will learn <i>how to Configure ODBC DSN</i>. Later on, this DSN can be used to use ZappySys Driver. ODBC DSN can be stored at Machine Level (for all users) or the Current User Level. In this case, we are going to load data into Microsoft Excel from PostgreSQL Storage using ZappySys JDBC Bridge ODBC Driver.</p>
<p>&nbsp;</p>
<ol>
<li>Type <strong>odbcad32.exe</strong> in your search box and launch the DSN Config utility.<br />
<img decoding="async" class="figureimage" src="https://zappysys.com/blog/wp-content/uploads/2018/03/odbc-data-source-64-bits.png" /></li>
<li>If you want access for yourself then stay on User DSN Tab. If you want to grant access to other users, then go to the System DSN tab. For <a href="https://zappysys.com/onlinehelp/odbc-powerpack/scr/odbc-integration-programming-tsql.htm">SQL Server Integration</a> go to the System Tab and add a new System DSN rather than User DSN. Click the New button.<br />
<img decoding="async" class="figureimage" title="ZappySys ODBC Driver - Open UI" src="https://zappysys.com/onlinehelp/odbc-powerpack/scr/images/zappysys-odbc-driver-open-ui.png" alt="ZappySys ODBC Driver - Open UI" /></li>
<li>From the Driver list Select ZappySys ODBC Driver. For this example, select [ZappySys JDBC Bridge Driver].<br />
<img decoding="async" class="figureimage" title="ZappySys ODBC Driver - Create JDBC Bridge Driver" src="https://zappysys.com/onlinehelp/odbc-powerpack/scr/images/jdbc-driver/jdbc-bridge-driver-create.png" alt="ZappySys ODBC Driver - Create JDBC Bridge Driver" /></li>
</ol>
<p>&nbsp;</p>
<h2>Configure ODBC DSN for Infor Compass Connectivity</h2>
<p>Once you downloaded / extracted JDBC (*.jar) and *.ionapi files and saved them to the local disk you can configure ZappySys JDBC Bridge Driver like the below</p>
<ol>
<li>Create a folder e.g. C:\Infor_Datalake</li>
<li>Extract jdbc driver files in that folder, keep ionapi file in the same folder too (v1.7 will look ionapi file under this folder)</li>
<li>Make sure do not rename <strong>ionapi</strong> file. It must be named as &#8220;<strong>Infor Compass JDBC Driver.ionapi</strong>&#8221;<br />
<div class="su-note"  style="border-color:#e5de9d;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:#FFF8B7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;">
If you are getting this error (<a href="https://community.zappysys.com/t/the-infor-compass-jdbc-driver-ionapi-file-is-not-found-infor-data-lake-error/142">Infor Compass JDBC Driver.ionapi file is not found</a>) then we suggest you copy ionapi file in the below locations too. If you are not planning to use <a href="https://zappysys.com/api/integration-hub/jdbc-connector/sql-server" target="_blank" rel="noopener">Data Gateway / Linked Server</a> then you can skip ionapi file copy to 3rd location (i.e. <b>ZappySys.TdsServer.WindowsService</b> folder).<br />
<pre class="crayon-plain-tag">C:\Program Files (x86)\ZappySys\ZappySys ODBC PowerPack\JdbcBridgeDriverX64
C:\Program Files (x86)\ZappySys\ZappySys ODBC PowerPack\JdbcBridgeDriverX86
C:\Program Files (x86)\ZappySys\ZappySys ODBC PowerPack\ZappySys.TdsServer.WindowsService</pre>
</div></div></li>
<li>Open ODBC DataSource UI by double clicking the DSN (you created in the previous section).</li>
<li>Enter JDBC Connection String as per this format<br />
<pre class="crayon-plain-tag">jdbc:infordatalake://TENANTNNAME</pre>
</li>
<li>Enter Driver class (Optional).<br />
<pre class="crayon-plain-tag">com.infor.idl.jdbc.Driver</pre>
</li>
<li>Enter User ID and Password is optional so <strong>keep it blank</strong> unless required by driver. Click <strong>Test Connection</strong>
<div id="attachment_9788" style="width: 578px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2022/09/connect-infor-compass-jdbc-odbc-bridge-driver.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9788" class="wp-image-9788 size-full" src="https://zappysys.com/blog/wp-content/uploads/2022/09/connect-infor-compass-jdbc-odbc-bridge-driver.png" alt="Using Infor Compass JDBC Driver in ODBC Apps via ZappySys JDBC Bridge Driver " width="568" height="546" srcset="https://zappysys.com/blog/wp-content/uploads/2022/09/connect-infor-compass-jdbc-odbc-bridge-driver.png 568w, https://zappysys.com/blog/wp-content/uploads/2022/09/connect-infor-compass-jdbc-odbc-bridge-driver-300x288.png 300w" sizes="(max-width: 568px) 100vw, 568px" /></a><p id="caption-attachment-9788" class="wp-caption-text">Using Infor Compass JDBC Driver in ODBC Apps via ZappySys JDBC Bridge Driver</p></div></li>
<li>Now you can go to Preview Tab and select Table from the dropdown and write query to preview data</li>
</ol>
<h2>Video Tutorial &#8211; ODBC-JDBC Bridge Driver</h2>
<a href="https://zappysys.com/blog/connect-infor-compass-jdbc-driver-odbc-apps-power-bi-excel-informatica-sql-server/"><img decoding="async" src="https://zappysys.com/blog/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FBEJ1HbBZqxY%2Fhqdefault.jpg" alt="YouTube Video"></a><br /><br /></p>
<p>&nbsp;</p>
<h2>Connect Infor Compass Datalake in SQL Server (Linked Server)</h2>
<p>So in our previous section, we saw how to connect using ODBC Driver but if you like to access Infor Datalake data in SQL Server then you have to use the Data gateway approach. <a href="https://zappysys.com/api/integration-hub/jdbc-connector/sql-server" target="_blank" rel="noopener">Click here</a> to learn more.</p>
<p>In Data Gateway Driver UI is pretty much the same as ODBC UI except few differences. You also need to configure the Linked server which requires extra steps. The above link is for a generic JDBC Driver but follow Infor Datalake JDBC-specific steps mentioned in the ODBC setup section in this article.</p>
<h2>Troubleshooting Known Errors</h2>
<p>Here in this section, we will discuss some known errors and its workaround.</p>
<h3>The Infor Compass JDBC Driver.ionapi file is not found</h3>
<p>If you get this error you can review <a href="https://community.zappysys.com/t/the-infor-compass-jdbc-driver-ionapi-file-is-not-found-infor-data-lake-error/142">this solution</a></p>
<h3><span class="hljs-selector-tag">Data</span> <span class="hljs-selector-tag">Lake</span> <span class="hljs-selector-tag">is</span> <span class="hljs-selector-tag">not</span> <span class="hljs-selector-tag">available /  Unable to verify trust for server certificate chain</span></h3>
<p>If you get the following error then <a href="https://community.zappysys.com/t/how-to-fix-jbr-error-java-sql-sqlexception-data-lake-is-not-available-unable-to-verify-trust-for-server-certificate-chain-cn-ionapi-inforcloudsuite-com/101">check this link</a> for possible workarounds</p><pre class="crayon-plain-tag">JBR error: java.sql.SQLException: <strong>Data Lake is not available</strong>

at com.infor.idl.jdbc.Driver.connect(Driver.java:422) 
at DbConnection.Init(DbConnection.java:45) 

.......... 
.......... 
<strong>Unable to verify trust for server certificate chain</strong> [CN=mingle-ionapi.inforcloudsuite.com, CN=pa-trusted-ca.noble.loc, CN=noble-SUBCA-CA, DC=noble, DC=loc, CN=ROOTCA-CA, CN=ROOTCA-CA] .......... at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559) 
.......... 
..........</pre><p>
<h3>Test Connection Hangs</h3>
<p>This happens if you have not installed the latest Java version (i.e. Java 21 or higher) and you are using the latest JDBC, which doesn&#8217;t support Java8 (i.e. infor-compass-jdbc-2025.06.05.jar)</p>
<p>To fix this issue, uninstall the  older version of Java and install the new Java (e.g. v21 or higher) <a href="https://corretto.aws/downloads/latest/amazon-corretto-21-x64-windows-jdk.msi">from here</a></p>
<h2>Using Infor Compass ODBC-JDBC connection in various apps (e.g. Power BI, Excel, Informatica, SQL Server)</h2>
<p>Once you create ODBC DSN you are ready to test that in any ODBC-compliant apps <a href="https://zappysys.com/api/integration-hub/jdbc-connector/" target="_blank" rel="noopener">listed here</a></p>
<p>If your app is not listed in the above link, then no worries just find the Option to connect to ODBC in your App and use DSN we created in an earlier section.</p>
<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.

&nbsp;

<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" />
<table style="valign: top;">
<tbody>
<tr>
<td>
<p style="text-align: center;"><strong>BI / Reporting Tools
Integration</strong></p>
</td>
<td style="text-align: center;"><strong>ETL Tools
Integration
</strong></td>
<td style="text-align: center;"><strong>Programming Languages</strong>
<strong>Integration</strong></td>
</tr>
<tr>
<td>
<ul>
 	<li><a href="https://zappysys.com/blog/howto-import-json-rest-api-power-bi/" target="_blank" rel="noopener">Microsoft Power BI</a></li>
 	<li><a href="https://zappysys.com/blog/import-rest-api-tableau-read-json-soap-xml-csv/">Tableau</a></li>
 	<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>
 	<li><a href="https://zappysys.com/blog/qlik-rest-connector-examples-read-json-xml-api/" target="_blank" rel="noopener">QlikView /Qlik Sense</a></li>
 	<li><a href="https://zappysys.com/blog/call-rest-api-in-microstrategy-json-soap-xml/" target="_blank" rel="noopener">MicroStrategy</a></li>
 	<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>
 	<li><a href="https://zappysys.com/blog/import-json-excel-load-file-rest-api/" target="_blank" rel="noopener">Microsoft Excel</a></li>
 	<li><a href="https://zappysys.com/api/integration-hub/rest-api-connector/access?context=connector" target="_blank" rel="noopener">Microsoft Access</a></li>
 	<li>Oracle OBIEE</li>
 	<li>Many more (not in this list).....</li>
</ul>
</td>
<td>
<ul>
 	<li><a href="https://zappysys.com/blog/read-json-informatica-import-rest-api-json-file/" target="_blank" rel="noopener">Informatica PowerCenter</a> (Windows)</li>
 	<li>Informatica Cloud</li>
 	<li>SSIS (SQL Integration Services)</li>
 	<li><a href="https://zappysys.com/blog/import-rest-api-json-sql-server/" target="_blank" rel="noopener">SQL Server</a></li>
 	<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>
 	<li><a href="https://zappysys.com/blog/pentaho-read-rest-api-in-pentaho/" target="_blank" rel="noopener">Pentaho Kettle</a></li>
 	<li>Oracle OBIEE</li>
 	<li>Many more (not in this list).....</li>
</ul>
</td>
<td>
<ul>
 	<li>Visual Studio</li>
 	<li><a href="https://zappysys.com/blog/calling-rest-api-in-c/" target="_blank" rel="noopener">C#</a></li>
 	<li>C++</li>
 	<li><a href="https://zappysys.com/blog/connect-java-to-rest-api-json-soap-xml/" target="_blank" rel="noopener">JAVA</a></li>
 	<li><a href="https://zappysys.com/blog/set-rest-python-client/" target="_blank" rel="noopener">Python</a></li>
 	<li>PHP</li>
 	<li><a href="https://zappysys.com/blog/call-rest-api-powershell-script-export-json-csv/" target="_blank" rel="noopener">PowerShell</a></li>
 	<li><a href="https://zappysys.com/blog/import-rest-api-json-sql-server/" target="_blank" rel="noopener">T-SQL (Using Linked Server)</a></li>
</ul>
</td>
</tr>
</tbody>
</table>
&nbsp;</div>
<h2>Conclusion</h2>
<p>In this post we saw how easy it is to use the Infor Compass JDBC driver in any non-JAVA app in a few steps. <a href="https://zappysys.com/products/odbc-powerpack/odbc-jdbc-bridge-driver/">Click here to download</a> ZappySys JDBC Bridge Driver.</p>
<p>The post <a href="https://zappysys.com/blog/connect-infor-compass-jdbc-driver-odbc-apps-power-bi-excel-informatica-sql-server/">Connect to Infor Compass using JDBC Driver in ODBC Apps (e.g. SQL Server, Power BI, Excel, Informatica)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How To Connect ADP API using HTTP Connection over OAuth Connection</title>
		<link>https://zappysys.com/blog/connect-adp-api-using-http-connection-oauth-connection/</link>
		
		<dc:creator><![CDATA[Sudhir Dandale]]></dc:creator>
		<pubDate>Thu, 23 Jun 2022 17:35:02 +0000</pubDate>
				<category><![CDATA[REST API]]></category>
		<category><![CDATA[adp]]></category>
		<category><![CDATA[odbc]]></category>
		<category><![CDATA[ssis]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=9687</guid>

					<description><![CDATA[<p>Introduction In this post, we will cover how to connect ADP API using HTTP connection manager over OAuth connection manager with JSON Source. ADP API works a bit differently with the OAuth connection manager. Let&#8217;s take a look at it&#8230; Prerequisites Before we perform the steps listed in this article, you will need to make sure the [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/connect-adp-api-using-http-connection-oauth-connection/">How To Connect ADP API using HTTP Connection over OAuth Connection</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p>In this post, we will cover how to connect ADP API using HTTP connection manager over OAuth connection manager with <a href="https://zappysys.com/products/ssis-powerpack/ssis-json-file-source/" target="_blank" rel="noopener">JSON Source</a>. ADP API works a bit differently with the OAuth connection manager. Let&#8217;s take a look at it&#8230;</p>
<h2><span id="Prerequisites">Prerequisites</span></h2>
<p>Before we perform the steps listed in this article, you will need to make sure the following prerequisites are met:</p>
<ol>
<li><abbr title="SQL Server Integration Services">SSIS</abbr> designer installed. Sometimes it is referred 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 Microsoft site</a>).</li>
<li>Basic knowledge of SSIS package development using <em>Microsoft SQL Server Integration Services</em>.</li>
<li>Make sure <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack</a> is installed (<a href="https://zappysys.com/products/ssis-powerpack/download/" target="_blank" rel="noopener">download it</a>).</li>
<li><strong>Optional</strong> (If you want to Deploy and Schedule ) &#8211; <a href="https://zappysys.zendesk.com/hc/en-us/articles/360035974593" target="_blank" rel="noopener">Deploy and Schedule SSIS Packages</a></li>
<li>Make sure you have ADP Client Id &amp; Secret.</li>
</ol>
<h2><span id="Concepts_about_OAuth_20">What things are needed to connect ADP API</span></h2>
<ol>
<li>You need to have the Client ID and Client Secret before making your ADP API call.</li>
<li>If you don&#8217;t have this information, contact your client representative.</li>
<li>Certificate Signing Request (CSR): For more detailed information, see the Certificate Signing Request: <a href="https://developers.adp.com/articles/general/generate-a-certificate-signing-request">https://developers.adp.com/articles/general/generate-a-certificate-signing-request</a></li>
<li>If you already have the .csr file from your API Settings as below: &#8211;
<div id="attachment_9729" style="width: 531px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-pem-file-1.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9729" class="wp-image-9729 " src="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-pem-file-1.png" alt=" ADP CSR Certificate" width="521" height="317" srcset="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-pem-file-1.png 686w, https://zappysys.com/blog/wp-content/uploads/2022/06/adp-pem-file-1-300x182.png 300w" sizes="(max-width: 521px) 100vw, 521px" /></a><p id="caption-attachment-9729" class="wp-caption-text">ADP CSR Certificate</p></div>
<p>&nbsp;</li>
<li>Then you need to convert those *.cer + *.key files to *.PFX</li>
<li>We do not support cert+key files but converting to PFX is fairly simple.</li>
<li>You can find many blog posts on how to convert to PFX. Here are some helpful links on how to convert *.pem to *.PFX (i.e. PKCS#12 OR p12 file format)<br />
-https://www.sslshopper.com/ssl-converter.html<br />
-https://stackoverflow.com/questions/808669/convert-a-cert-pem-certificate-to-a-pfx-certificate</li>
<li>Once you have .PFX certificate, Client ID, and Client Secret ready then you can provide these details to the  HTTP Connection manager as below: &#8211;<br />
General Settings: &#8211;</p>
<div id="attachment_9732" style="width: 310px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-http-connection-manager-general.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9732" class="wp-image-9732 size-medium" src="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-http-connection-manager-general-300x162.png" alt=" ADP HTTP Connection Manager - General Tab" width="300" height="162" srcset="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-http-connection-manager-general-300x162.png 300w, https://zappysys.com/blog/wp-content/uploads/2022/06/adp-http-connection-manager-general-768x415.png 768w, https://zappysys.com/blog/wp-content/uploads/2022/06/adp-http-connection-manager-general.png 898w" sizes="(max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-9732" class="wp-caption-text">ADP HTTP Connection Manager &#8211; General Tab</p></div>
<p>Client Certificate: &#8211;</p>
<div id="attachment_9733" style="width: 310px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-client-certificate-1.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9733" class="wp-image-9733 size-medium" src="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-client-certificate-1-300x175.png" alt=" ADP CSR Client Certificate Tab" width="300" height="175" srcset="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-client-certificate-1-300x175.png 300w, https://zappysys.com/blog/wp-content/uploads/2022/06/adp-client-certificate-1.png 701w" sizes="(max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-9733" class="wp-caption-text">ADP CSR Client Certificate Tab</p></div>
<ol>
<li style="list-style-type: none;"></li>
</ol>
</li>
<li>After you provide all the required details in HTTP Connection Manager for ADP API.</li>
<li>You can select HTTP Connection manager as the connection provider in the JSON Source/REST API and preview the data.</li>
<li>Here you can connect ADP API successfully using the HTTP connection manager.</li>
</ol>
<p><strong>Note:</strong> By default, when a <strong>PFX file</strong> expires, the <strong>ADFP API</strong> throws a generic <strong>SSL/TLS channel error</strong>, which can be misleading. To verify the certificate’s expiration date, we have to:</p>
<ol>
<li>Import the <strong>PFX file</strong> into the local certificate store (using the same blank password).</li>
<li>Use the <code>mmc</code> command from the Start menu.</li>
<li>Go to <strong>Add/Remove Snap-ins → Certificate → User Store → View Entry</strong> to check the expiration date.</li>
</ol>
<h3>Steps to Convert .cer and .key Files into a .PFX File</h3>
<p>If you have separate <strong>.cer</strong> and <strong>.key</strong> files, you’ll need to convert them into a single <strong>.PFX</strong> file (PKCS#12 format) to use with our tool, as it does not support separate certificate and key files.<br />
Converting to <strong>PFX</strong> is straightforward, and you can find many detailed guides online. Here are some helpful links:</p>
<ul>
<li><a tabindex="-1" href="https://www.sslshopper.com/ssl-converter.html">SSL Converter – sslshopper.com</a></li>
<li><a tabindex="-1" href="https://stackoverflow.com/questions/808669/convert-a-cert-pem-certificate-to-a-pfx-certificate">Convert .pem to .pfx – Stack Overflow</a></li>
</ul>
<h2><span id="Conclusion">Conclusion:</span></h2>
<p>This is how you can successfully connect ADP API using HTTP Connection over OAuth connection using ZappySys JSON Source/REST API.</p>
<p>The post <a href="https://zappysys.com/blog/connect-adp-api-using-http-connection-oauth-connection/">How To Connect ADP API using HTTP Connection over OAuth Connection</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Secure ZappySys Data Gateway (Network Settings)</title>
		<link>https://zappysys.com/blog/secure-zappysys-data-gateway-network-settings/</link>
		
		<dc:creator><![CDATA[Sudhir Dandale]]></dc:creator>
		<pubDate>Tue, 19 Apr 2022 19:32:34 +0000</pubDate>
				<category><![CDATA[ODBC Gateway]]></category>
		<category><![CDATA[data gateway]]></category>
		<category><![CDATA[odbc]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=9588</guid>

					<description><![CDATA[<p>Introduction In our previous article we explored several powerful features of the ZappySys Data Gateway. This follow‑up post focuses on keeping the gateway secure. You’ll learn about the new options available in the Network Settings tab, how to restrict access by IP address, and how to grant dataset‑level permissions to non‑admin users. Network Settings Overview [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/secure-zappysys-data-gateway-network-settings/">How to Secure ZappySys Data Gateway (Network Settings)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2 class="versubtitle"><span id="Introduction">Introduction</span></h2>
<p>In our <a href="https://zappysys.com/blog/import-rest-api-json-sql-server/" target="_blank" rel="noopener">previous article</a> we explored several powerful features of the <strong>ZappySys Data Gateway</strong>. This follow‑up post focuses on keeping the gateway secure. You’ll learn about the new options available in the <em>Network Settings</em> tab, how to restrict access by IP address, and how to grant dataset‑level permissions to non‑admin users.</p>
<div class="content_block" id="custom_post_widget-9166"><h2>Requirements</h2>
In order to access API data inside your App using ODBC Driver you will need to make sure following requirements are met.
<ol>
 	<li>Download and Install <a href="https://zappysys.com/products/odbc-powerpack/" target="_blank" rel="noopener">ZappySys ODBC PowerPack</a> (This includes XML / JSON / REST API and few other drivers for SQL Server and ODBC connectivity in tools like Excel, Power BI, SSRS)</li>
</ol></div>
<h2><span style="font-size: 14pt;">Network Settings Overview</span></h2>
<p>The <strong>Network Settings</strong> tab contains filters that control which clients can connect to the gateway. Two common scenarios are addressed below: allowing a range of IP addresses, or permitting only a single IP address.</p>
<p><strong>If your connection still fails even after opening port 5000, a third-party firewall is very likely blocking it.</strong></p>
<p>
The <strong>“Add Firewall Rule”</strong> option only creates a rule in Windows Defender Firewall and does not configure rules in third-party security software.
</p>
<p>
Common symptoms of this issue include:
</p>
<ul>
<li>Login timeout or connection timeout errors</li>
<li>OPENQUERY or Linked Server failing to connect</li>
<li>Port appears open in Windows Firewall but connection still fails</li>
</ul>
<h3>Third-Party Firewall Blocking Gateway Connection</h3>
<p>
When you click <strong>“Add Firewall Rule”</strong> in ZappySys Data Gateway, the rule is added to <strong>Windows Defender Firewall</strong> to allow inbound traffic on the configured port (default: 5000).
</p>
<p>In environments with third-party security software, this alone may not be sufficient.</p>
<h4>Why?</h4>
<p>
If your system is using third-party security software (such as <strong>ESET Endpoint Security</strong>, McAfee, Symantec, etc.), Many enterprise antivirus tools include their own firewall, which takes priority over or replaces Windows Defender Firewall.<br />
For example, in one case, the rule was added successfully in Windows Firewall, but traffic was still blocked by ESET Endpoint Security. Once the ESET firewall was paused, the connection worked immediately.<br />
In such cases:
</p>
<ul>
<li>Windows Defender rules may be ignored</li>
<li>Traffic can still be blocked even if the port is open in Windows Firewall</li>
<li>Connection attempts (e.g., Linked Server, ODBC queries) may fail with timeout errors</li>
</ul>
<h4>What to check</h4>
<p>
If you are unable to connect even after adding the firewall rule:
</p>
<ul>
<li>Verify whether any third-party firewall/antivirus is installed</li>
<li>Temporarily disable or pause it for testing</li>
<li>If the connection works after disabling, then the traffic is being blocked by that software</li>
</ul>
<h4>How to fix</h4>
<p>
To resolve this issue:
</p>
<ul>
<li>Add an <strong>inbound allow rule</strong> in your third-party firewall for the Gateway port (default: 5000)</li>
<li>Ensure the rule allows traffic from the required source machines</li>
<li>Ensure both <strong>inbound and outbound rules</strong> are allowed if required by your network policy</li>
<li>Ensure rules are applied under the correct network profile (Domain / Private / Public)</li>
<li>Contact your <strong>network/security administrator</strong> if needed</li>
</ul>
<h4>Test connectivity</h4>
<p>You can verify if the port is reachable using PowerShell:</p>
<pre class="crayon-plain-tag">Test-NetConnection -ComputerName &amp;lt;GatewayHost&amp;gt; -Port 5000</pre>
<p>If <strong>TcpTestSucceeded = False</strong>, the port is still blocked by a firewall or network security layer.</p>
<h4>Note</h4>
<p><strong>⚠️ Important:</strong> Opening a port in Windows Defender Firewall alone does not guarantee connectivity if a third-party firewall is active.</p>
<h3><span style="font-size: 14pt;">IP Range Filter</span></h3>
<ol>
<li>Ensure you have installed the <a href="https://zappysys.com/products/odbc-powerpack/" target="_blank" rel="noopener">ZappySys ODBC PowerPack</a> with the default options (this also installs the Data Gateway Service).</li>
<li>Open the gateway configuration app by typing <strong>&#8220;Gateway&#8221;</strong> in the Start menu and selecting <em>ZappySys Data Gateway Configuration</em>.
<div id="attachment_5283" style="width: 310px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5283" class="wp-image-5283 size-medium" src="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway-300x236.png" alt="Open ZappySys Data Gateway" width="300" height="236" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway-300x236.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway.png 400w" sizes="(max-width: 300px) 100vw, 300px" /><p id="caption-attachment-5283" class="wp-caption-text">Open ZappySys Data Gateway</p></div></li>
<li>Assuming the other tabs are already configured the way you want, switch to <strong>Network Settings</strong>.</li>
<li>Click the <strong>Edit IP Filters</strong> button (see screenshot below):
<div id="attachment_9592" style="width: 891px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9592" class="wp-image-9592 size-full" src="https://zappysys.com/blog/wp-content/uploads/2022/04/datagateway-networksettings-ip-range.png" alt="Range IP Filters Network Settings for Data Gateway" width="881" height="660" srcset="https://zappysys.com/blog/wp-content/uploads/2022/04/datagateway-networksettings-ip-range.png 881w, https://zappysys.com/blog/wp-content/uploads/2022/04/datagateway-networksettings-ip-range-300x225.png 300w, https://zappysys.com/blog/wp-content/uploads/2022/04/datagateway-networksettings-ip-range-768x575.png 768w" sizes="(max-width: 881px) 100vw, 881px" /><p id="caption-attachment-9592" class="wp-caption-text">Range IP Filters Network Settings for Data Gateway</p></div></li>
<li>In the IP Filters dialog, set <strong>Enabled</strong> to <code>true</code>, then supply the <strong>From</strong> and <strong>To</strong> addresses that define the permitted range:</li>
</ol>
<p><strong>Single range example:</strong></p><pre class="crayon-plain-tag">[
  {
    "Name": "Network_1",
    "Enabled": true,
    "From": "192.168.1.1",
    "To": "192.168.1.255"
  }
]</pre><p>
<strong>Multiple ranges example:</strong></p><pre class="crayon-plain-tag">[
  {
    "Name": "Network_1",
    "Enabled": true,
    "From": "192.168.1.1",
    "To": "192.168.1.255"
  },
  {
    "Name": "Network_2",
    "Enabled": true,
    "From": "192.167.1.1",
    "To": "192.167.1.255"
  }
]</pre><p>
<ol start="6">
<li>Save the dialog, then click <strong>OK</strong> to apply the settings. Only clients whose IP addresses fall within the defined ranges will be allowed.</li>
</ol>
<h3><span style="font-size: 14pt;">Single IP Filter</span></h3>
<ol>
<li>Repeat steps 1‑3 from the previous section.</li>
<li>Open the IP Filters dialog and enable it.</li>
<li>Enter the same value for the <strong>From</strong> and <strong>To</strong> fields to restrict access to one address.</li>
<li>Save and close the dialog; only that address may connect to the gateway.</li>
</ol>
<div id="attachment_9593" style="width: 896px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2022/04/datagateway-networksettings-specific-ip.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9593" class="wp-image-9593 size-full" src="https://zappysys.com/blog/wp-content/uploads/2022/04/datagateway-networksettings-specific-ip.png" alt="Specific IP Filter Network Settings for Data Gateway." width="886" height="665" srcset="https://zappysys.com/blog/wp-content/uploads/2022/04/datagateway-networksettings-specific-ip.png 886w, https://zappysys.com/blog/wp-content/uploads/2022/04/datagateway-networksettings-specific-ip-300x225.png 300w, https://zappysys.com/blog/wp-content/uploads/2022/04/datagateway-networksettings-specific-ip-768x576.png 768w" sizes="(max-width: 886px) 100vw, 886px" /></a><p id="caption-attachment-9593" class="wp-caption-text">Specific IP Filter Network Settings for Data Gateway.</p></div>
<p><strong>Note:</strong> once any filter rule is enabled, all other addresses are automatically blocked.</p>
<hr />
<h2><span style="font-size: 14pt;">User‑Based Permissions</span></h2>
<p>You can further limit access by granting specific users permission to individual data sources. This is useful when you want to allow non‑admin users to consume only certain datasets.</p>
<ol>
<li>Make sure the user(s) exist on the <strong>Users</strong> tab and that they are not assigned administrator rights.</li>
<li>Switch to the <strong>Datasets</strong> tab.</li>
<li>Find the row for the data source you wish to secure and click <strong>Edit</strong> in the <em>Users</em> column.</li>
<li>In the dialog that appears, select one or more users on the left pane and click the <strong>[ &gt;&gt; ]</strong> button to move them to the right pane.</li>
<li>Choose the desired permission type (for example, <strong>Full permission</strong>).
<div id="attachment_11841" style="width: 708px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2022/04/zappysys-data-gateway-set-dataset-user-permissions.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11841" class="size-full wp-image-11841" src="https://zappysys.com/blog/wp-content/uploads/2022/04/zappysys-data-gateway-set-dataset-user-permissions.png" alt="Set Dataset User Permissions - ZappySys Data Gateway" width="698" height="680" srcset="https://zappysys.com/blog/wp-content/uploads/2022/04/zappysys-data-gateway-set-dataset-user-permissions.png 698w, https://zappysys.com/blog/wp-content/uploads/2022/04/zappysys-data-gateway-set-dataset-user-permissions-300x292.png 300w" sizes="(max-width: 698px) 100vw, 698px" /></a><p id="caption-attachment-11841" class="wp-caption-text">Set Dataset User Permissions &#8211; ZappySys Data Gateway</p></div></li>
<li>Click <strong>OK</strong> to save the changes.</li>
<li>Restart the Data Gateway service to ensure the new permissions take effect.</li>
</ol>
<hr />
<h2><span id="Conclusion">Conclusion</span></h2>
<p>In this article we reviewed several ways to harden the ZappySys Data Gateway. The network filters let you restrict connections to either a specific IP address or a range of addresses. The new user‑based permissions allow you to grant dataset access to individual users. Together these features make your gateway more secure and easier to manage.</p>
<p>If you haven’t yet installed the gateway, <a href="https://zappysys.com/products/odbc-powerpack/download/">download it here</a> to get started.</p>
<p>The post <a href="https://zappysys.com/blog/secure-zappysys-data-gateway-network-settings/">How to Secure ZappySys Data Gateway (Network Settings)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to register Salesforce App and obtain Client ID / Secret (for API Call / OAuth)</title>
		<link>https://zappysys.com/blog/register-salesforce-app-obtain-client-id-secret-oauth-api-call/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Mon, 27 Dec 2021 20:40:45 +0000</pubDate>
				<category><![CDATA[Salesforce Driver]]></category>
		<category><![CDATA[SSIS Salesforce Connection]]></category>
		<category><![CDATA[SSIS Salesforce Destination]]></category>
		<category><![CDATA[SSIS Salesforce Source]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[odbc]]></category>
		<category><![CDATA[salesforce]]></category>
		<category><![CDATA[ssis]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=9482</guid>

					<description><![CDATA[<p>Introduction Using Salesforce Connection with OAuth App in SSIS / ODBC Once you have Client ID / Secret, you can use it in the Salesforce Connection in SSIS Connector / ODBC Driver for Salesforce like below (Only the new version will have OAuth option) Troubleshooting Known Issues Let&#8217;s look at some common issues with Salesforce [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/register-salesforce-app-obtain-client-id-secret-oauth-api-call/">How to register Salesforce App and obtain Client ID / Secret (for API Call / OAuth)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<div class="content_block" id="custom_post_widget-9476">In this section, we will discuss how to register OAuth App to call Salesforce API using Client ID / Secret rather than using your User Id / Password.

Once you follow these steps below to register your Salesforce App (OAuth App), at the end you will get a Client ID (sometimes referred to as App Id) and Client Secret (or App Secret). These two pieces can be used later on to call Salesforce API using OAuth.

So let's get started.
<h3>Register Salesforce App (OAuth)</h3>
<ol>
 	<li>Login into your account and go to <strong><em>Setup</em> </strong>as shown below (click on gear icon at the top right corner):
<img loading="lazy" decoding="async" src="https://zappysys.zendesk.com/attachments/token/7D9Rx9qHJswkt28sC5vTggrNT/?name=inline-1178316509.png" alt="Accessing Salesforce Setup to create an OAuth App" width="342" height="233" data-original-height="233" data-original-width="342" /></li>
 	<li>Then in the search bar input "app" and open <strong><em>App Manager</em></strong>:
<img loading="lazy" decoding="async" src="https://zappysys.zendesk.com/attachments/token/DTjFQpyDw4NViKdJyhyFkO1ng/?name=inline1698967483.png" alt="Searching Salesforce App Manager to create an OAuth App" width="689" height="364" data-original-height="364" data-original-width="689" /></li>
 	<li>Then click <strong><em>New Connected App</em></strong> to create a new OAuth App:
<strong>NOTE:</strong> In some version, it may say <strong><strong>New External Client App
</strong></strong>
<p data-start="1271" data-end="1309">Look for one of the following buttons:</p>

<ul data-start="1310" data-end="1395">
 	<li data-start="1310" data-end="1348">
<p data-start="1312" data-end="1348"><strong data-start="1312" data-end="1333">New Connected App</strong> (Classic name)</p>
</li>
 	<li data-start="1349" data-end="1395">
<p data-start="1351" data-end="1395"><strong data-start="1351" data-end="1378">New External Client App</strong> (Lightning name)</p>
</li>
</ul>
<img loading="lazy" decoding="async" src="https://zappysys.zendesk.com/attachments/token/eD6OrA9TqfRuM5N41Vqd7nrvb/?name=inline684283902.png" alt="Creating a Salesforce App to get data via ODBC driver" width="867" height="327" data-original-height="327" data-original-width="867" /></li>
 	<li>Give your App a name and:
- Enable OAuth Settings
- Set callback URL to following two URLs (one in each line)
<strong><em>https://login.salesforce.com/services/oauth2/success
</em></strong><em><strong>https://zappysys.com/oauth</strong></em>
- Add an OAuth scope you want or simply add "<strong><em>Full access</em></strong>".
- Add "<strong><em>Perform requests on your behalf at any time (offline_token)</em></strong>" scope to get a refresh token so that you don't have to re-authenticate each time requesting an access token:<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/create-salesforce-connected-oauth-app-for-odbc-datasource.png"><img loading="lazy" decoding="async" class="wp-image-4267 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/06/create-salesforce-connected-oauth-app-for-odbc-datasource.png" alt="Configuring Salesforce App OAuth settings to get data via ODBC driver" width="1041" height="700" srcset="https://zappysys.com/blog/wp-content/uploads/2018/06/create-salesforce-connected-oauth-app-for-odbc-datasource.png 1041w, https://zappysys.com/blog/wp-content/uploads/2018/06/create-salesforce-connected-oauth-app-for-odbc-datasource-300x202.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/06/create-salesforce-connected-oauth-app-for-odbc-datasource-768x516.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/06/create-salesforce-connected-oauth-app-for-odbc-datasource-1024x689.png 1024w, https://zappysys.com/blog/wp-content/uploads/2018/06/create-salesforce-connected-oauth-app-for-odbc-datasource-272x182.png 272w" sizes="(max-width: 1041px) 100vw, 1041px" /></a>

<span style="text-decoration: underline; color: #800000;"><strong>IMPORTANT:</strong></span> You can use "<strong>Access and manage your data (api)</strong>" if you do not like to grant full permission to this app but make sure you request same permission from the caller app too  (Example on ZappySys Salesforce Connection UI -&gt; Advanced Tab -&gt; Set scope as "<strong>api offline_access</strong>" rather than "<strong>full offline_access</strong>"</li>
 	<li>Click "Save".</li>
</ol>
<h3>Get Client Id and Client Secret for Salesforce Connected App</h3>
Once the App is created, we need to find out the App Id / Secret so we can use it for API calls.
<ol>
 	<li>Go to App Manager</li>
 	<li>Find out the recently created App and click View (click on the small arrow to the right)
<a href="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-view-edit-oauth-app-settings.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-9477" src="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-view-edit-oauth-app-settings.png" alt="" width="1029" height="413" srcset="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-view-edit-oauth-app-settings.png 1029w, https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-view-edit-oauth-app-settings-300x120.png 300w, https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-view-edit-oauth-app-settings-768x308.png 768w, https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-view-edit-oauth-app-settings-1024x411.png 1024w" sizes="(max-width: 1029px) 100vw, 1029px" /></a></li>
 	<li>Once App page is loaded you can Copy <strong>Consumer Key</strong> and <strong>Consumer Secret</strong> (click on reveal to see). Also copy anyone Call back URL (We will need this for OAuth Connection &gt; Advanced Tab &gt; Call Back URL or Redirect URL property depending on which ZappySys Product / Driver you are using)
<a href="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-app-clientid-secret-callbackurl.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-9478" src="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-app-clientid-secret-callbackurl.png" alt="" width="974" height="554" srcset="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-app-clientid-secret-callbackurl.png 974w, https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-app-clientid-secret-callbackurl-300x171.png 300w, https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-app-clientid-secret-callbackurl-768x437.png 768w" sizes="(max-width: 974px) 100vw, 974px" /></a></li>
 	<li>That's it, you can now use these 3 pieces to ZappySys <strong>OAuth connection UI</strong> or on <strong>Salesforce Connection UI</strong> (new version with OAuth support). The above screenshot shows where to enter these 3 pieces in the New Salesforce Connection. For the OAuth Connection, the redirect URL goes to the Advanced Tab &gt; Callback URL textbox.</li>
</ol>
<h3>Get Client Id and Secret for Salesforce External Client App</h3>
If you created a new App by clicking on the <strong>New External Client App</strong> button, then your App may not be visible in the App Manager Screen. In that case, find it below way.

[caption id="attachment_11637" align="alignnone" width="1222"]<a href="https://zappysys.com/blog/wp-content/uploads/2021/12/obtain-salesforce-oauth-clientid-secret.jpg"><img loading="lazy" decoding="async" class="size-full wp-image-11637" src="https://zappysys.com/blog/wp-content/uploads/2021/12/obtain-salesforce-oauth-clientid-secret.jpg" alt="" width="1222" height="733" srcset="https://zappysys.com/blog/wp-content/uploads/2021/12/obtain-salesforce-oauth-clientid-secret.jpg 1222w, https://zappysys.com/blog/wp-content/uploads/2021/12/obtain-salesforce-oauth-clientid-secret-300x180.jpg 300w, https://zappysys.com/blog/wp-content/uploads/2021/12/obtain-salesforce-oauth-clientid-secret-1024x614.jpg 1024w, https://zappysys.com/blog/wp-content/uploads/2021/12/obtain-salesforce-oauth-clientid-secret-768x461.jpg 768w" sizes="(max-width: 1222px) 100vw, 1222px" /></a> Get Client Id, Client Secret - For New External Client App[/caption]
<h3>Enable Client Credentials Grant (Non-Interactive Run-As)</h3>
If you like to enable Non-Interactive mode, just like UserId / Password Authentication, but without actually passing a real UserId or Password on the Connection UI, then you can enable Client Credentials Flow as below.

<strong>NOTE:</strong> Only the New version of ZappySys Salesforce Connection supports Client Credentials Grant. <span style="text-decoration: underline;"><strong>Version released after Nov 1, 2025 supports this grant type</strong></span>.

[caption id="attachment_11639" align="alignnone" width="419"]<a href="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-client-credentials-grant-runas.jpg"><img loading="lazy" decoding="async" class="size-full wp-image-11639" src="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-client-credentials-grant-runas.jpg" alt="" width="419" height="480" srcset="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-client-credentials-grant-runas.jpg 419w, https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-client-credentials-grant-runas-262x300.jpg 262w" sizes="(max-width: 419px) 100vw, 419px" /></a> Enable Salesforce Client Credentials Grant (Run As)[/caption]
<h3>(OPTIONAL) Configure Salesforce OAuth refresh token validity</h3>
By default, Salesforce Refresh Token doesn't expire once you generate. If you want to change the default behavior, follow these steps.
<ol>
 	<li>Go to "<strong>Manage Connected Apps</strong>" menu item and press on your App name:<img loading="lazy" decoding="async" class="wp-image-4298 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-oauth-app-policy-management-2.png" alt="Finding Salesforce App to configure its policies" width="660" height="410" srcset="https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-oauth-app-policy-management-2.png 660w, https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-oauth-app-policy-management-2-300x186.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-oauth-app-policy-management-2-436x272.png 436w" sizes="(max-width: 660px) 100vw, 660px" /></li>
 	<li>Click "Edit Policies" to configure refresh token validity:
<img loading="lazy" decoding="async" class="wp-image-4271 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/06/edit-salesforce-connected-app-policies.png" alt="Editing Salesforce App OAuth refresh token issuing policy" width="680" height="391" srcset="https://zappysys.com/blog/wp-content/uploads/2018/06/edit-salesforce-connected-app-policies.png 680w, https://zappysys.com/blog/wp-content/uploads/2018/06/edit-salesforce-connected-app-policies-300x173.png 300w" sizes="(max-width: 680px) 100vw, 680px" /></li>
 	<li>Set "<strong>All users may self-authorize</strong>" and "<strong>Refresh token is valid until revoked</strong>" options:<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-rest-api-app-odbc-oauth-refresh-token-validity-1.png"><img loading="lazy" decoding="async" class="wp-image-4273 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-rest-api-app-odbc-oauth-refresh-token-validity-1.png" alt="Making Salesforce App OAuth refresh token to never expire" width="870" height="498" srcset="https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-rest-api-app-odbc-oauth-refresh-token-validity-1.png 870w, https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-rest-api-app-odbc-oauth-refresh-token-validity-1-300x172.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-rest-api-app-odbc-oauth-refresh-token-validity-1-768x440.png 768w" sizes="(max-width: 870px) 100vw, 870px" /></a></li>
 	<li>Click "Save".</li>
</ol>
<h3></h3></div>
<h2>Using Salesforce Connection with OAuth App in SSIS / ODBC</h2>
<p>Once you have Client ID / Secret, you can use it in the Salesforce Connection in SSIS Connector / ODBC Driver for Salesforce like below (Only the new version will have OAuth option)</p>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-connection-using-oauth-app-clientid-secret.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-9513" src="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-connection-using-oauth-app-clientid-secret.png" alt="" width="604" height="383" srcset="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-connection-using-oauth-app-clientid-secret.png 604w, https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-connection-using-oauth-app-clientid-secret-300x190.png 300w" sizes="(max-width: 604px) 100vw, 604px" /></a></p>
<h2>Troubleshooting Known Issues</h2>
<p>Let&#8217;s look at some common issues with Salesforce Connection and how to fix them.</p>
<h3>OAuth Error: Missing Required Code Challenge</h3>
<p>When you click Generate Token button, you may get an error like the one below.</p>
<div id="attachment_11066" style="width: 767px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-pkce-verfier-error-missing-required-code-challenge.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11066" class="size-full wp-image-11066" src="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-pkce-verfier-error-missing-required-code-challenge.png" alt="Salesforce OAuth Generate Token Error - Missing Required Code Challenge" width="757" height="571" srcset="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-pkce-verfier-error-missing-required-code-challenge.png 757w, https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-pkce-verfier-error-missing-required-code-challenge-300x226.png 300w" sizes="(max-width: 757px) 100vw, 757px" /></a><p id="caption-attachment-11066" class="wp-caption-text">Salesforce OAuth Generate Token Error &#8211; Missing Required Code Challenge</p></div>
<p><strong>Solution</strong></p>
<p>Here is how to fix it.</p>
<p>For Salesforce Connection UI: Go to Advanced Tab =&gt; Check Enable PKCE Code Verifier option<br />
&#8211;OR&#8211;<br />
For OAuth Connection UI: Go to OAuth2 Grant Options Tab =&gt; Check Enable Code Verifier Option</p>
<div id="attachment_11067" style="width: 1384px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2021/12/oauth-connection-enable-pkce-code-verifier-option.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11067" class="size-full wp-image-11067" src="https://zappysys.com/blog/wp-content/uploads/2021/12/oauth-connection-enable-pkce-code-verifier-option.png" alt="Enable PKCE code verifier option - OAuth Connection for Salesforce" width="1374" height="637" srcset="https://zappysys.com/blog/wp-content/uploads/2021/12/oauth-connection-enable-pkce-code-verifier-option.png 1374w, https://zappysys.com/blog/wp-content/uploads/2021/12/oauth-connection-enable-pkce-code-verifier-option-300x139.png 300w, https://zappysys.com/blog/wp-content/uploads/2021/12/oauth-connection-enable-pkce-code-verifier-option-1024x475.png 1024w, https://zappysys.com/blog/wp-content/uploads/2021/12/oauth-connection-enable-pkce-code-verifier-option-768x356.png 768w" sizes="(max-width: 1374px) 100vw, 1374px" /></a><p id="caption-attachment-11067" class="wp-caption-text">Enable PKCE code verifier option &#8211; OAuth Connection for Salesforce.</p></div>
<p>The post <a href="https://zappysys.com/blog/register-salesforce-app-obtain-client-id-secret-oauth-api-call/">How to register Salesforce App and obtain Client ID / Secret (for API Call / OAuth)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to migrate Postman API call to SSIS / ODBC PowerPack</title>
		<link>https://zappysys.com/blog/postman-to-ssis-odbc-powerpack/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Thu, 17 Oct 2019 16:41:23 +0000</pubDate>
				<category><![CDATA[ODBC PowerPack]]></category>
		<category><![CDATA[SSIS PowerPack]]></category>
		<category><![CDATA[SSIS Tips & How-Tos]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[odbc]]></category>
		<category><![CDATA[postman]]></category>
		<category><![CDATA[rest api]]></category>
		<category><![CDATA[ssis]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=8172</guid>

					<description><![CDATA[<p>Introduction In the previous article, we learned how to copy settings from curl to ZappySys products, and in this article, we will continue on how to migrate Postman API call to SSIS / ODBC PowerPack. Postman is a very popular client tool to test API calls. Many API providers document how to call their API using [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/postman-to-ssis-odbc-powerpack/">How to migrate Postman API call to SSIS / ODBC PowerPack</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><img loading="lazy" decoding="async" class="wp-image-8173 size-thumbnail alignleft" src="https://zappysys.com/blog/wp-content/uploads/2019/10/postman-to-ssis-odbc-powerpack-icon-150x150.png" alt="" width="150" height="150" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/postman-to-ssis-odbc-powerpack-icon-150x150.png 150w, https://zappysys.com/blog/wp-content/uploads/2019/10/postman-to-ssis-odbc-powerpack-icon-300x300.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/10/postman-to-ssis-odbc-powerpack-icon.png 330w" sizes="(max-width: 150px) 100vw, 150px" /></p>
<p style="text-align: justify;">In the previous article, we learned <a href="https://zappysys.com/blog/using-ssis-curl-syntax-to-ssis-api-task/" target="_blank" rel="noopener">how to copy settings from curl to ZappySys products</a>, and in this article, we will continue on how to migrate Postman API call to SSIS / ODBC PowerPack. <a href="https://www.getpostman.com" target="_blank" rel="noopener">Postman</a> is a very popular client tool to test API calls. Many API providers document how to call their API using Postman. In this article we will focus on how to use the same settings in ZappySys Products to implement API integration in SSIS or other apps like Power BI, Informatica, Excel, Tableau, SSRS&#8230; many ODBC apps.</p>
<p style="text-align: justify;">When you are connecting to an API you may have examples of how to do that in <a href="https://www.getpostman.com" target="_blank" rel="noopener">Postman</a>. If you know how to do it in Postman, you are one step away from making it work in <a href="https://www.zappysys.com/products/ssis-powerpack" target="_blank" rel="noopener">SSIS PowerPack</a> and <a href="https://zappysys.com/products/odbc-powerpack/" target="_blank" rel="noopener">ODBC PowerPack</a> (JSON, XML, CSV Drivers, and other). Most of the examples will show how to do that specifically using ODBC PowerPack and <a href="https://zappysys.com/products/odbc-powerpack/odbc-json-rest-api-driver/" target="_blank" rel="noopener">JSON Driver</a>, but since ODBC PowerPack UI is very similar to the connectors of SSIS PowerPack, it will be quite clear where to use it in SSIS PowerPack as well. In the examples where UI differs significantly, both &#8211; ODBC and SSIS PowerPack &#8211; examples will be presented.</p>
<h2></h2>
<h2>Prerequisites</h2>
<p>In this article we assume you meet these requirements:</p>
<h3><span style="font-size: 12pt;">When migrating Postman API call to SSIS PowerPack</span></h3>
<ol>
<li><a href="https://www.getpostman.com" target="_blank" rel="noopener">Postman</a> installed.</li>
<li><abbr title="SQL Server Integration Services">SSIS</abbr> designer installed. Sometimes 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 Microsoft site</a>).</li>
<li>Basic knowledge of SSIS package development using <em>Microsoft SQL Server Integration Services</em>.</li>
<li><a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack</a> is installed (<a href="https://zappysys.com/products/ssis-powerpack/download/" target="_blank" rel="noopener">download it</a>).</li>
</ol>
<h3><span style="font-size: 12pt;">When migrating Postman API call to to ODBC PowerPack</span></h3>
<ol>
<li><a href="https://www.getpostman.com" target="_blank" rel="noopener">Postman</a> installed.</li>
<li><a href="https://zappysys.com/products/odbc-powerpack/" target="_blank" rel="noopener">ZappySys ODBC PowerPack</a> installed (<a href="https://zappysys.com/products/odbc-powerpack/download/" target="_blank" rel="noopener">download it</a>).</li>
</ol>
<h2>The Basics</h2>
<p>This section shows how to migrate simple options such as URL, HTTP Request Method, and HTTP Headers.</p>
<h3>How to configure the URL and HTTP Request Method</h3>
<div id="attachment_8187" style="width: 767px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/001-how-to-copy-postman-configuration-to-zappysys-ssis-odbc-powerpack-components-url-and-request-method/#main" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8187" class="wp-image-8187 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/001-how-to-copy-postman-configuration-to-zappysys-ssis-odbc-powerpack-components-url-and-request-method.png" alt="Migrate Postman API call to SSIS / ODBC (API URL setting to ODBC Driver (GET / POST) )" width="757" height="617" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/001-how-to-copy-postman-configuration-to-zappysys-ssis-odbc-powerpack-components-url-and-request-method.png 757w, https://zappysys.com/blog/wp-content/uploads/2019/10/001-how-to-copy-postman-configuration-to-zappysys-ssis-odbc-powerpack-components-url-and-request-method-300x245.png 300w" sizes="(max-width: 757px) 100vw, 757px" /></a><p id="caption-attachment-8187" class="wp-caption-text">Migrate Postman API call to SSIS / ODBC (API URL setting to ODBC Driver (GET / POST) )</p></div>
<h3>How to configure HTTP Headers</h3>
<div id="attachment_8186" style="width: 583px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/001a-how-to-pass-http-headers-using-postman-and-json-xml-csv-odbc-driver-and-ssis/#main" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8186" class="wp-image-8186 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/001a-how-to-pass-http-headers-using-postman-and-json-xml-csv-odbc-driver-and-ssis.png" alt="Migrate Postman HTTP Headers setting to ODBC Driver" width="573" height="701" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/001a-how-to-pass-http-headers-using-postman-and-json-xml-csv-odbc-driver-and-ssis.png 573w, https://zappysys.com/blog/wp-content/uploads/2019/10/001a-how-to-pass-http-headers-using-postman-and-json-xml-csv-odbc-driver-and-ssis-245x300.png 245w" sizes="(max-width: 573px) 100vw, 573px" /></a><p id="caption-attachment-8186" class="wp-caption-text">Migrate Postman HTTP Headers setting to ODBC Driver</p></div>
<h2>Posting data</h2>
<p>In this section, you will find how to post data in ZappySys products. You will learn how to post different formats of data, upload files and send multi-part data.</p>
<h3>How to configure POST raw body</h3>
<div id="attachment_8188" style="width: 765px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/002-how-to-post-data-in-zappysys-odbc-ssis-powerpack-using-postman-configuration/#main" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8188" class="wp-image-8188 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/002-how-to-post-data-in-zappysys-odbc-ssis-powerpack-using-postman-configuration.png" alt="Migrate Postman Body / Content-Type setting to ODBC Driver" width="755" height="738" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/002-how-to-post-data-in-zappysys-odbc-ssis-powerpack-using-postman-configuration.png 755w, https://zappysys.com/blog/wp-content/uploads/2019/10/002-how-to-post-data-in-zappysys-odbc-ssis-powerpack-using-postman-configuration-300x293.png 300w" sizes="(max-width: 755px) 100vw, 755px" /></a><p id="caption-attachment-8188" class="wp-caption-text">Migrate Postman Body / Content-Type setting to ODBC Driver</p></div>
<h3>How to configure POST JSON body</h3>
<div id="attachment_8435" style="width: 794px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/10/002-how-to-post-json-data-in-zappysys-odbc-ssis-powerpack-using-postman-configuration.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8435" class="wp-image-8435 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/002-how-to-post-json-data-in-zappysys-odbc-ssis-powerpack-using-postman-configuration.png" alt="Migrate Postman Body / Content-Type setting to ODBC Driver" width="784" height="688" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/002-how-to-post-json-data-in-zappysys-odbc-ssis-powerpack-using-postman-configuration.png 784w, https://zappysys.com/blog/wp-content/uploads/2019/10/002-how-to-post-json-data-in-zappysys-odbc-ssis-powerpack-using-postman-configuration-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/10/002-how-to-post-json-data-in-zappysys-odbc-ssis-powerpack-using-postman-configuration-768x674.png 768w" sizes="(max-width: 784px) 100vw, 784px" /></a><p id="caption-attachment-8435" class="wp-caption-text">Migrate Postman Body / Content-Type setting to ODBC Driver</p></div>
<p>Use this table to determine what kind of <em>Body Content Type</em> to configure:</p>
<div class="su-table su-table-alternate">
<table style="border-collapse: collapse;width: 100%;height: 87px" border="1">
<tbody>
<tr style="height: 22px">
<td style="width: 50%;height: 22px"><strong>Data type</strong></td>
<td style="width: 50%;height: 22px"><strong>Body Content Type</strong></td>
</tr>
<tr style="height: 22px">
<td style="width: 50%;height: 21px">Text</td>
<td style="width: 50%;height: 21px">text/plain</td>
</tr>
<tr style="height: 22px">
<td style="width: 50%;height: 22px">JSON</td>
<td style="width: 50%;height: 22px">application/json</td>
</tr>
<tr style="height: 22px">
<td style="width: 50%;height: 22px">HTML</td>
<td style="width: 50%;height: 22px">text/html</td>
</tr>
<tr style="height: 22px">
<td style="width: 50%;height: 22px">XML</td>
<td style="width: 50%;height: 22px">application/xml</td>
</tr>
<tr style="height: 22px">
<td style="width: 50%;height: 22px">You don&#8217;t know the type</td>
<td style="width: 50%;height: 22px">Default  (i.e. form/x-www-form-urlencoded data)</td>
</tr>
</tbody>
</table>
</div>
<h3>How to configure POST form/x-www-form-urlencoded data</h3>
<div id="attachment_8189" style="width: 674px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/003-how-to-post-form-data-using-postman-and-json-xml-csv-driver-and-ssis/#main" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8189" class="wp-image-8189 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/003-how-to-post-form-data-using-postman-and-json-xml-csv-driver-and-ssis.png" alt="Migrate Postman Body (x-www-form-urlencoded) setting to ODBC Driver" width="664" height="568" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/003-how-to-post-form-data-using-postman-and-json-xml-csv-driver-and-ssis.png 664w, https://zappysys.com/blog/wp-content/uploads/2019/10/003-how-to-post-form-data-using-postman-and-json-xml-csv-driver-and-ssis-300x257.png 300w" sizes="(max-width: 664px) 100vw, 664px" /></a><p id="caption-attachment-8189" class="wp-caption-text">Migrate Postman Body (x-www-form-urlencoded) setting to ODBC Driver</p></div>
<h3>How to configure multipart form POST data</h3>
<div id="attachment_8190" style="width: 868px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/004-how-to-post-multipart-form-data-using-postman-and-json-xml-csv-driver-and-ssis/#main" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8190" class="wp-image-8190 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/004-how-to-post-multipart-form-data-using-postman-and-json-xml-csv-driver-and-ssis.png" alt="Migrate Postman Multi-Part File Upload setting to ODBC Driver (Upload File)" width="858" height="745" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/004-how-to-post-multipart-form-data-using-postman-and-json-xml-csv-driver-and-ssis.png 858w, https://zappysys.com/blog/wp-content/uploads/2019/10/004-how-to-post-multipart-form-data-using-postman-and-json-xml-csv-driver-and-ssis-300x260.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/10/004-how-to-post-multipart-form-data-using-postman-and-json-xml-csv-driver-and-ssis-768x667.png 768w" sizes="(max-width: 858px) 100vw, 858px" /></a><p id="caption-attachment-8190" class="wp-caption-text">Migrate Postman Multi-Part File Upload setting to ODBC Driver (Upload File)</p></div>
<h2>Authentication</h2>
<p>This section will cover all common authentication methods, starting from using API Key to OAuth 2.0.</p>
<h3>How to authenticate using API Key in HTTP headers</h3>
<div id="attachment_8191" style="width: 707px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/005-how-to-configure-api-key-as-header-using-postman-and-json-xml-csv-odbc-driver-and-ssis/#main"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8191" class="wp-image-8191 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/005-how-to-configure-api-key-as-header-using-postman-and-json-xml-csv-odbc-driver-and-ssis.png" alt="Authentication - Migrate Postman API Key (via header) setting to ODBC Driver" width="697" height="746" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/005-how-to-configure-api-key-as-header-using-postman-and-json-xml-csv-odbc-driver-and-ssis.png 697w, https://zappysys.com/blog/wp-content/uploads/2019/10/005-how-to-configure-api-key-as-header-using-postman-and-json-xml-csv-odbc-driver-and-ssis-280x300.png 280w" sizes="(max-width: 697px) 100vw, 697px" /></a><p id="caption-attachment-8191" class="wp-caption-text">Authentication &#8211; Migrate Postman API Key (via header) setting to ODBC Driver</p></div>
<h3>How to authenticate using API Key as a parameter in URL</h3>
<div id="attachment_8202" style="width: 767px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/006-how-to-configure-api-key-as-url-parameter-using-postman-and-json-xml-csv-driver-and-ssis-2/#main" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8202" class="wp-image-8202 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/006-how-to-configure-api-key-as-url-parameter-using-postman-and-json-xml-csv-driver-and-ssis-1.png" alt="Authentication - Migrate Postman API Key (via URL query parameter) setting to ODBC Driver" width="757" height="567" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/006-how-to-configure-api-key-as-url-parameter-using-postman-and-json-xml-csv-driver-and-ssis-1.png 757w, https://zappysys.com/blog/wp-content/uploads/2019/10/006-how-to-configure-api-key-as-url-parameter-using-postman-and-json-xml-csv-driver-and-ssis-1-300x225.png 300w" sizes="(max-width: 757px) 100vw, 757px" /></a><p id="caption-attachment-8202" class="wp-caption-text">Authentication &#8211; Migrate Postman API Key (via URL query parameter) setting to ODBC Driver</p></div>
<h3>How to authenticate using Bearer Token</h3>
<div id="attachment_8193" style="width: 763px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/007-how-to-authenticate-using-bearer-token-using-postman-and-json-xml-csv-driver-and-ssis/#main" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8193" class="wp-image-8193 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/007-how-to-authenticate-using-bearer-token-using-postman-and-json-xml-csv-driver-and-ssis.png" alt="Authentication - Migrate Postman Bearer Token setting to SSIS / ODBC Driver" width="753" height="636" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/007-how-to-authenticate-using-bearer-token-using-postman-and-json-xml-csv-driver-and-ssis.png 753w, https://zappysys.com/blog/wp-content/uploads/2019/10/007-how-to-authenticate-using-bearer-token-using-postman-and-json-xml-csv-driver-and-ssis-300x253.png 300w" sizes="(max-width: 753px) 100vw, 753px" /></a><p id="caption-attachment-8193" class="wp-caption-text">Authentication &#8211; Migrate Postman Bearer Token setting to SSIS / ODBC Driver</p></div>
<h3>How to authenticate using Basic Authentication</h3>
<h4>In ODBC PowerPack</h4>
<div id="attachment_8194" style="width: 674px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/008-how-to-authenticate-using-basic-authentication-using-postman-and-json-xml-csv-driver-and-ssis/#main" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8194" class="wp-image-8194 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/008-how-to-authenticate-using-basic-authentication-using-postman-and-json-xml-csv-driver-and-ssis.png" alt="Authentication - Migrate Postman Basic Auth setting to SSIS / ODBC Driver (Login using Userid / password)" width="664" height="732" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/008-how-to-authenticate-using-basic-authentication-using-postman-and-json-xml-csv-driver-and-ssis.png 664w, https://zappysys.com/blog/wp-content/uploads/2019/10/008-how-to-authenticate-using-basic-authentication-using-postman-and-json-xml-csv-driver-and-ssis-272x300.png 272w" sizes="(max-width: 664px) 100vw, 664px" /></a><p id="caption-attachment-8194" class="wp-caption-text">Authentication &#8211; Migrate Postman Basic Auth setting to SSIS / ODBC Driver (Login using Userid / password)</p></div>
<h4>In SSIS PowerPack</h4>
<p>In SSIS PowerPack use the same configuration as above, just create ZS-HTTP Connection Manager using instructions below:</p>
<div id="attachment_8195" style="width: 739px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/009-how-to-authenticate-using-basic-authentication-using-postman-and-json-source/#main" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8195" class="wp-image-8195 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/009-how-to-authenticate-using-basic-authentication-using-postman-and-json-source.png" alt="Authentication - Migrate Postman Basic Auth setting to SSIS JSON / XML Source (Login using Userid / password)" width="729" height="362" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/009-how-to-authenticate-using-basic-authentication-using-postman-and-json-source.png 729w, https://zappysys.com/blog/wp-content/uploads/2019/10/009-how-to-authenticate-using-basic-authentication-using-postman-and-json-source-300x149.png 300w" sizes="(max-width: 729px) 100vw, 729px" /></a><p id="caption-attachment-8195" class="wp-caption-text">Authentication &#8211; Migrate Postman Basic Auth setting to SSIS JSON / XML Source (Login using Userid / password)</p></div>
<h3>How to authenticate using OAuth</h3>
<h4>In ODBC PowerPack</h4>
<ol style="margin-left: 0;">
<li>Configure main options:
<div id="attachment_8198" style="width: 864px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/012-how-to-authenticate-with-oauth-using-postman-and-json-source-configuration/#main" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8198" class="wp-image-8198 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/012-how-to-authenticate-with-oauth-using-postman-and-json-source-configuration.png" alt="Authentication - Migrate Postman OAuth setting to SSIS / ODBC Drivers ( JSON / XML / CSV API) - Client ID / Secret / Scope / Auth and Token Url (Client Credential Grant Type, Password Grant Type, Code Authorization Grant Type)" width="854" height="1112" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/012-how-to-authenticate-with-oauth-using-postman-and-json-source-configuration.png 854w, https://zappysys.com/blog/wp-content/uploads/2019/10/012-how-to-authenticate-with-oauth-using-postman-and-json-source-configuration-230x300.png 230w, https://zappysys.com/blog/wp-content/uploads/2019/10/012-how-to-authenticate-with-oauth-using-postman-and-json-source-configuration-768x1000.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/10/012-how-to-authenticate-with-oauth-using-postman-and-json-source-configuration-786x1024.png 786w" sizes="(max-width: 854px) 100vw, 854px" /></a><p id="caption-attachment-8198" class="wp-caption-text">Authentication &#8211; Migrate Postman OAuth setting to SSIS / ODBC Drivers ( JSON / XML / CSV API) &#8211; Client ID / Secret / Scope / Auth and Token Url (Client Credential Grant Type, Password Grant Type, Code Authorization Grant Type)</p></div></li>
<li>Configure Callback/Return Url:
<div id="attachment_8199" style="width: 694px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/013-how-to-authenticate-with-oauth-using-postman-and-json-source-setting-redirect-url/#main" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8199" class="wp-image-8199 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/013-how-to-authenticate-with-oauth-using-postman-and-json-source-setting-redirect-url.png" alt="Authentication - Migrate Postman OAuth setting to SSIS / ODBC Drivers ( Callback / Redirect URL )" width="684" height="458" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/013-how-to-authenticate-with-oauth-using-postman-and-json-source-setting-redirect-url.png 684w, https://zappysys.com/blog/wp-content/uploads/2019/10/013-how-to-authenticate-with-oauth-using-postman-and-json-source-setting-redirect-url-300x201.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/10/013-how-to-authenticate-with-oauth-using-postman-and-json-source-setting-redirect-url-272x182.png 272w" sizes="(max-width: 684px) 100vw, 684px" /></a><p id="caption-attachment-8199" class="wp-caption-text">Authentication &#8211; Migrate Postman OAuth setting to SSIS / ODBC Drivers ( Callback / Redirect URL )</p></div></li>
</ol>
<p>If you are using a known, public API service, you may try locating it in the OAuth Providers list, which will save you from configuring Authorization and Access Token URLs:</p>
<p><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/013b-how-to-authenticate-with-oauth-using-postman-and-json-source-providers-list/#main" rel="attachment wp-att-8230"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-8230" src="https://zappysys.com/blog/wp-content/uploads/2019/10/013b-how-to-authenticate-with-oauth-using-postman-and-json-source-providers-list.png" alt="" width="586" height="493" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/013b-how-to-authenticate-with-oauth-using-postman-and-json-source-providers-list.png 586w, https://zappysys.com/blog/wp-content/uploads/2019/10/013b-how-to-authenticate-with-oauth-using-postman-and-json-source-providers-list-300x252.png 300w" sizes="(max-width: 586px) 100vw, 586px" /></a></p>
<p>For simplicity and if your company policy allows it or at least for testing purposes, you can use a Default OAuth Application created by ZappySys:</p>
<p><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/013c-how-to-authenticate-with-oauth-using-postman-and-json-source-default-app/#main" rel="attachment wp-att-8231"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-8231" src="https://zappysys.com/blog/wp-content/uploads/2019/10/013c-how-to-authenticate-with-oauth-using-postman-and-json-source-default-app.png" alt="" width="531" height="495" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/013c-how-to-authenticate-with-oauth-using-postman-and-json-source-default-app.png 531w, https://zappysys.com/blog/wp-content/uploads/2019/10/013c-how-to-authenticate-with-oauth-using-postman-and-json-source-default-app-300x280.png 300w" sizes="(max-width: 531px) 100vw, 531px" /></a></p>
<h4>In SSIS PowerPack</h4>
<p>In SSIS PowerPack use the same configuration as above, just create ZS-OAUTH Connection Manager using instructions below:</p>
<div id="attachment_8196" style="width: 740px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/010-how-to-authenticate-with-oauth-using-postman-and-json-source/#main" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8196" class="wp-image-8196 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/010-how-to-authenticate-with-oauth-using-postman-and-json-source.png" alt="Authentication - Migrate Postman OAuth setting to SSIS JSON / XML Source" width="730" height="362" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/010-how-to-authenticate-with-oauth-using-postman-and-json-source.png 730w, https://zappysys.com/blog/wp-content/uploads/2019/10/010-how-to-authenticate-with-oauth-using-postman-and-json-source-300x149.png 300w" sizes="(max-width: 730px) 100vw, 730px" /></a><p id="caption-attachment-8196" class="wp-caption-text">Authentication &#8211; Migrate Postman OAuth setting to SSIS JSON / XML Source</p></div>
<h3>How to authenticate using AWS Signature</h3>
<h4>In ODBC PowerPack</h4>
<div id="attachment_8200" style="width: 702px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/014-how-to-authenticate-with-aws-signature-using-postman-and-json-xml-csv-odbc-driver-and-ssis/#main" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8200" class="wp-image-8200 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/014-how-to-authenticate-with-aws-signature-using-postman-and-json-xml-csv-odbc-driver-and-ssis.png" alt="Authentication - Migrate Postman AWS API call setting to SSIS / ODBC Drivers ( JSON / XML / CSV API call)" width="692" height="465" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/014-how-to-authenticate-with-aws-signature-using-postman-and-json-xml-csv-odbc-driver-and-ssis.png 692w, https://zappysys.com/blog/wp-content/uploads/2019/10/014-how-to-authenticate-with-aws-signature-using-postman-and-json-xml-csv-odbc-driver-and-ssis-300x202.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/10/014-how-to-authenticate-with-aws-signature-using-postman-and-json-xml-csv-odbc-driver-and-ssis-272x182.png 272w" sizes="(max-width: 692px) 100vw, 692px" /></a><p id="caption-attachment-8200" class="wp-caption-text">Authentication &#8211; Migrate Postman AWS API call setting to SSIS / ODBC Drivers ( JSON / XML / CSV API call)</p></div>
<h4>In SSIS PowerPack</h4>
<p>In SSIS PowerPack use the same configuration as above, just create ZS-OAUTH Connection Manager using instructions below:</p>
<p><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/010-how-to-authenticate-with-oauth-using-postman-and-json-source/#main" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="alignnone wp-image-8196 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/010-how-to-authenticate-with-oauth-using-postman-and-json-source.png" alt="" width="730" height="362" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/010-how-to-authenticate-with-oauth-using-postman-and-json-source.png 730w, https://zappysys.com/blog/wp-content/uploads/2019/10/010-how-to-authenticate-with-oauth-using-postman-and-json-source-300x149.png 300w" sizes="(max-width: 730px) 100vw, 730px" /></a></p>
<h3>How to authenticate using NTLM Authentication</h3>
<h4>In ODBC PowerPack</h4>
<p><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/015-how-to-authenticate-with-ntlm-using-postman-and-json-xml-csv-odbc-driver-and-ssis/#main" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="alignnone wp-image-8201 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/015-how-to-authenticate-with-ntlm-using-postman-and-json-xml-csv-odbc-driver-and-ssis.png" alt="" width="724" height="578" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/015-how-to-authenticate-with-ntlm-using-postman-and-json-xml-csv-odbc-driver-and-ssis.png 724w, https://zappysys.com/blog/wp-content/uploads/2019/10/015-how-to-authenticate-with-ntlm-using-postman-and-json-xml-csv-odbc-driver-and-ssis-300x240.png 300w" sizes="(max-width: 724px) 100vw, 724px" /></a></p>
<h4>In SSIS PowerPack</h4>
<p>In SSIS PowerPack use the same configuration as above, just create ZS-HTTP Connection Manager using instructions below:</p>
<p><a href="https://zappysys.com/blog/migrate-postman-settings-to-odbc-ssis-powerpack/009-how-to-authenticate-using-basic-authentication-using-postman-and-json-source/#main" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="alignnone wp-image-8195 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/10/009-how-to-authenticate-using-basic-authentication-using-postman-and-json-source.png" alt="" width="729" height="362" srcset="https://zappysys.com/blog/wp-content/uploads/2019/10/009-how-to-authenticate-using-basic-authentication-using-postman-and-json-source.png 729w, https://zappysys.com/blog/wp-content/uploads/2019/10/009-how-to-authenticate-using-basic-authentication-using-postman-and-json-source-300x149.png 300w" sizes="(max-width: 729px) 100vw, 729px" /></a></p>
<h2>Conclusion</h2>
<p>This article was quite self-explanatory, but if you have any questions or you have an authentication method that is not listed here and you don&#8217;t know how to proceed, please, contact us and we will try to help you: <a href="https://zappysys.com/support/" target="_blank" rel="noopener">https://zappysys.com/support/</a>.</p>
<p>The post <a href="https://zappysys.com/blog/postman-to-ssis-odbc-powerpack/">How to migrate Postman API call to SSIS / ODBC PowerPack</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Make PayPal API Call in ODBC / SQL Server (T-SQL)</title>
		<link>https://zappysys.com/blog/make-paypal-api-call-odbc-sql-server/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Sat, 14 Sep 2019 08:49:27 +0000</pubDate>
				<category><![CDATA[JSON File / REST API Driver]]></category>
		<category><![CDATA[T-SQL (SQL Server)]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[oauth2]]></category>
		<category><![CDATA[odbc]]></category>
		<category><![CDATA[paypal]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=8010</guid>

					<description><![CDATA[<p>Introduction In our previous article we saw how to call PayPal API in SSIS. Now in this article, we will see How to Make PayPal API Call in ODBC from the SQL Server. This blog mainly focuses on ODBC approach but steps mentioned to call PayPal APIs can be useful for any developer regardless of which [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/make-paypal-api-call-odbc-sql-server/">How to Make PayPal API Call in ODBC / SQL Server (T-SQL)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><span id="Introduction">Introduction</span></h2>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2019/08/paypal-logo-preview.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="alignleft wp-image-7825 size-thumbnail" title="PayPal" src="https://zappysys.com/blog/wp-content/uploads/2019/08/paypal-logo-preview-150x150.png" alt="PayPal" width="150" height="150" srcset="https://zappysys.com/blog/wp-content/uploads/2019/08/paypal-logo-preview-150x150.png 150w, https://zappysys.com/blog/wp-content/uploads/2019/08/paypal-logo-preview-300x300.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/08/paypal-logo-preview.png 512w" sizes="(max-width: 150px) 100vw, 150px" /></a>In our previous article we saw <a href="https://zappysys.com/blog/read-paypal-api-data-ssis/" target="_blank" rel="noopener">how to call PayPal API in SSIS</a>. Now in this article, we will see How to Make PayPal API Call in ODBC from the SQL Server. This blog mainly focuses on ODBC approach but steps mentioned to call PayPal APIs can be useful for any developer regardless of which programming language or tool set you use. We will also see How to send basic Authorization header along with body in OAuth2.</p>
<p>We will go through the steps to Create PayPal Order from MS SQL Server.</p>
<p>In nutshell, this post will focus on how to make PayPal API Call using ODBC Driver.</p>
<p>&nbsp;</p>
<h2><span id="Prerequisites">Prerequisites</span></h2>
<p>Before we perform the steps listed in this article, you will need to make sure the following prerequisites are met:</p>
<ol>
<li>A first requirement, make sure that Microsoft Access installed</li>
<li>Make sure to have <a href="https://zappysys.com/products/odbc-powerpack/" target="_blank" rel="noopener">ZappySys ODBC PowerPack</a> installed.</li>
<li>Credentials of PayPal API. Click <a href="https://developer.paypal.com/developer/applications/" target="_blank" rel="noopener">here</a> to create API.</li>
</ol>
<h2><span id="What_is_Walmart"><span id="What_is_WordPress">What is PayPal?</span></span></h2>
<p><a href="https://www.paypal.com" target="_blank" rel="noopener">PayPal</a> is an American company operating a worldwide online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders. The company operates as a payment processor for online vendors, auction sites, and many other commercial users, for which it charges a fee in exchange for benefits such as one-click transactions and password memory. PayPal&#8217;s payment system, also called PayPal, is considered a type of payment rail.</p>
<h2 class="dx-content-title">Get Started with PayPal API</h2>
<p>If you have need to automate PayPal operations (e.g. read / write / update / delete ) then you can use PayPal REST API. Before you can integrate a PayPal product or solution, you must set up your development environment to get OAuth 2.0 client ID and secret credentials for the sandbox and live environments. You exchange these credentials for an access token that authorizes your REST API calls. To test your web and mobile apps, you create sandbox accounts.</p>
<h3 id="get-credentials" class="dx-anchor">Get PayPal credentials</h3>
<p>To generate OAuth 2.0 credentials for the sandbox and live environments:</p>
<ol>
<li><a href="https://www.paypal.com/signin?returnUri=https%3A%2F%2Fdeveloper.paypal.com%2Fdeveloper%2Fapplications" target="_blank" rel="noopener"><strong>Log into Dashboard</strong></a> and type your PayPal personal or business account email and password.</li>
<li>In the <strong>REST API apps</strong> section, click <strong>Create App</strong>. The purpose of this app is to generate your credentials.</li>
<li>Type a name for your app and click <strong>Create App</strong>. The page shows your sandbox app information, which includes your credentials.<br />
<blockquote class="dx-blockquote-note"><p><strong>Note:</strong> To show your live app information, toggle to <strong>Live</strong>.</p></blockquote>
</li>
<li>Copy and save the client ID and secret for your sandbox app.
<div id="attachment_7837" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/08/paypal-client-ID-and-secret.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7837" class="wp-image-7837 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2019/08/paypal-client-ID-and-secret-768x443.png" alt="PayPal Client ID and Secret" width="720" height="415" srcset="https://zappysys.com/blog/wp-content/uploads/2019/08/paypal-client-ID-and-secret-768x443.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/08/paypal-client-ID-and-secret-300x173.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/08/paypal-client-ID-and-secret.png 940w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-7837" class="wp-caption-text">PayPal Client ID and Secret</p></div></li>
<li>Review your app details and save your app.</li>
</ol>
<h2><span id="Read_PayPal_API_Data_using_SSIS_JSON_Source"><span id="Read_Walmart_API_Data_using_SSIS_JSON_Source"><span id="Read_data_fromWordPressusing_SSIS_JSON_Source">Call PayPal </span></span></span>Create Order API in SQL Server (T-SQL) using Data Gateway</h2>
<p>Let’s start with an example. We use JSON Driver to make the call to PayPal API, we will Create the PayPal Order from SQL Server.</p>
<p>In REST API calls, include the URL to the API service for the environment:</p>
<ul class="compact">
<li>Sandbox: <code>https://api.sandbox.paypal.com</code></li>
<li>Live: <code>https://api.paypal.com</code></li>
</ul>
<ol>
<li>To do this, first of all, we will open the ZappySys Data Gateway Configuration:
<div id="attachment_5283" style="width: 410px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5283" class="wp-image-5283 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway.png" alt="Open ZappySys Data Gateway" width="400" height="315" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway.png 400w, https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway-300x236.png 300w" sizes="(max-width: 400px) 100vw, 400px" /></a><p id="caption-attachment-5283" class="wp-caption-text">Open ZappySys Data Gateway</p></div></li>
<li>Add the Native &#8211; ZappySys JSON Driver Data source.
<div id="attachment_5284" style="width: 568px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-data-source.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5284" class="wp-image-5284 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-data-source.png" alt="Add Gateway Data Source (Native JSON Driver)" width="558" height="533" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-data-source.png 558w, https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-data-source-300x287.png 300w" sizes="(max-width: 558px) 100vw, 558px" /></a><p id="caption-attachment-5284" class="wp-caption-text">Add Gateway Data Source (Native JSON Driver)</p></div></li>
<li>Now it&#8217;s time to connect with PayPal. Let&#8217;s use JSON Driver Data source with the following URL:<br />
<pre class="crayon-plain-tag">https://api.sandbox.paypal.com/v2/checkout/orders</pre>
Body:<br />
<pre class="crayon-plain-tag">{
  "intent": "CAPTURE",
  "purchase_units": [
    {
      "amount": {
        "currency_code": "USD",
        "value": "100.00"
      }
    }
  ]
}</pre>
<div id="attachment_8013" style="width: 875px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/09/odbc-json-driver-paypal-create-order.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8013" class="wp-image-8013 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/09/odbc-json-driver-paypal-create-order.png" alt="PayPal : Create Order" width="865" height="703" srcset="https://zappysys.com/blog/wp-content/uploads/2019/09/odbc-json-driver-paypal-create-order.png 865w, https://zappysys.com/blog/wp-content/uploads/2019/09/odbc-json-driver-paypal-create-order-300x244.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/09/odbc-json-driver-paypal-create-order-768x624.png 768w" sizes="(max-width: 865px) 100vw, 865px" /></a><p id="caption-attachment-8013" class="wp-caption-text">PayPal : Create Order</p></div></li>
<li>Create Basic OAuth Client Credentials Grant (Configure ZS-OAuth Connection).<br />
In the SSIS ZS OAuth Connection Manager, Select Provider as Custom, select version as OAuth2 and select Grant Type as  Client Credentials Grant. Enter the credentials and access token url and click OK.<br />
<pre class="crayon-plain-tag">https://api.sandbox.paypal.com/v1/oauth2/token</pre>
<div id="attachment_8014" style="width: 807px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/09/odbc-paypal-oauth-basic-client-credential-grant.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8014" class="wp-image-8014 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/09/odbc-paypal-oauth-basic-client-credential-grant.png" alt="ZS OAuth Connection – Client Credentials Grant" width="797" height="751" srcset="https://zappysys.com/blog/wp-content/uploads/2019/09/odbc-paypal-oauth-basic-client-credential-grant.png 797w, https://zappysys.com/blog/wp-content/uploads/2019/09/odbc-paypal-oauth-basic-client-credential-grant-300x283.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/09/odbc-paypal-oauth-basic-client-credential-grant-768x724.png 768w" sizes="(max-width: 797px) 100vw, 797px" /></a><p id="caption-attachment-8014" class="wp-caption-text">ZS OAuth Connection – Client Credentials Grant</p></div></li>
<li>Furthermore, Now click on Test Connection button to test PayPal Connection.
<div id="attachment_8015" style="width: 812px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/09/odbc-paypal-test-connection.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8015" class="wp-image-8015 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/09/odbc-paypal-test-connection.png" alt="PayPal : Test Connection" width="802" height="702" srcset="https://zappysys.com/blog/wp-content/uploads/2019/09/odbc-paypal-test-connection.png 802w, https://zappysys.com/blog/wp-content/uploads/2019/09/odbc-paypal-test-connection-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/09/odbc-paypal-test-connection-768x672.png 768w" sizes="(max-width: 802px) 100vw, 802px" /></a><p id="caption-attachment-8015" class="wp-caption-text">PayPal : Test Connection</p></div></li>
<li>Write your Query and <strong>Preview Data</strong>.</li>
<li><strong>(Optional Step)</strong> If your Query use POST method (e.g. Create Invoice) to submit data then you have <a href="https://zappysys.com/blog/caching-metadata-odbc-drivers-performance/#Metadata_Options_in_SQL_Query" target="_blank" rel="noopener">Save Metadata (Read More)</a>. We will use this meta file in later step when we call POST request.
<div id="attachment_4716" style="width: 551px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/08/post-data-json-rest-api-using-sql-query-odbc-driver.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4716" class="size-full wp-image-4716" src="https://zappysys.com/blog/wp-content/uploads/2018/08/post-data-json-rest-api-using-sql-query-odbc-driver.png" alt="Generate Metadata File for REST API POST Operation using ZappySys API Driver (JSON / XML)" width="541" height="593" srcset="https://zappysys.com/blog/wp-content/uploads/2018/08/post-data-json-rest-api-using-sql-query-odbc-driver.png 541w, https://zappysys.com/blog/wp-content/uploads/2018/08/post-data-json-rest-api-using-sql-query-odbc-driver-274x300.png 274w" sizes="(max-width: 541px) 100vw, 541px" /></a><p id="caption-attachment-4716" class="wp-caption-text">Generate Metadata File for REST API POST Operation using ZappySys API Driver (JSON / XML)</p></div></li>
<li>Now using Code Generator we will generate the query.
<div id="attachment_6416" style="width: 766px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-json-driver-generate-quickbooks-query.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6416" class="wp-image-6416 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-json-driver-generate-quickbooks-query.png" alt="odbc-json-driver-generate-quickbooks-query" width="756" height="432" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-json-driver-generate-quickbooks-query.png 756w, https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-json-driver-generate-quickbooks-query-300x171.png 300w" sizes="(max-width: 756px) 100vw, 756px" /></a><p id="caption-attachment-6416" class="wp-caption-text">Generate Query</p></div></li>
</ol>
<h3>Setup Linked Server <span id="Create_ODBC_DSN_8211_JSON_Driver">in MS SQL Server for PayPal</span></h3>
<p>Once you configured the data source in Gateway, we can now setup Linked Server in SQL Server to query API Calls.</p>
<ol>
<li>Assuming you have installed SQL Server and SSMS. If not then get both for FREE from here: <a href="https://www.microsoft.com/en-us/sql-server/sql-server-editions-express" target="_blank" rel="noopener">Get SQL Server Express</a> and  <a href="https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms" target="_blank" rel="noopener">Get SSMS</a></li>
<li>Open SSMS and connect to SQL Server.</li>
<li>Go to Root &gt; Server Objects &gt; Linked Servers node. Right click and click <strong>New Linked Server&#8230;</strong>
<div class="wp-caption alignnone">
<p><a href="https://i1.wp.com/zappysys.com/blog/wp-content/uploads/2018/03/create-new-linked-server-ssms.png?ssl=1" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://i1.wp.com/zappysys.com/blog/wp-content/uploads/2018/03/create-new-linked-server-ssms.png?w=720&amp;ssl=1" alt="Add Linked Server in SQL Server" width="420" height="262" /></a></p>
<p class="wp-caption-text">Add Linked Server in SQL Server</p>
</div>
</li>
<li> Now enter the linked server name, select Provider as SQL Native Client</li>
<li>Enter data source as <strong><pre class="crayon-plain-tag">GatewayServerName, PORT_NUMBER</pre></strong> where server name is where ZappySys Gateway is running (Can be same as SQL Server machine or remote machine). Default PORT_NUMBER is 5000 but confirm on Data gateway &gt; General tab in case its different.</li>
<li>Enter Catalog Name. This must match name from Data gateway Data sources grid &gt; Name column
<div class="wp-caption alignnone">
<p><a href="https://i1.wp.com/zappysys.com/blog/wp-content/uploads/2018/11/ssms-sql-server-configure-linked-server-1.png?ssl=1" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://i1.wp.com/zappysys.com/blog/wp-content/uploads/2018/11/ssms-sql-server-configure-linked-server-1.png?w=720&amp;ssl=1" alt="Configure Linked Server Provider, Catalog, Server, Port for ZappySys Data Gateway Connection" width="643" height="496" /></a></p>
<p class="wp-caption-text">Configure Linked Server Provider, Catalog, Server, Port for ZappySys Data Gateway Connection</p>
</div>
</li>
<li>Click on Security Tab and select last option &#8220;<strong>Be made using this security context</strong>&#8220;. Enter your gateway user account here.</li>
<li>Click OK to save Linked Server</li>
</ol>
<h3>Create Order in PayPal from SQL Server (Call POST API Method)</h3>
<ol>
<li>To Create Order in PayPal we need to execute the query like this. Please refer to this link for more information: <a href="https://developer.paypal.com/docs/api/orders/v2/#orders_create" target="_blank" rel="noopener">Create Order example.</a><br />
<div class="su-note"  style="border-color:#e5de9d;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:#fff8b7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;">Important Note*: Below query uses META property <a href="https://zappysys.com/blog/caching-metadata-odbc-drivers-performance/#Metadata_Options_in_SQL_Query" target="_blank" rel="noopener">(fully explained here)</a>. This is needed if you creating anew record using POST, PUT. If you don&#8217;t pass META='{xxxx}&#8217; in query driver calls REST API two times (first time to parse metadata and second time to get actual data). So that you find some odd thing in PayPal if you execute the query without Meta then you will find two same Orders created in your PayPal as the driver makes two calls as mentioned above.</div></div>
<pre class="crayon-plain-tag">-- In below query rather than WITH(META=''[{"Name": "Success","Type": "Int32"}]'' ....
-- You can also use WITH(META=''c:\my-meta-file.txt'' .... We created this file in previous section

SELECT * FROM OPENQUERY([MY_LINKED_SERVER_NAME]
, 'SELECT * FROM $
WITH(META=''[{"Name": "Success","Type": "Int32"}]''
	 ,Src=''https://api.sandbox.paypal.com/v2/checkout/orders''
	,RequestData=''{
  "intent": "CAPTURE",
  "purchase_units": [
    {
      "amount": {
        "currency_code": "USD",
        "value": "100.00"
      }
    }
  ]
}''
	,RequestContentTypeCode=''ApplicationJson''
	,RequestMethod=''POST''
)')</pre>
</li>
<li>Here is the preview after you run REST API query in SQL Server. It will return created Order Id, Links and status. Notice that you can override default configuration by supplying <a href="https://zappysys.com/onlinehelp/odbc-powerpack/scr/json-odbc-driver-connectionstring.htm" target="_blank" rel="noopener">many parameters</a> in WITH clause.
<div id="attachment_8018" style="width: 586px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/09/sql-server-create-order-result.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8018" class="wp-image-8018 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/09/sql-server-create-order-result.png" alt="Create Order In PayPal Using SQL Query" width="576" height="750" srcset="https://zappysys.com/blog/wp-content/uploads/2019/09/sql-server-create-order-result.png 576w, https://zappysys.com/blog/wp-content/uploads/2019/09/sql-server-create-order-result-230x300.png 230w" sizes="(max-width: 576px) 100vw, 576px" /></a><p id="caption-attachment-8018" class="wp-caption-text">Create Order In PayPal Using SQL Query</p></div></li>
<li>You can also find this created Order by opening that URL in the browser.
<div id="attachment_8019" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/09/paypal-created-order.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8019" class="wp-image-8019 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2019/09/paypal-created-order-768x751.png" alt="Created Order In PayPal" width="720" height="704" srcset="https://zappysys.com/blog/wp-content/uploads/2019/09/paypal-created-order-768x751.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/09/paypal-created-order-300x293.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/09/paypal-created-order.png 815w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-8019" class="wp-caption-text">Created Order In PayPal</p></div></li>
</ol>
<h2><span id="Read_PayPal_API_Data_using_SSIS_JSON_Source"><span id="Read_Walmart_API_Data_using_SSIS_JSON_Source"><span id="Read_data_fromWordPressusing_SSIS_JSON_Source">PayPal API integration in ODBC apps (e.g. Power BI, Excel, Informatica, Access, C#&#8230;)</span></span></span></h2>
<p>So far we have looked at SQL Server integration only, but what if you like to use same powerful ZappySys API drivers part of <a href="https://zappysys.com/products/odbc-powerpack/" target="_blank" rel="noopener">ODBC PowerPack</a> in other Apps like Power BI, Excel, MS Access, Informatica and many more&#8230; ?? Well not to worry if you know that App supports ODBC you can use ZappySys ODBC Driver same way described earlier&#8230; only difference is you dont need Linked Server and you dont have to use OPENQUERY statement when you use ODBC Drivers.</p>
<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.

&nbsp;

<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" />
<table style="valign: top;">
<tbody>
<tr>
<td>
<p style="text-align: center;"><strong>BI / Reporting Tools
Integration</strong></p>
</td>
<td style="text-align: center;"><strong>ETL Tools
Integration
</strong></td>
<td style="text-align: center;"><strong>Programming Languages</strong>
<strong>Integration</strong></td>
</tr>
<tr>
<td>
<ul>
 	<li><a href="https://zappysys.com/blog/howto-import-json-rest-api-power-bi/" target="_blank" rel="noopener">Microsoft Power BI</a></li>
 	<li><a href="https://zappysys.com/blog/import-rest-api-tableau-read-json-soap-xml-csv/">Tableau</a></li>
 	<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>
 	<li><a href="https://zappysys.com/blog/qlik-rest-connector-examples-read-json-xml-api/" target="_blank" rel="noopener">QlikView /Qlik Sense</a></li>
 	<li><a href="https://zappysys.com/blog/call-rest-api-in-microstrategy-json-soap-xml/" target="_blank" rel="noopener">MicroStrategy</a></li>
 	<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>
 	<li><a href="https://zappysys.com/blog/import-json-excel-load-file-rest-api/" target="_blank" rel="noopener">Microsoft Excel</a></li>
 	<li><a href="https://zappysys.com/api/integration-hub/rest-api-connector/access?context=connector" target="_blank" rel="noopener">Microsoft Access</a></li>
 	<li>Oracle OBIEE</li>
 	<li>Many more (not in this list).....</li>
</ul>
</td>
<td>
<ul>
 	<li><a href="https://zappysys.com/blog/read-json-informatica-import-rest-api-json-file/" target="_blank" rel="noopener">Informatica PowerCenter</a> (Windows)</li>
 	<li>Informatica Cloud</li>
 	<li>SSIS (SQL Integration Services)</li>
 	<li><a href="https://zappysys.com/blog/import-rest-api-json-sql-server/" target="_blank" rel="noopener">SQL Server</a></li>
 	<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>
 	<li><a href="https://zappysys.com/blog/pentaho-read-rest-api-in-pentaho/" target="_blank" rel="noopener">Pentaho Kettle</a></li>
 	<li>Oracle OBIEE</li>
 	<li>Many more (not in this list).....</li>
</ul>
</td>
<td>
<ul>
 	<li>Visual Studio</li>
 	<li><a href="https://zappysys.com/blog/calling-rest-api-in-c/" target="_blank" rel="noopener">C#</a></li>
 	<li>C++</li>
 	<li><a href="https://zappysys.com/blog/connect-java-to-rest-api-json-soap-xml/" target="_blank" rel="noopener">JAVA</a></li>
 	<li><a href="https://zappysys.com/blog/set-rest-python-client/" target="_blank" rel="noopener">Python</a></li>
 	<li>PHP</li>
 	<li><a href="https://zappysys.com/blog/call-rest-api-powershell-script-export-json-csv/" target="_blank" rel="noopener">PowerShell</a></li>
 	<li><a href="https://zappysys.com/blog/import-rest-api-json-sql-server/" target="_blank" rel="noopener">T-SQL (Using Linked Server)</a></li>
</ul>
</td>
</tr>
</tbody>
</table>
&nbsp;</div>
<h2><span id="Step-by-Step_Import_REST_API_into_Power_BI">Conclusion</span></h2>
<p>So in this blog, we learned how to generate a PayPal API Token, Load PayPal data in MS SQL Server table using <a href="https://zappysys.com/products/odbc-powerpack/odbc-json-rest-api-driver/" target="_blank" rel="noopener">ODBC JSON / REST API Driver</a> in a very simple way. You can achieve many more functionalities with this tool. Check our blogs/articles on <a href="https://zappysys.com/blog/category/odbc-powerpack/odbc-drivers/json-rest-api-driver/" target="_blank" rel="noopener"><strong>JSON / REST API Driver</strong></a> to find out what <em>this tool</em> is capable of more.</p>
<h2><span id="References">References</span></h2>
<p>Finally, you can use the following links for more information about the use of PayPal API with our tools:</p>
<ul>
<li><strong>Landing Page</strong> for <a href="https://zappysys.com/products/odbc-powerpack/odbc-json-rest-api-driver/" target="_blank" rel="noopener">ODBC JSON / REST API Driver</a>, you can also find <a href="https://youtu.be/iwezz0Z3D4U" target="_blank" rel="noopener">Tutorial Video</a> here.</li>
<li><strong>Help File:</strong> Documentation of <a href="https://zappysys.com/onlinehelp/odbc-powerpack/index.htm#page=json-odbc-driver-intro.htm" target="_blank" rel="noopener">JSON Driver</a>.</li>
<li><a href="https://developer.paypal.com/docs/api/overview/" target="_blank" rel="noopener">PayPal API</a></li>
</ul>
<p>The post <a href="https://zappysys.com/blog/make-paypal-api-call-odbc-sql-server/">How to Make PayPal API Call in ODBC / SQL Server (T-SQL)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Import SAP S/4HANA OData Service Data Into Sql Server via ODBC Driver</title>
		<link>https://zappysys.com/blog/import-sap-s-4hana-odata-service-sql-server/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Sat, 20 Jul 2019 10:01:04 +0000</pubDate>
				<category><![CDATA[ODBC Gateway]]></category>
		<category><![CDATA[T-SQL (SQL Server)]]></category>
		<category><![CDATA[XML File / SOAP API Driver]]></category>
		<category><![CDATA[hana]]></category>
		<category><![CDATA[odbc]]></category>
		<category><![CDATA[s/4hana]]></category>
		<category><![CDATA[sap]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=7490</guid>

					<description><![CDATA[<p>Introduction In our previous blog we saw how to read JIRA data in SQL Server. Now let’s learn how to Import SAP S/4HANA OData Service Data Into Sql Server. SAP S/4HANA provides OData REST API interface to access data in your application using HTTP Protocol. We will use ODBC XML Driver to read SAP data and load [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/import-sap-s-4hana-odata-service-sql-server/">Import SAP S/4HANA OData Service Data Into Sql Server via ODBC Driver</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><span id="Introduction">Introduction</span></h2>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2019/07/SAP_S4HANA.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="alignleft wp-image-7491 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/07/SAP_S4HANA.png" alt="SAP S/4HANA" width="150" height="150" /></a></p>
<p>In our previous blog we saw how to <a href="https://zappysys.com/blog/load-jira-data-sql-server-odbc-call-rest-api/" target="_blank" rel="noopener">read JIRA data in SQL Server</a>. Now let’s learn how to Import SAP S/4HANA OData Service Data Into Sql Server. SAP S/4HANA provides OData REST API interface to access data in your application using HTTP Protocol. We will use <a href="https://zappysys.com/products/odbc-powerpack/odbc-xml-soap-api-driver/" target="_blank" rel="noopener">ODBC XML Driver</a> to read SAP data and load into SQL Server.</p>
<p>So, let’s get started.</p>
<div id="custom_post_widget-2523" class="content_block">
<h2></h2>
<h2></h2>
<h2><span id="Requirements">Requirements</span></h2>
<ol>
<li>A first requirement will be to SQL Server Database Engine Installed</li>
<li>The second requirement will be SSMS installed</li>
<li>Finally, make sure to have <a href="https://zappysys.com/products/odbc-powerpack/" target="_blank" rel="noopener">ZappySys ODBC PowerPack</a> installed.</li>
</ol>
</div>
<h2><span id="About_SAP_HANA_OData_REST_API_Service">About SAP HANA / OData REST API Service</span></h2>
<p>You can expose your SAP Data using ODATA REST API Service. Here is a <a href="https://www.erpworkbench.com/sap-webapps/segw-odata-gateway-service.htm" target="_blank" rel="noopener">good article</a> which shows how to expose data as OData Service.   For more information on SAP OData Service feature check this <a href="https://help.sap.com/doc/05d53b2d3bbb43d2ab5efa23829b2777/1610%20001/en-US/frameset.htm?ecaeea50ca692309e10000000a445394.html" target="_blank" rel="noopener">SAP help page</a>. If you are new to OData Standard then <a href="https://www.odata.org/getting-started/basic-tutorial/" target="_blank" rel="noopener">read here</a> to know more how OData can facilitate data extraction using HTTP REST API. If you need Sample XML based OData Service then use below test URLs.</p><pre class="crayon-plain-tag">https://services.odata.org/Northwind/Northwind.svc/
https://services.odata.org/Northwind/Northwind.svc/Customers
https://services.odata.org/Northwind/Northwind.svc/Orders
https://services.odata.org/Northwind/Northwind.svc/Invoices
https://services.odata.org/Northwind/Northwind.svc/Products</pre><p>
Now let’s look at how to read SAP Data using ODBC Driver. At this point we assume you have exposed your data as OData Endpoint.</p>
<h2><span id="Read_SAP_HANA_data_using_XML_Source">Read SAP S/4HANA data using XML Driver</span></h2>
<p>First let’s look at steps to configure XML Driver. We will read data from SAP S/4HANA OData Service and then in next section we will look at how to load data into SQL Server or other target.</p>
<ol>
<li>To do this, first of all, we will open the ZappySys Data Gateway Configuration:
<div id="attachment_5283" style="width: 410px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5283" class="wp-image-5283 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway.png" alt="Open ZappySys Data Gateway" width="400" height="315" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway.png 400w, https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway-300x236.png 300w" sizes="(max-width: 400px) 100vw, 400px" /></a><p id="caption-attachment-5283" class="wp-caption-text">Open ZappySys Data Gateway</p></div></li>
<li>Add the Native &#8211; ZappySys XML Driver Data source.
<div id="attachment_5284" style="width: 568px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-data-source.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5284" class="wp-image-5284 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-data-source.png" alt="Add Gateway Data Source" width="558" height="533" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-data-source.png 558w, https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-data-source-300x287.png 300w" sizes="(max-width: 558px) 100vw, 558px" /></a><p id="caption-attachment-5284" class="wp-caption-text">Add Gateway Data Source</p></div></li>
<li>Now edit that XML data source to configure it. Enter your OData Service URL its typically like below. Replace 3 parts with your own value (i.e. replace {MY-INSTANCE},  {MY-PROJECT}, {MY-TABLE})<br />
<pre class="crayon-plain-tag">https://{MY-INSTANCE}/sap/opu/odata/sap/{MY-PROJECT}/{MY-TABLE}</pre>
For example if you are hosting SAP HANA in Cloud Instance then your URL may look like below<br />
<pre class="crayon-plain-tag">https://myXXXXXX-api.s4hana.ondemand.com/sap/opu/odata/sap/MyTestProject/PurchaseOrders</pre>
And create New ZS-HTTP connection in it select <a href="https://zappysys.com/blog/how-to-set-base64-encoded-authorization-header-for-http-web-request/" target="_blank" rel="noopener">Basic Authentication</a> and enter your SAP HANA UserID / Password to call OData Service and select the desire filter.</p>
<div id="attachment_7497" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/07/odbc-xml-driver-sap-hana-odata-service.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7497" class="wp-image-7497 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2019/07/odbc-xml-driver-sap-hana-odata-service-768x537.png" alt="XML Driver : SAP S/4HANA OData Service Configuration" width="720" height="503" srcset="https://zappysys.com/blog/wp-content/uploads/2019/07/odbc-xml-driver-sap-hana-odata-service-768x537.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/07/odbc-xml-driver-sap-hana-odata-service-300x210.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/07/odbc-xml-driver-sap-hana-odata-service.png 1019w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-7497" class="wp-caption-text">XML Driver : SAP S/4HANA OData Service Configuration</p></div></li>
<li>Now go to Data Format / Compression (Zip/GZip) tab and select Data Format as OData to get all the records.
<div id="attachment_7498" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/07/odbc-driver-select-odata-data-format.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7498" class="wp-image-7498 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2019/07/odbc-driver-select-odata-data-format-768x446.png" alt="Data Format : Odata" width="720" height="418" srcset="https://zappysys.com/blog/wp-content/uploads/2019/07/odbc-driver-select-odata-data-format-768x446.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/07/odbc-driver-select-odata-data-format-300x174.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/07/odbc-driver-select-odata-data-format.png 792w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-7498" class="wp-caption-text">Data Format : Odata</p></div></li>
<li>Finally, now using Query Builder and Code Generator we will generate the query.
<div id="attachment_6416" style="width: 766px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-json-driver-generate-quickbooks-query.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6416" class="wp-image-6416 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-json-driver-generate-quickbooks-query.png" alt="odbc-json-driver-generate-quickbooks-query" width="756" height="432" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-json-driver-generate-quickbooks-query.png 756w, https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-json-driver-generate-quickbooks-query-300x171.png 300w" sizes="(max-width: 756px) 100vw, 756px" /></a><p id="caption-attachment-6416" class="wp-caption-text">Generate Query</p></div></li>
<li>That’s it we are ready to load SAP S/4HANA OData Service data to SQL Server.</li>
</ol>
<h2>Load SAP S/4HANA OData Service in MS SQL Server</h2>
<div class="content_block" id="custom_post_widget-6457">Once you configured the data source in Gateway, we can now setup Linked Server in SQL Server to query API data.
<ol style="margin-left: 10px;">
 	<li>Assuming you have installed SQL Server and SSMS. If not then get both for FREE from here: <a href="https://www.microsoft.com/en-us/sql-server/sql-server-editions-express" target="_blank" rel="noopener">Get SQL Server Express</a> and  <a href="https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms" target="_blank" rel="noopener">Get SSMS</a></li>
 	<li>Open SSMS and connect to SQL Server.</li>
 	<li>Go to Root &gt; Server Objects &gt; Linked Servers node. Right click and click <strong>New Linked Server...</strong>
<div class="wp-caption alignnone">

<a href="https://i1.wp.com/zappysys.com/blog/wp-content/uploads/2018/03/create-new-linked-server-ssms.png?ssl=1" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://i1.wp.com/zappysys.com/blog/wp-content/uploads/2018/03/create-new-linked-server-ssms.png?w=720&amp;ssl=1" alt="Add Linked Server in SQL Server" width="420" height="262" /></a>
<p class="wp-caption-text">Add Linked Server in SQL Server</p>

</div></li>
 	<li> Now enter the linked server name, select Provider as SQL Native Client</li>
 	<li>Enter data source as <strong><span class="lang:default decode:true crayon-inline">GatewayServerName, PORT_NUMBER</span></strong> where server name is where ZappySys Gateway is running (Can be same as SQL Server machine or remote machine). Default PORT_NUMBER is 5000 but confirm on Data gateway &gt; General tab in case its different.</li>
 	<li>Enter Catalog Name. This must match name from Data gateway Data sources grid &gt; Name column
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/ssms-sql-server-configure-linked-server-2.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/11/ssms-sql-server-configure-linked-server-2.png" alt="Configure Linked Server Provider, Catalog, Server, Port for ZappySys Data Gateway Connection" />
</a>
<p class="wp-caption-text">Configure Linked Server Provider, Catalog, Server, Port for ZappySys Data Gateway Connection</p>
</div>
<div style="color: #31708f;background-color: #d9edf7;border-color: #bce8f1;padding: 15px;margin-bottom: 20px;border: 1px solid transparent;border-radius: 4px;">
<strong>INFO:</strong><br/>
<ul>
    <li>
      For <strong>SQL Server 2012, 2014, 2016, 2017, and 2019</strong>, use the <em>SQL Server Native Client 11.0</em> as the Provider.
    </li>
    <li>
      For <strong>SQL Server 2022 or higher</strong>, use the <em>Microsoft OLE DB Driver for SQL Server</em> as the Provider.
    </li>
  </ul>
</div></li>
 	<li>Click on Security Tab and select last option "<strong>Be made using this security context</strong>". Enter your gateway user account here.</li>
<li>
        <p>Optional: Under the Server Options Tab, Enable <b>RPC</b> and <b>RPC Out</b> and Disable Promotion of Distributed Transactions<b>(MSDTC)</b>.</p>
		<div class="wp-caption alignnone">
			<img decoding="async" class="block margin-bottom-10 img-thumbnail" src="https://zappysys.com/blog/wp-content/uploads/2018/11/linked-server-options-rpc-msdtc.png" title="RPC and MSDTC Settings" alt="RPC and MSDTC Settings" />
			<p class="wp-caption-text">RPC and MSDTC Settings</p>
		</div>
        <hr />
        <p>
            You need to enable RPC Out if you plan to use <b><i>EXEC(...) AT [MY_LINKED_SERVER_NAME]</i></b> rather than OPENQUERY.
            <br />
            If don't enabled it, you will encounter the <i>'Server "MY_LINKED_SERVER_NAME" is not configured for RPC'</i> error.
        </p>
        <p>
            Query Example:
            <code class="sql">EXEC('Select * from Products') AT [MY_LINKED_SERVER_NAME]</code>
        </p>
        <hr />
        <p>
            If you plan to use <b><i>'INSERT INTO...EXEC(....) AT [MY_LINKED_SERVER_NAME]'</i></b> in that case you need to Disable Promotion of Distributed Transactions(MSDTC).
            <br />
            If don't disabled it, you will encounter the <i>'The operation could not be performed because OLE DB provider "SQLNCLI11/MSOLEDBSQL" for linked server "MY_LINKED_SERVER_NAME" was unable to begin a distributed transaction.'</i> error.
        </p>
        <p>
            Query Example:
<pre class="">Insert Into dbo.Products 
EXEC('Select * from Products') AT [MY_LINKED_SERVER_NAME]</pre>
        </p>
        <hr />
</li>
 	<li>Click OK to save Linked Server</li>
 	<li>In SSMS execute below SQL query to test your connectivity.
<pre class="">SELECT * FROM OPENQUERY( MY_LINKED_SERVER_NAME, 'SELECT * FROM $')</pre>
</li>
 	<li>Here is the preview after you run some REST API query in SQL Server. Notice that you can override default configuration by supplying <a href="https://zappysys.com/onlinehelp/odbc-powerpack/scr/json-odbc-driver-connectionstring.htm" target="_blank" rel="noopener">many parameters</a> in WITH clause (second query example in the screenshot).
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc_json_driver__api_query_data_in_mssqlserver.png" target="_blank" rel="noopener">
<img loading="lazy" decoding="async" width="750" height="354" class="wp-image-6455 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc_json_driver__api_query_data_in_mssqlserver.png" alt="odbc_json_driver_api_query_data_in_mssqlserver" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc_json_driver__api_query_data_in_mssqlserver.png 750w, https://zappysys.com/blog/wp-content/uploads/2019/01/odbc_json_driver__api_query_data_in_mssqlserver-300x142.png 300w" sizes="(max-width: 750px) 100vw, 750px" />
</a>
<p class="wp-caption-text">SSMS Output - Query REST API via Linked Server OPENQUERY statement (Connect to ZappySys Data Gateway)</p>

</div></li>
 	<li>You can wrap your queries inside View or wrap inside Stored procedure to parameterize. Here is an example of creating the view which calls REST API queries.
<pre class="lang:tsql decode:true">CREATE VIEW dbo.vw_MyAPICall_View 
AS 
/*Call REST API inside SQL Server View*/
SELECT * FROM OPENQUERY( MY_LINKED_SERVER_NAME , 'SELECT * FROM $');

GO
</pre>
</li>
 	<li>Notice in above approach if you parameterize Stored Procedure then <a href="https://zappysys.com/blog/create-csv-list-sql-server-table-columns-datatypes/" target="_blank" rel="noopener">check this article to understand Dynamic Metadata</a>.</li>
 	<li>Now let's insert API data into the new data table "tblMyAPiData" in the SQL server database. For that, we need to execute below SQL query.
<pre class="lang:tsql decode:true ">Select * into tblMyAPiData FROM OPENQUERY( MY_LINKED_SERVER_NAME , 'SELECT * FROM $')</pre>
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2019/02/odbc_json_driver_insert_data_in_sql.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" width="681" height="571" class="wp-image-6469 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/02/odbc_json_driver_insert_data_in_sql.png" alt="odbc_json_driver_insert_data_in_sql" srcset="https://zappysys.com/blog/wp-content/uploads/2019/02/odbc_json_driver_insert_data_in_sql.png 681w, https://zappysys.com/blog/wp-content/uploads/2019/02/odbc_json_driver_insert_data_in_sql-300x252.png 300w" sizes="(max-width: 681px) 100vw, 681px" /></a>
<p class="wp-caption-text">Insert data into the new table</p>

</div></li>
 	<li>Let's insert and update records into the already created table <span class="lang:default decode:true crayon-inline">"tblMyAPiData"</span>
<ul>
 	<li>To do that first we need to insert the new API data into the <span class="lang:default decode:true crayon-inline">"#temp_tblMyAPiData"</span> temporary database table.</li>
 	<li>Now let's delete the old records from the database table which are updated.</li>
 	<li>At the last insert all new API data into the database table.</li>
 	<li>To do that, we need to query like below SQL queries.</li>
</ul>
<pre class="lang:default decode:true">SELECT * into #temp_tblMyAPiData FROM OPENQUERY(MY_LINKED_SERVER_NAME, 'SELECT * FROM $')

DELETE FROM [dbo].[tblMyAPiData] WHERE id in (SELECT id FROM #temp_tblMyAPiData)

INSERT INTO tblMyAPiData
SELECT * FROM #temp_tblMyAPiData</pre>
&nbsp;</li>
 	<li>In the upper step, we see how to insert and update new records. Now if you want to update particular fields records only then you need to query like this.
<pre class="lang:default decode:true">Update dbtbl_1
set dbtbl_1.field1 = dbtbl_2.field1,
    dbtbl_1.field2 = dbtbl_2.field2
FROM tblMyAPiData dbtbl_1
JOIN (SELECT * FROM OPENQUERY(MY_LINKED_SERVER_NAME, 'SELECT * FROM $')) dbtbl_2 on dbtbl_1.id=dbtbl_2.id</pre>
<div class="su-note-inner su-clearfix" style="background-color: #fff4b7;border-color: #fffdf1;color: #333333">
<blockquote>*NOTE: If you are getting error like : "<strong>Cannot resolve the collation conflict between “Latin1_General_CI_AI” and “SQL_Latin1_General_CP1_CI_AS” in the equal to operation</strong>" then you need to query like this :
<pre class="lang:default decode:true">Update dbtbl_1
set dbtbl_1.field1 = dbtbl_2.field1,
    dbtbl_1.field2 = dbtbl_2.field2
FROM tblMyAPiData dbtbl_1
JOIN (SELECT * FROM OPENQUERY(MY_LINKED_SERVER_NAME, 'SELECT * FROM $')) dbtbl_2 
on dbtbl_1.id=dbtbl_2.id 
<strong>COLLATE SQL_Latin1_General_CP1_CI_AS</strong></pre>
&nbsp;</blockquote>
</div></li>
</ol></div>
<h2>SAP S/4HANA Integration with Other BI Tools (Power BI, Excel, SSRS, MS Access&#8230;)</h2>
<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.

&nbsp;

<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" />
<table style="valign: top;">
<tbody>
<tr>
<td>
<p style="text-align: center;"><strong>BI / Reporting Tools
Integration</strong></p>
</td>
<td style="text-align: center;"><strong>ETL Tools
Integration
</strong></td>
<td style="text-align: center;"><strong>Programming Languages</strong>
<strong>Integration</strong></td>
</tr>
<tr>
<td>
<ul>
 	<li><a href="https://zappysys.com/blog/howto-import-json-rest-api-power-bi/" target="_blank" rel="noopener">Microsoft Power BI</a></li>
 	<li><a href="https://zappysys.com/blog/import-rest-api-tableau-read-json-soap-xml-csv/">Tableau</a></li>
 	<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>
 	<li><a href="https://zappysys.com/blog/qlik-rest-connector-examples-read-json-xml-api/" target="_blank" rel="noopener">QlikView /Qlik Sense</a></li>
 	<li><a href="https://zappysys.com/blog/call-rest-api-in-microstrategy-json-soap-xml/" target="_blank" rel="noopener">MicroStrategy</a></li>
 	<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>
 	<li><a href="https://zappysys.com/blog/import-json-excel-load-file-rest-api/" target="_blank" rel="noopener">Microsoft Excel</a></li>
 	<li><a href="https://zappysys.com/api/integration-hub/rest-api-connector/access?context=connector" target="_blank" rel="noopener">Microsoft Access</a></li>
 	<li>Oracle OBIEE</li>
 	<li>Many more (not in this list).....</li>
</ul>
</td>
<td>
<ul>
 	<li><a href="https://zappysys.com/blog/read-json-informatica-import-rest-api-json-file/" target="_blank" rel="noopener">Informatica PowerCenter</a> (Windows)</li>
 	<li>Informatica Cloud</li>
 	<li>SSIS (SQL Integration Services)</li>
 	<li><a href="https://zappysys.com/blog/import-rest-api-json-sql-server/" target="_blank" rel="noopener">SQL Server</a></li>
 	<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>
 	<li><a href="https://zappysys.com/blog/pentaho-read-rest-api-in-pentaho/" target="_blank" rel="noopener">Pentaho Kettle</a></li>
 	<li>Oracle OBIEE</li>
 	<li>Many more (not in this list).....</li>
</ul>
</td>
<td>
<ul>
 	<li>Visual Studio</li>
 	<li><a href="https://zappysys.com/blog/calling-rest-api-in-c/" target="_blank" rel="noopener">C#</a></li>
 	<li>C++</li>
 	<li><a href="https://zappysys.com/blog/connect-java-to-rest-api-json-soap-xml/" target="_blank" rel="noopener">JAVA</a></li>
 	<li><a href="https://zappysys.com/blog/set-rest-python-client/" target="_blank" rel="noopener">Python</a></li>
 	<li>PHP</li>
 	<li><a href="https://zappysys.com/blog/call-rest-api-powershell-script-export-json-csv/" target="_blank" rel="noopener">PowerShell</a></li>
 	<li><a href="https://zappysys.com/blog/import-rest-api-json-sql-server/" target="_blank" rel="noopener">T-SQL (Using Linked Server)</a></li>
</ul>
</td>
</tr>
</tbody>
</table>
&nbsp;</div>
<h2><span id="Step-by-Step_Import_REST_API_into_Power_BI">Conclusion</span></h2>
<p>So in this blog, we learned how to Import SAP S/4HANA OData Service Data in MS SQL Server using <a href="https://zappysys.com/products/odbc-powerpack/odbc-xml-soap-api-driver/" target="_blank" rel="noopener">ODBC XML / SOAP API Driver</a> in a very simple way. You can achieve many more functionalities with this tool. Check our blogs/articles on <strong>XML File / REST API Driver </strong><a href="https://zappysys.com/blog/category/odbc-powerpack/odbc-drivers/xml-soap-api-driver/">https://zappysys.com/blog/category/odbc-powerpack/odbc-drivers/xml-soap-api-driver/</a> to find out what <em>this tool</em> is capable of more.</p>
<h2><span id="References">References</span></h2>
<p>Finally, you can use the following links for more information about the use of SAP S/4HANA OData Service with our tools:</p>
<ul>
<li><a href="https://api.sap.com/" target="_blank" rel="noopener">SAP API Business Hub</a></li>
<li><strong>Landing Page</strong> for <a href="https://zappysys.com/products/odbc-powerpack/odbc-xml-soap-api-driver/" target="_blank" rel="noopener">ODBC XML / SOAP API Driver</a>, you can also find <a href="https://youtu.be/iwezz0Z3D4U" target="_blank" rel="noopener">Tutorial Video</a> here.</li>
<li><strong>Help File:</strong> Documentation of <a href="https://zappysys.com/onlinehelp/odbc-powerpack/index.htm#page=xml-odbc-driver-intro.htm" target="_blank" rel="noopener">XML Driver</a>.</li>
<li><strong>Blog/articles link</strong>: <a href="https://zappysys.com/blog/category/odbc-powerpack/odbc-drivers/xml-soap-api-driver/" target="_blank" rel="noopener">https://zappysys.com/blog/category/odbc-powerpack/odbc-drivers/xml-soap-api-driver/</a></li>
</ul>
<p>The post <a href="https://zappysys.com/blog/import-sap-s-4hana-odata-service-sql-server/">Import SAP S/4HANA OData Service Data Into Sql Server via ODBC Driver</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Export REST API to MS Access using VBA Command Button</title>
		<link>https://zappysys.com/blog/export-rest-api-ms-access-using-vba-command-button/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Sat, 29 Jun 2019 09:34:55 +0000</pubDate>
				<category><![CDATA[JSON File / REST API Driver]]></category>
		<category><![CDATA[Reporting - Microsoft Access]]></category>
		<category><![CDATA[REST API]]></category>
		<category><![CDATA[command button]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[odbc]]></category>
		<category><![CDATA[vba]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=7317</guid>

					<description><![CDATA[<p>Introduction In our previous blog we saw how to export REST API to CSV using c# or Python. In this post we will look at specific example on How to Export REST API to MS Access using VBA Command Button, along with few other topics such as how to make REST API Call, how to [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/export-rest-api-ms-access-using-vba-command-button/">How to Export REST API to MS Access using VBA Command Button</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><span id="Introduction">Introduction</span></h2>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/VBA_250x250.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="alignleft wp-image-7318 size-thumbnail" src="https://zappysys.com/blog/wp-content/uploads/2019/06/VBA_250x250-150x150.png" alt="VBA" width="150" height="150" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/VBA_250x250-150x150.png 150w, https://zappysys.com/blog/wp-content/uploads/2019/06/VBA_250x250.png 250w" sizes="(max-width: 150px) 100vw, 150px" /></a>In our previous blog we saw how to <a href="https://zappysys.com/blog/how-to-export-rest-api-to-csv/" target="_blank" rel="noopener">export REST API to CSV using c# or Python</a>. In this post we will look at specific example on <strong>How to Export REST API to MS Access using VBA Command Button</strong>, along with few other topics such as how to make <strong>REST API Call</strong>, how to read all Customers data from Odata using our ODBC JSON Driver and load it into the Ms Access Table.</p>
<p>We will go through the steps to read data from Odata and Load into MS Access using VBA Command Button.</p>
<p>In nutshell, this post will focus on how to make ODBC Driver Call using VBA.</p>
<p>So let’s get started.</p>
<h2><span id="Requirements">Requirements</span></h2>
<ol>
<li>First of all, you will need <a href="https://zappysys.com/products/odbc-powerpack/download/" target="_blank" rel="noopener">ZappySys ODBC PowerPack</a> installed.</li>
<li>Secondly, Make sure that Microsoft Access installed for VBA example.</li>
</ol>
<h2><span id="An_introduction_to_Rest_API_and_OData">An introduction to Rest API and OData</span></h2>
<p>In this example, we will use OData (Open Data Protocol) to consume REST API. REST API (Representational State Transfer Application Program Interface) allows handling the interoperability between computers and the internet.</p>
<p>In REST API we can handle web services in different formats. In this example, we will work with the Northwind example. The Northwind example is available in this URL:</p>
<div id="crayon-5bc180f1dd015720033381" class="crayon-syntax crayon-theme-vs2012 crayon-font-courier-new crayon-os-pc print-yes notranslate">
<div class="crayon-main">
<pre class="crayon-plain-tag">https://services.odata.org/V3/Northwind/Northwind.svc</pre>
</div>
</div>
<ol>
<li>By default, the data is displayed in XML format. To show the data in JSON use this URL:<br />
<pre class="crayon-plain-tag">https://services.odata.org/V3/Northwind/Northwind.svc/?$format=json</pre>
</li>
<li>There are collections of data like Categories, CustomerDemographic, Customers, Invoices, etc. For example, the following URL will show the data of the categories collection:<br />
<pre class="crayon-plain-tag">https://services.odata.org/V3/Northwind/Northwind.svc/Customers?$format=json</pre>
</li>
<li>In the next steps, we will use ZappySys drivers to connect to this URL and query using OData.</li>
</ol>
<h2><span id="Configure_ODBC_DSN_for_ZappySys_JSON_Driver">Configure ODBC DSN for ZappySys JSON Driver</span></h2>
<p>ODBC driver can be accessed in two modes.</p>
<ol>
<li>Using DSN</li>
<li>Without DSN (Supply direct Connection String e.g. <strong>DRIVER={ZappySys JSON Driver}; ……..</strong> )</li>
</ol>
<p>In this article, we will use the DSN approach (User DSN). We will first add the ZappySys JSON Driver in the ODBC Data Source Administrator.</p>
<p>Follow these steps to accomplish the task:</p>
<ol>
<li>First, <strong>Windows search</strong>, write <strong>ODBC</strong> and select the <strong>ODBC Data sources (32 bits)</strong>
<div id="attachment_2780" class="wp-caption aligncenter">
<div id="attachment_2780" style="width: 395px" class="wp-caption aligncenter"><a href="https://i1.wp.com/zappysys.com/blog/wp-content/uploads/2018/03/open-ODBC-Data-souce-administrator.png?ssl=1" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2780" class="wp-image-2780 size-full" src="https://i1.wp.com/zappysys.com/blog/wp-content/uploads/2018/03/open-ODBC-Data-souce-administrator.png?zoom=0.8999999761581421&amp;resize=385%2C520&amp;ssl=1" alt="Open ODBC Data source" width="385" height="520" /></a><p id="caption-attachment-2780" class="wp-caption-text">Open ODBC Data Source</p></div>
</div>
</li>
<li>As a second step, in ODBC Data source Administrator press the <strong>Add</strong> button.
<div id="attachment_2725" class="wp-caption aligncenter">
<div id="attachment_2725" style="width: 600px" class="wp-caption aligncenter"><a href="https://i1.wp.com/zappysys.com/blog/wp-content/uploads/2018/03/add-ZappySys.png?ssl=1" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2725" class="wp-image-2725 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/03/add-ZappySys.png" alt="Add ZappySys" width="590" height="423" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/add-ZappySys.png 590w, https://zappysys.com/blog/wp-content/uploads/2018/03/add-ZappySys-300x215.png 300w" sizes="(max-width: 590px) 100vw, 590px" /></a><p id="caption-attachment-2725" class="wp-caption-text">Add ZappySys</p></div>
</div>
</li>
<li>In this step, create the new data source, select <strong>ZappySys JSON Driver.</strong>
<div id="attachment_2772" class="wp-caption aligncenter">
<div id="attachment_2772" style="width: 302px" class="wp-caption aligncenter"><a href="https://i1.wp.com/zappysys.com/blog/wp-content/uploads/2018/03/create-new-data-source-zappysys-json-driver.png?ssl=1" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2772" class="wp-image-2772 size-medium" src="https://i1.wp.com/zappysys.com/blog/wp-content/uploads/2018/03/create-new-data-source-zappysys-json-driver.png?zoom=0.8999999761581421&amp;resize=292%2C218&amp;ssl=1" alt="add new zappysys" width="292" height="217" /></a><p id="caption-attachment-2772" class="wp-caption-text">Add new zappysys json driver</p></div>
</div>
</li>
<li>Here we have several properties, write a data source name. In this example, the name will be ZappySys JSON to Excel.</li>
<li>The Data Source (URL or file path) can specify the URL of the source or if it is a local file, you can specify the local path. In this example, the URL is:<br />
<pre class="crayon-plain-tag">https://services.odata.org/V3/Northwind/Northwind.svc/Customers?$format=json</pre>
You can also specify a local file path as Data SourceFor a single file:  c:\data\myfile_1.json<br />
For multiple files: c:\data\myfile_*.json</li>
<li>Configure the ODBC JSON Driver like this and test the connection:
<div id="attachment_7321" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/10/odbc-JSON-driver-odata-configuration.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7321" class="wp-image-7321 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2018/10/odbc-JSON-driver-odata-configuration-768x698.png" alt="Configure JSON Driver for REST API Call" width="720" height="654" srcset="https://zappysys.com/blog/wp-content/uploads/2018/10/odbc-JSON-driver-odata-configuration-768x698.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/10/odbc-JSON-driver-odata-configuration-300x273.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/10/odbc-JSON-driver-odata-configuration.png 849w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-7321" class="wp-caption-text">Configure JSON Driver for REST API Call</p></div></li>
<li>Now click on Copy Connection string Button.
<div id="attachment_7322" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-driver-copy-connection-string.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7322" class="wp-image-7322 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-driver-copy-connection-string-768x672.png" alt="ODBC Driver : Copy Connection String" width="720" height="630" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-driver-copy-connection-string-768x672.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-driver-copy-connection-string-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-driver-copy-connection-string.png 802w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-7322" class="wp-caption-text">ODBC Driver : Copy Connection String</p></div></li>
<li>That&#8217;s it Connection string is copied to clipboard. Now let&#8217;s use this connection string in the VBA code.</li>
</ol>
<h2><span id="How_to_import_REST_API_data_to_Excel">How to import REST API data to Access using VBA</span></h2>
<ol>
<li>Open the access database and create the table with the desire columns to get API data in it.
<div id="attachment_7324" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-create-table-in-access.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7324" class="wp-image-7324 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-create-table-in-access-768x511.png" alt="Create Table in Access" width="720" height="479" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-create-table-in-access-768x511.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-create-table-in-access-300x200.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-create-table-in-access-1024x682.png 1024w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-create-table-in-access-272x182.png 272w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-create-table-in-access.png 1546w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-7324" class="wp-caption-text">Create Table in Access</p></div></li>
<li>Now close the table, and go to Create menu and click on Form Design to add the new blank form in design view.
<div id="attachment_7325" style="width: 642px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-create-form-desing-access.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7325" class="wp-image-7325 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-create-form-desing-access.png" alt="Access : Create a New Form in Design View" width="632" height="402" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-create-form-desing-access.png 632w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-create-form-desing-access-300x191.png 300w" sizes="(max-width: 632px) 100vw, 632px" /></a><p id="caption-attachment-7325" class="wp-caption-text">Access : Create a New Form in Design View</p></div></li>
<li>It will open the new form in the design view, now add new button with the desire text.
<div id="attachment_7326" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-add-access-command-button.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7326" class="wp-image-7326 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-add-access-command-button-768x459.png" alt="Access : Add Command Button" width="720" height="430" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-add-access-command-button-768x459.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-add-access-command-button-300x179.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-add-access-command-button-1024x612.png 1024w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-add-access-command-button.png 1215w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-7326" class="wp-caption-text">Access : Add Command Button</p></div></li>
<li>Now right click on button and go to properties and click on &#8230; builder button and select Code Builder.
<div id="attachment_7327" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-select-code-builder-access.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7327" class="wp-image-7327 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-select-code-builder-access-768x529.png" alt="Access : Code builder" width="720" height="496" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-select-code-builder-access-768x529.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-select-code-builder-access-300x207.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-select-code-builder-access.png 934w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-7327" class="wp-caption-text">Access : Code builder</p></div></li>
<li>When you click the button, it will open a new VBA instance, executing the command event associated with that button click.<br />
Next, insert the provided code inside the <i>Command5_Click()</i> function. In this example, the button is named Command5, and that&#8217;s why it&#8217;s added within this click function.<br />
The provided code encompasses the following steps:</p>
<ol>
<li><strong>Ensure the table is closed:</strong><br />
It&#8217;s crucial to close the table beforehand; otherwise, executing the subsequent command may result in an error.</li>
<li><strong>Truncate the table:<br />
</strong>Clear the existing data from the table. If you want to add fresh data each time</li>
<li><strong>Make the API call:<br />
</strong>Utilize the ODBC Driver connection string to initiate an API call.</li>
<li><strong>Insert into the Access table:<br />
</strong>Use the retrieved data from the API call to insert new records into the Access table.</li>
<li><strong>Open the table:<br />
</strong>Reopen the table to inspect the newly inserted data.</li>
</ol>
<pre class="crayon-plain-tag">' Pass your ZappySys Driver Connection String: Refer to below link to learn how to obtain the ZappySys Driver connection string:
    ' https://community.zappysys.com/t/how-to-copy-the-zappysys-driver-connection-string/172
    Dim zsConnStr As String
    zsConnStr = "DRIVER={ZappySys JSON Driver};DataPath='https://services.odata.org/V3/Northwind/Northwind.svc/Customers?$format=json';Filter='$.value[*]';IncludeParentColumns=0;RequestMethod='GET';RequestHeaders='cache-control: no-cache || Accept: */*'"
        
    'ZappySys Driver Query
    Dim zsDriverQuery As String
    zsDriverQuery = "Select * from $"
 
    'MS Access Table Name
    Dim tableName As String
    tableName = "tblCustomers"

    ' 1. Close Table If Open
    CloseTableIfOpen tableName

    ' 2. Truncate Table (Optional): If you want to load fresh data each time, uncomment the line below.
    'TruncateTable tableName

    ' 3. Import Data From API Into Table
    ImportDataFromAPIIntoTable zsConnStr, zsDriverQuery, tableName

    ' 4. Open Table for Viewing (Optional)
    OpenTableForViewing tableName

    ' Show Message after Loading Data Successfully
    MsgBox "Data Loaded Successfully!"</pre>
<div id="attachment_10917" style="width: 744px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/ms-access-vba-button-onclick.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10917" class="size-full wp-image-10917" src="https://zappysys.com/blog/wp-content/uploads/2019/06/ms-access-vba-button-onclick.png" alt="ms-access-vba-button-onclick" width="734" height="809" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/ms-access-vba-button-onclick.png 734w, https://zappysys.com/blog/wp-content/uploads/2019/06/ms-access-vba-button-onclick-272x300.png 272w" sizes="(max-width: 734px) 100vw, 734px" /></a><p id="caption-attachment-10917" class="wp-caption-text">VBA Button OnClick Function</p></div>
<p>&nbsp;</li>
<li>Below the <i>Private Sub Command5_Click()</i> function, please add the necessary functions and procedures as provided below:</p><pre class="crayon-plain-tag">Sub ImportDataFromAPIIntoTable(zsConnStr As String, zsDriverQuery As String, tableName As String)
    Dim dscn As New ADODB.Connection
    dscn.Open zsConnStr

    Dim rs As Object
    Set rs = New ADODB.Recordset
    
    ''ZappySys Driver Query Goes here
    rs.Open zsDriverQuery, dscn

    Dim strQuery As String
    strQuery = ""
    ' Check if the recordset is not empty
    If Not rs.EOF Then
        ' Get the field names
        Dim fieldNames As String
        fieldNames = ""

        For i = 1 To rs.Fields.Count
            fieldNames = fieldNames &amp; rs.Fields(i - 1).Name
            If i &lt; rs.Fields.Count Then
                fieldNames = fieldNames &amp; ","
            End If
        Next i

        ' Generate the INSERT script
        Dim insertScript As String
        ' Iterate through the recordset to get the values
        Do Until rs.EOF
            ' Generate Insert script
            insertScript = "INSERT INTO " &amp; tableName &amp; " (" &amp; fieldNames &amp; ") VALUES"
            insertScript = insertScript &amp; vbCrLf &amp; "("
            For i = 1 To rs.Fields.Count
                ' Assuming all fields are text, you might need to handle different data types appropriately
                
                If IsNull(rs.Fields(i - 1).Value) Then
                    insertScript = insertScript &amp; "''"
                Else
                    insertScript = insertScript &amp; "'" &amp; EscapeSingleQuote(rs.Fields(i - 1).Value) &amp; "'"
                End If
                
                
                If i &lt; rs.Fields.Count Then
                    insertScript = insertScript &amp; ","
                End If
            Next i
            insertScript = insertScript &amp; ")"
            
            'Insert data
            CurrentProject.Connection.Execute insertScript
            
            rs.MoveNext
        Loop
    End If
    
    ' Close the recordset and connection
    rs.Close
    dscn.Close
    Set rs = Nothing
    Set conn = Nothing
    
End Sub

Sub OpenTableForViewing(tableName As String)
    If Not IsTableOpen(tableName) Then
        DoCmd.OpenTable tableName
    End If
End Sub

Public Function IsTableOpen(strName As String) As Boolean
     IsTableOpen = SysCmd(acSysCmdGetObjectState, acTable, strName)
End Function

Sub CloseTableIfOpen(tableName As String)
    If IsTableOpen(tableName) Then
        DoCmd.SelectObject acTable, tableName
        DoCmd.RunCommand acCmdSaveRecord
        DoCmd.Close
    End If
End Sub


Sub TruncateTable(tableName As String)
    Dim strSql As String
    strSql = "DELETE FROM " &amp; tableName &amp; ";"
    CurrentProject.Connection.Execute strSql
End Sub

Public Function EscapeSingleQuote(strData As String) As String
     EscapeSingleQuote = Replace(strData, "'", "''")
End Function</pre><p>
</li>
<li>Now, save the VBA form code and provide some appropriate form names.
<div id="attachment_7332" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-vba-save-form.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7332" class="size-medium_large wp-image-7332" src="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-vba-save-form-768x943.png" alt="Save form vba code" width="720" height="884" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-vba-save-form-768x943.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-vba-save-form-244x300.png 244w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-vba-save-form-834x1024.png 834w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-vba-save-form.png 849w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-7332" class="wp-caption-text">Save form vba code</p></div>
<p>&nbsp;</li>
<li>Make sure to add the reference to the Microsoft ActiveX Data Objects X.0 Library in the project settings.In Microsoft Access VBA,<br />
You can add the reference to the Microsoft ActiveX Data Objects X.0 Library by following these steps:</p>
<ol>
<li>In the VBA editor, go to &#8220;Tools&#8221; in the menu and select &#8220;References.&#8221;</li>
<li>In the References dialog box, scroll down the list to find &#8220;Microsoft ActiveX Data Objects X.0 Library&#8221; (where &#8220;X.0&#8221; corresponds to the version number, such as 6.1, 2.8, etc.).</li>
<li>Check the box next to the appropriate version to enable the reference.</li>
<li>Click &#8220;OK&#8221; to save the changes and close the References dialog box.</li>
</ol>
<p>Now, your Access project has a reference to the Microsoft ActiveX Data Objects library, and you can use its features in your VBA code.</p>
<div id="attachment_7336" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-access-add-reference.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7336" class="size-medium_large wp-image-7336" src="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-access-add-reference-768x648.png" alt="Access : Add reference" width="720" height="608" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-access-add-reference-768x648.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-access-add-reference-300x253.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-access-add-reference.png 804w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-7336" class="wp-caption-text">Access : Add reference</p></div>
<p>If the MS ActiveX reference is not added, an error will be thrown.</p>
<div id="attachment_7335" style="width: 721px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-vba-error-type-not-found.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7335" class="wp-image-7335 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-vba-error-type-not-found-e1705479944324.png" alt="VBA : Error Type not defined" width="711" height="797" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-vba-error-type-not-found-e1705479944324.png 711w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-vba-error-type-not-found-e1705479944324-268x300.png 268w" sizes="(max-width: 711px) 100vw, 711px" /></a><p id="caption-attachment-7335" class="wp-caption-text">VBA : Error Type not defined</p></div></li>
<li>Close the code project, open the form in Form View, and click on the button.
<div id="attachment_7333" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-access-click-button.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7333" class="size-medium_large wp-image-7333" src="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-access-click-button-768x705.png" alt="Access : Click Command Button" width="720" height="661" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-access-click-button-768x705.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-access-click-button-300x275.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-access-click-button.png 939w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-7333" class="wp-caption-text">Access : Click Command Button</p></div></li>
<li>After clicking the button, it will initiate a REST API call, insert the data into the Access table, and open the table to display the inserted records along with a success message.
<div id="attachment_7334" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-access-code-success-message.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7334" class="size-medium_large wp-image-7334" src="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-access-code-success-message-768x705.png" alt="Access : Open the table" width="720" height="661" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-access-code-success-message-768x705.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-access-code-success-message-300x275.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/06/odbc-access-code-success-message.png 939w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-7334" class="wp-caption-text">Access : Open the table</p></div></li>
</ol>
<div class="content_block" id="custom_post_widget-8935"><h2>Troubleshooting Errors</h2>
<p>While running in Access\Excel\other and reading data from DSN created with ODBC PowerPack, if you get this error "<strong>License type [ODBC_PP_TRIAL] not found or its expired</strong>"</p>

<p>Please refer to this article for the same:  <a href="https://zappysys.zendesk.com/hc/en-us/articles/360042521533-Troubleshooting-License-type-ODBC-PP-TRIAL-not-found-or-its-expired-error-in-Microsoft-Access" target="_blank" rel="noopener">Troubleshooting "License type [ODBC_PP_TRIAL] not found or its expired" error in Microsoft Access</a></p></div>
<h2><span id="Conclusion">Conclusion</span></h2>
<p>In this article, we saw how to use VBA to call REST API. We show how to do REST API calls in Access using the ZappySys ODBC driver. Also, we show how to write VBA Code in MS Access for command button to make REST API call, truncate access table and insert record in the access table using VBA code. If you liked this article and you want to try, you can download the <a href="https://zappysys.com/products/odbc-powerpack/download/" target="_blank" rel="noopener">ZappySys ODBC installer here</a>.</p>
<h2><span id="References">References</span></h2>
<ul>
<li><a href="https://zappysys.com/products/odbc-powerpack/download/" target="_blank" rel="noopener">ZappySys ODBC installer.</a></li>
<li><a href="https://stackoverflow.com/questions/49984642/access-odbc-query" target="_blank" rel="noopener">Access ODBC Query</a></li>
<li><a href="https://docs.microsoft.com/en-us/sql/ado/guide/appendixes/using-ado-with-microsoft-visual-basic?view=sql-server-2017" target="_blank" rel="noopener">Using ADO with Microsoft Visual Basic and Visual Basic for Applications</a></li>
</ul>
<h2>
Form VBA Code:</h2>
<p>After completing the migration of the higher-level VBA code, you&#8217;ll notice a transformation in the structure of your forms&#8217; code.</p><pre class="crayon-plain-tag">Option Compare Database

Private Sub Command5_Click()
 
    ' Pass your ZappySys Driver Connection String: Refer to below link to learn how to obtain the ZappySys Driver connection string:
    ' https://community.zappysys.com/t/how-to-copy-the-zappysys-driver-connection-string/172
    Dim zsConnStr As String
    zsConnStr = "DRIVER={ZappySys JSON Driver};DataPath='https://services.odata.org/V3/Northwind/Northwind.svc/Customers?$format=json';Filter='$.value[*]';IncludeParentColumns=0;RequestMethod='GET';RequestHeaders='cache-control: no-cache || Accept: */*'"
        
    'ZappySys Driver Query
    Dim zsDriverQuery As String
    zsDriverQuery = "Select * from $"
 
    'MS Access Table Name
    Dim tableName As String
    tableName = "tblCustomers"

    ' 1. Close Table If Open
    CloseTableIfOpen tableName

    ' 2. Truncate Table (Optional): If you want to load fresh data each time, uncomment the line below.
    'TruncateTable tableName

    ' 3. Import Data From API Into Table
    ImportDataFromAPIIntoTable zsConnStr, zsDriverQuery, tableName

    ' 4. Open Table for Viewing (Optional)
    OpenTableForViewing tableName

    ' Show Message after Loading Data Successfully
    MsgBox "Data Loaded Successfully!"
    
End Sub

Sub ImportDataFromAPIIntoTable(zsConnStr As String, zsDriverQuery As String, tableName As String)
    Dim dscn As New ADODB.Connection
    dscn.Open zsConnStr

    Dim rs As Object
    Set rs = New ADODB.Recordset
    
    ''ZappySys Driver Query Goes here
    rs.Open zsDriverQuery, dscn

    Dim strQuery As String
    strQuery = ""
    ' Check if the recordset is not empty
    If Not rs.EOF Then
        ' Get the field names
        Dim fieldNames As String
        fieldNames = ""

        For i = 1 To rs.Fields.Count
            fieldNames = fieldNames &amp; rs.Fields(i - 1).Name
            If i &lt; rs.Fields.Count Then
                fieldNames = fieldNames &amp; ","
            End If
        Next i

        ' Generate the INSERT script
        Dim insertScript As String
        ' Iterate through the recordset to get the values
        Do Until rs.EOF
            ' Generate Insert script
            insertScript = "INSERT INTO " &amp; tableName &amp; " (" &amp; fieldNames &amp; ") VALUES"
            insertScript = insertScript &amp; vbCrLf &amp; "("
            For i = 1 To rs.Fields.Count
                ' Assuming all fields are text, you might need to handle different data types appropriately
                
                If IsNull(rs.Fields(i - 1).Value) Then
                    insertScript = insertScript &amp; "''"
                Else
                    insertScript = insertScript &amp; "'" &amp; EscapeSingleQuote(rs.Fields(i - 1).Value) &amp; "'"
                End If
                
                
                If i &lt; rs.Fields.Count Then
                    insertScript = insertScript &amp; ","
                End If
            Next i
            insertScript = insertScript &amp; ")"
            
            'Insert data
            CurrentProject.Connection.Execute insertScript
            
            rs.MoveNext
        Loop
    End If
    
    ' Close the recordset and connection
    rs.Close
    dscn.Close
    Set rs = Nothing
    Set conn = Nothing
    
End Sub

Sub OpenTableForViewing(tableName As String)
    If Not IsTableOpen(tableName) Then
        DoCmd.OpenTable tableName
    End If
End Sub

Public Function IsTableOpen(strName As String) As Boolean
     IsTableOpen = SysCmd(acSysCmdGetObjectState, acTable, strName)
End Function

Sub CloseTableIfOpen(tableName As String)
    If IsTableOpen(tableName) Then
        DoCmd.SelectObject acTable, tableName
        DoCmd.RunCommand acCmdSaveRecord
        DoCmd.Close
    End If
End Sub


Sub TruncateTable(tableName As String)
    Dim strSql As String
    strSql = "DELETE FROM " &amp; tableName &amp; ";"
    CurrentProject.Connection.Execute strSql
End Sub

Public Function EscapeSingleQuote(strData As String) As String
     EscapeSingleQuote = Replace(strData, "'", "''")
End Function</pre><p>
&nbsp;</p>
<h2></h2>
<p>The post <a href="https://zappysys.com/blog/export-rest-api-ms-access-using-vba-command-button/">How to Export REST API to MS Access using VBA Command Button</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to read RSS feed in SSIS and ODBC (with pagination)</title>
		<link>https://zappysys.com/blog/read-rss-feed-in-ssis-pagination/</link>
		
		<dc:creator><![CDATA[ZappySys Team]]></dc:creator>
		<pubDate>Tue, 05 Mar 2019 17:26:01 +0000</pubDate>
				<category><![CDATA[ODBC PowerPack]]></category>
		<category><![CDATA[SSIS XML Source (File / SOAP)]]></category>
		<category><![CDATA[XML File / SOAP API Driver]]></category>
		<category><![CDATA[odbc]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[ssis]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=6503</guid>

					<description><![CDATA[<p>Introduction Read RSS feed in SSIS can be challenging. RSS named first RDF Site Summary and later named Rich Site Summary and Really Simple Syndication allows customer applications to be updated with the news of a site. For example, Microsoft RSS feeds, Apple RSS feeds, Samsung RSS feeds, etc.  With RSS the information comes to you directly and you do [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/read-rss-feed-in-ssis-pagination/">How to read RSS feed in SSIS and ODBC (with pagination)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2016/08/ssis-xml-parser-transform.png"><img loading="lazy" decoding="async" class="size-full wp-image-2122 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2016/08/ssis-xml-parser-transform.png" alt="" width="110" height="110" /></a>Read RSS feed in SSIS can be challenging. RSS named first RDF Site Summary and later named Rich Site Summary and Really Simple Syndication allows customer applications to be updated with the news of a site. For example, <a href="https://blog.feedspot.com/microsoft_rss_feeds/">Microsoft RSS feeds</a>, <a href="https://www.apple.com/rss/">Apple RSS feeds</a>, <a href="https://blog.feedspot.com/samsung_rss_feeds/">Samsung RSS feeds</a>, etc.  With RSS the information comes to you directly and you do not need to waste time checking the web site. In this article, we will show how to read RSS feed in SSIS and later using ODBC.</p>
<h2></h2>
<h2></h2>
<h2>Requirements</h2>
<ol>
<li>First of all, <a href="https://zappysys.com/products/ssis-powerpack/">ZappySys SSIS Powerpack</a> installed.</li>
<li>Secondly, <a href="https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt?view=sql-server-2017">SSDT for Business Intelligence</a> (SSIS) installed.</li>
<li>Finally, <a href="https://zappysys.com/products/odbc-powerpack/">ODBC Powerpack installed</a>.</li>
</ol>
<h2>Getting Started</h2>
<h3>Understanding RSS data</h3>
<ol>
<li>In order to start, we will work with the WordPress RSS example:<br />
<pre class="crayon-plain-tag">https://wordpress.org/news/feed/</pre>
</li>
<li>When you go to the link, you see the feed like this:
<div id="attachment_6563" style="width: 761px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/03/RSS-file-data.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6563" class="size-full wp-image-6563" src="https://zappysys.com/blog/wp-content/uploads/2019/03/RSS-file-data.png" alt="RSS data" width="751" height="462" srcset="https://zappysys.com/blog/wp-content/uploads/2019/03/RSS-file-data.png 751w, https://zappysys.com/blog/wp-content/uploads/2019/03/RSS-file-data-300x185.png 300w" sizes="(max-width: 751px) 100vw, 751px" /></a><p id="caption-attachment-6563" class="wp-caption-text">RSS information</p></div></li>
<li>Basically, it is an XML file with the Last Build date (lastBuildDate), the title, link, description. It shows the WordPress news per version and date.</li>
</ol>
<h3>Read RSS feed in SSIS</h3>
<ol>
<li>First of all, you need an SSIS Project and a Data Flow with the ZS XML Source (if you are not familiar with SSIS and the ZS XML Source, refer to <a href="https://youtu.be/d_x5bgGjg0Y?t=408">this link</a>.
<div style="width: 470px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/drag-and-drop-data-flow-task.png" alt="Use Data Flow" width="460" height="155" /><p class="wp-caption-text">Drag and drop Data Flow</p></div></li>
<li>Secondly, In the ZS XML Source, add the following RSS WordPress URL:<br />
<pre class="crayon-plain-tag">https://wordpress.org/news/feed/</pre>
<div id="attachment_6564" style="width: 836px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-rss-feed.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6564" class="size-full wp-image-6564" src="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-rss-feed.png" alt="URL of RSS in SSIS" width="826" height="733" srcset="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-rss-feed.png 826w, https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-rss-feed-300x266.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-rss-feed-768x682.png 768w" sizes="(max-width: 826px) 100vw, 826px" /></a><p id="caption-attachment-6564" class="wp-caption-text">SSIS read RSS</p></div></li>
<li>After that, you will be able to see the following tags when you press the array filter:</li>
<li>This time, we will focus on the information under channel which is the most relevant, make sure that the array filter is this one:<br />
<pre class="crayon-plain-tag">$.rss.channel[*].item[*]</pre>
<div id="attachment_6568" style="width: 494px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-rss-get-data-filter.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6568" class="size-full wp-image-6568" src="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-rss-get-data-filter.png" alt="Filter RSS data in SSIS" width="484" height="728" srcset="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-rss-get-data-filter.png 484w, https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-rss-get-data-filter-199x300.png 199w" sizes="(max-width: 484px) 100vw, 484px" /></a><p id="caption-attachment-6568" class="wp-caption-text">Using RSS filters in SSIS</p></div></li>
<li>In addition, press the preview data button and you will see the following information:
<div id="attachment_6566" style="width: 968px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-xml-source-preview-data.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6566" class="size-full wp-image-6566" src="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-xml-source-preview-data.png" alt="SSIS Preview Data" width="958" height="357" srcset="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-xml-source-preview-data.png 958w, https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-xml-source-preview-data-300x112.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-xml-source-preview-data-768x286.png 768w" sizes="(max-width: 958px) 100vw, 958px" /></a><p id="caption-attachment-6566" class="wp-caption-text">SSIS preview RSS</p></div></li>
</ol>
<h3>Read RSS feed in SSIS and copy to SQL Server</h3>
<ol>
<li>In the previous section, we got data from RSS. Now we will copy to SQL Server.</li>
<li>First of all, drag and drop the <strong>OLEDB Destination</strong> and join the <strong>XML </strong><strong>Source</strong> with the OLEDB Destination:
<div id="attachment_6570" style="width: 382px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-destination-xml-source.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6570" class="size-full wp-image-6570" src="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-destination-xml-source.png" alt="Copy data from RSS to SQL Server" width="372" height="215" srcset="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-destination-xml-source.png 372w, https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-destination-xml-source-300x173.png 300w" sizes="(max-width: 372px) 100vw, 372px" /></a><p id="caption-attachment-6570" class="wp-caption-text">SSIS RSS to OLEDB</p></div></li>
<li>Also, in the OLEDB Destination, press <strong>New</strong> button and select a SQL Server connection or create a new one:
<div id="attachment_6571" style="width: 834px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-new-connection.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6571" class="size-full wp-image-6571" src="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-new-connection.png" alt="Create oledb destination table" width="824" height="719" srcset="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-new-connection.png 824w, https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-new-connection-300x262.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-new-connection-768x670.png 768w" sizes="(max-width: 824px) 100vw, 824px" /></a><p id="caption-attachment-6571" class="wp-caption-text">RSS to Oledb</p></div></li>
<li>In addition, in the table or view textbox press <strong>new</strong> to create a new destination table:
<div id="attachment_6573" style="width: 834px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-new-table.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6573" class="size-full wp-image-6573" src="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-new-table.png" alt="Create SQL Server to store RSS data in SSIS" width="824" height="719" srcset="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-new-table.png 824w, https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-new-table-300x262.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-new-table-768x670.png 768w" sizes="(max-width: 824px) 100vw, 824px" /></a><p id="caption-attachment-6573" class="wp-caption-text">Create a new SQL table to store RSS data</p></div></li>
<li>Next, modify the table name:
<div id="attachment_6575" style="width: 514px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-modify-table-name.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6575" class="size-full wp-image-6575" src="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-modify-table-name.png" alt="SQL Server table name in SSIS" width="504" height="442" srcset="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-modify-table-name.png 504w, https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-modify-table-name-300x263.png 300w" sizes="(max-width: 504px) 100vw, 504px" /></a><p id="caption-attachment-6575" class="wp-caption-text">Change SSIS destination table name</p></div></li>
<li>Also, go to the mappings page to generate the mappings:
<div id="attachment_6576" style="width: 834px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-mappings.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6576" class="size-full wp-image-6576" src="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-mappings.png" alt="SSIS with RSS to SQL Server" width="824" height="663" srcset="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-mappings.png 824w, https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-mappings-300x241.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-oledb-mappings-768x618.png 768w" sizes="(max-width: 824px) 100vw, 824px" /></a><p id="caption-attachment-6576" class="wp-caption-text">RSS Source to SQL Destination in SSIS</p></div></li>
<li>Finally, run the package and you will export the data from RSS to SQL Server.</li>
</ol>
<p>&nbsp;</p>
<h3>How to read RSS feed in SSIS using pagination</h3>
<p>If you have multiple rows, pagination helps a lot to handle multiple items. You can handle the information in pages. Instead of loading all the information, you can get the data from page 1, 2, 3 and more.</p>
<ol>
<li>First of all, in the URL, you can include the following to specify the page:<br />
<pre class="crayon-plain-tag">https://wordpress.org/news/feed/?paged=2</pre>
</li>
<li>Also, note that it used the word <strong>paged</strong> and not page. Many URLs use page and not paged, but WordPress is different:</li>
<li>In addition, if you want to use variables, you can use a variable like this:<br />
<a href="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-page-as-variable.png"><img loading="lazy" decoding="async" class="size-full wp-image-6584" src="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-page-as-variable.png" alt="RSS pagination in SSIS" width="826" height="733" srcset="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-page-as-variable.png 826w, https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-page-as-variable-300x266.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-page-as-variable-768x682.png 768w" sizes="(max-width: 826px) 100vw, 826px" /></a><br />
RSS page as a variable</li>
<li>Also, we have a pagination tab with different pagination options. You can check the configuration here:
<div id="attachment_6577" style="width: 836px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-pagination-increment-by-wordpress.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6577" class="wp-image-6577 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-pagination-increment-by-wordpress.png" alt="Read RSS feed in SSIS" width="826" height="733" srcset="https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-pagination-increment-by-wordpress.png 826w, https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-pagination-increment-by-wordpress-300x266.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/03/ssis-pagination-increment-by-wordpress-768x682.png 768w" sizes="(max-width: 826px) 100vw, 826px" /></a><p id="caption-attachment-6577" class="wp-caption-text">RSS pagination configuration</p></div></li>
<li>Finally, for more information about pagination, refer to <a href="https://zappysys.com/blog/ssis-rest-api-looping-until-no-more-pages-found/">this link</a>.</li>
</ol>
<h3>How to read RSS feed in ZappySys ODBC PowerPack</h3>
<p><a href="default.html">Zappysys ODBC PowerPack</a> is a powerful tool to access to REST API, SOAP, XML, JSON, CSV, Odata. In this article, we will show how to access to RSS using ODBC PowerPack.</p>
<ol>
<li>First of all, open your ODBC Data Source Administrator in Windows.</li>
<li>Secondly, in the user DSN, press Add.</li>
<li>Also, add the Zappysys XML Driver:
<div id="attachment_6579" style="width: 603px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/03/odbc-connect-XML-RSS.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6579" class="size-full wp-image-6579" src="https://zappysys.com/blog/wp-content/uploads/2019/03/odbc-connect-XML-RSS.png" alt="Connect to RSS using ODBC" width="593" height="422" srcset="https://zappysys.com/blog/wp-content/uploads/2019/03/odbc-connect-XML-RSS.png 593w, https://zappysys.com/blog/wp-content/uploads/2019/03/odbc-connect-XML-RSS-300x213.png 300w" sizes="(max-width: 593px) 100vw, 593px" /></a><p id="caption-attachment-6579" class="wp-caption-text">odbc XML driver</p></div></li>
<li> In addition, add the following URL:<br />
<pre class="crayon-plain-tag">https://wordpress.org/news/feed/</pre>
<div id="attachment_6581" style="width: 812px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/03/odbc-rss-web.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6581" class="size-full wp-image-6581" src="https://zappysys.com/blog/wp-content/uploads/2019/03/odbc-rss-web.png" alt="URL of RSS " width="802" height="702" srcset="https://zappysys.com/blog/wp-content/uploads/2019/03/odbc-rss-web.png 802w, https://zappysys.com/blog/wp-content/uploads/2019/03/odbc-rss-web-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/03/odbc-rss-web-768x672.png 768w" sizes="(max-width: 802px) 100vw, 802px" /></a><p id="caption-attachment-6581" class="wp-caption-text">ODBC to RSS connection</p></div></li>
<li>Finally, you can use the filters and pagination as we did with the SSIS PowerPack in the previous sections.
<div id="attachment_6582" style="width: 812px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/03/odbc-rss-wordpress-pagination.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6582" class="size-full wp-image-6582" src="https://zappysys.com/blog/wp-content/uploads/2019/03/odbc-rss-wordpress-pagination.png" alt="Use pagination for RSS " width="802" height="702" srcset="https://zappysys.com/blog/wp-content/uploads/2019/03/odbc-rss-wordpress-pagination.png 802w, https://zappysys.com/blog/wp-content/uploads/2019/03/odbc-rss-wordpress-pagination-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/03/odbc-rss-wordpress-pagination-768x672.png 768w" sizes="(max-width: 802px) 100vw, 802px" /></a><p id="caption-attachment-6582" class="wp-caption-text">ODBC pagination RSS</p></div></li>
</ol>
<h2>Conclusion</h2>
<p>To conclude, we can say that with <a href="https://zappysys.com/products/ssis-powerpack/">SSIS PowerPack</a> and <a href="https://zappysys.com/products/ssis-powerpack/">ODBC PowerPack</a>, it is easy to access, filter and paginate RSS information or any XML / SOAP API. We strongly recommend you to try the product by yourself and check the results.</p>
<h2>References</h2>
<p>For more information about RSS, refer to these links:</p>
<ul>
<li><a href="https://en.wikipedia.org/wiki/RSS">RSS</a></li>
<li><a href="http://www.whatisrss.com/">What Is RSS? RSS Explained</a></li>
</ul>
<p>The post <a href="https://zappysys.com/blog/read-rss-feed-in-ssis-pagination/">How to read RSS feed in SSIS and ODBC (with pagination)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
