{"id":5133,"date":"2019-01-23T12:12:20","date_gmt":"2019-01-23T12:12:20","guid":{"rendered":"https:\/\/zappysys.com\/blog\/?p=5133"},"modified":"2023-09-26T15:04:48","modified_gmt":"2023-09-26T15:04:48","slug":"read-data-from-quickbooks-online-to-sql-server","status":"publish","type":"post","link":"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/","title":{"rendered":"Read data from QuickBooks Online into SQL Server via ODBC Driver"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/QuickBookLogo.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-6399 \" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/QuickBookLogo.png\" alt=\"QuickBooks Online Logo\" width=\"164\" height=\"164\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/QuickBookLogo.png 225w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/QuickBookLogo-150x150.png 150w\" sizes=\"(max-width: 164px) 100vw, 164px\" \/><\/a>QuickBooks Online is a well-known Cloud-based Accounting Software. In this post, you will learn how to implement\u00a0<a href=\"https:\/\/developer.intuit.com\/docs\/00_quickbooks_online\/1_get_started\/00_get_started\" target=\"_blank\" rel=\"noopener\">QuickBooks Online API<\/a>\u00a0Integration with SQL Server or any other RDBMS (e.g. Oracle, MySQL, Postgresql) using\u00a0<strong>ODBC<\/strong>\u00a0in few clicks. We will use\u00a0<a href=\"https:\/\/zappysys.com\/products\/odbc-powerpack\/odbc-json-rest-api-driver\/\" target=\"_blank\" rel=\"noopener\">ODBC JSON \/ REST API Driver<\/a>\u00a0to\u00a0read data from QuickBooks Online\u00a0and Load into SQL Server \/ other targets (Using OAuth Connection). We will discuss on How to Create an Intuit Developer Account, How to Create QuickBooks Online App for OAuth.<\/p>\n<p>In nutshell,\u00a0this post will focus on how to call QuickBooks Online API using ODBC.<br \/>\nSo let\u2019s get started.<\/p>\n<p>&nbsp;<\/p>\n<h2><span id=\"Prerequisites\">Prerequisites<\/span><\/h2>\n<p>Before we look into Step-By-Step section to extract and read data from\u00a0<strong>QuickBooks Online to SQL Server<\/strong>\u00a0let\u2019s make sure you met the\u00a0following requirements.<\/p>\n<ol>\n<li>A first requirement will be to SQL Server Database Engine Installed<\/li>\n<li>The second requirement will be SSMS installed<\/li>\n<li>Finally, make sure to have <a href=\"https:\/\/zappysys.com\/products\/odbc-powerpack\/\" target=\"_blank\" rel=\"noopener\">ZappySys ODBC PowerPack<\/a> installed.<\/li>\n<\/ol>\n<div class=\"content_block\" id=\"custom_post_widget-6478\"><h2>What is QuickBooks Online<\/h2>\r\n<b>QuickBooks<\/b>\u00a0is an accounting software package developed and marketed by Intuit.\u00a0QuickBooks products are geared mainly toward small and medium-sized businesses and offer on-premises accounting applications as well as cloud-based versions that accept business payments, manage and pay bills, and payroll functions.\r\n<h2>Getting Started<\/h2>\r\nIn order to start, we will show several examples. ZappySys includes an\u00a0<a href=\"https:\/\/zappysys.com\/products\/odbc-powerpack\/odbc-json-rest-api-driver\/\" target=\"_blank\" rel=\"noopener\">ODBC JSON \/ REST API Driver<\/a>\u00a0that will help you to call QuickBooks Online API, read various data from QuickBooks Online with ODBC. To learn more about QuickBooks Online API <a href=\"https:\/\/developer.intuit.com\/docs\/00_quickbooks_online\/1_get_started\/00_get_started\" target=\"_blank\" rel=\"noopener\">check this help file<\/a>.\r\n\r\nTo access QuickBooks Online data using REST API call, you need to create an Intuit Developer Account and then create QuickBooks Online App.\r\n<h3>Create an Intuit Developer Account<\/h3>\r\nFollow the mentioned steps below to create an Intuit developer account:\r\n<ol>\r\n \t<li>you can visit this site\u00a0<a class=\"link-https\" title=\"https:\/\/developer.intuit.com\" href=\"https:\/\/developer.intuit.com\/\" target=\"_blank\" rel=\"noopener\">developer.intuit.com<\/a>, and click on Sign up from the menu bar.<\/li>\r\n \t<li>A registration form will be opened in a Popup. you can fill up and then click on Create Account.\r\n<div class=\"wp-caption alignnone\">\r\n\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/intuit-developer-account-signup-page-e1551710928190.png\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/intuit-developer-account-signup-page-e1551710928190.png\" alt=\"Signup Form: Intuit Developer Account\" \/><\/a>\r\n<p class=\"wp-caption-text\">Signup Form: Intuit Developer Account<\/p>\r\n\r\n<\/div><\/li>\r\n \t<li>Complete the validation check and click\u00a0<strong>Continue<\/strong>.<\/li>\r\n \t<li>On the confirmation dialog, provide a few details to fill out your profile and click\u00a0<strong>All set<\/strong>.<\/li>\r\n<\/ol>\r\n<div class=\"locale-US style-wrap\">\r\n\r\nYour account is created! You'll automatically be redirected to the\u00a0<a title=\"3. Create an app\" href=\"https:\/\/developer.intuit.com\/docs\/00_quickbooks_online\/1_get_started\/30_create_an_app\" target=\"_blank\" rel=\"internal noopener\">app creation page<\/a>\u00a0to get coding on your app.\r\n<div class=\"su-note-inner su-clearfix\" style=\"background-color: #fff4b7;border-color: #fffdf1;color: #333333;padding: 8px\">\r\n\r\n<strong>Note:<\/strong>\r\n\r\nChoose the user ID\u00a0of your account carefully. Once an app is created in a given account\u00a0it cannot be moved to another account or deleted. If you are building apps for a\u00a0client, we recommend you create a dedicated account for that client that stays with them, leaving them full access.\r\n\r\n<\/div>\r\n<h3>Create a QuickBooks Online App<\/h3>\r\nFollow the steps below to start creating your QuickBooks Online app.\r\n<ol>\r\n \t<li>From the\u00a0<a class=\"link-https\" title=\"https:\/\/developer.intuit.com\" href=\"https:\/\/developer.intuit.com\/\" target=\"_blank\" rel=\"external nofollow noopener\">developer<\/a>\u00a0portal, click on\u00a0<strong>My Apps<\/strong>.<\/li>\r\n \t<li>after that, Click\u00a0<strong>Create a new app.\r\n<\/strong>\r\n<div class=\"wp-caption alignnone\">\r\n\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/create-new-app-intuit-e1551711044554.png\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/create-new-app-intuit-e1551711044554.png\" alt=\"Create new App: Select APIS\" \/><\/a>\r\n<p class=\"wp-caption-text\">Create a new App: Select APIS<\/p>\r\n\r\n<\/div><\/li>\r\n \t<li>Click the\u00a0<strong>Select APIs<\/strong>\u00a0button under Just start coding.<\/li>\r\n \t<li>Select the APIs you wish to use. This selection can always be changed later via your\u00a0<a title=\"Configure app settings\" href=\"https:\/\/developer.intuit.com\/docs\/00_quickbooks_online\/4_go_live\/30_publish_to_app_store\/45_configure_app_settings\" target=\"_blank\" rel=\"internal noopener\">app's settings<\/a>.<\/li>\r\n \t<li>Your new app opens to its Dashboard tab.<\/li>\r\n \t<li>Click the\u00a0<strong>Keys<\/strong>\u00a0tab. This is where you can find all keys related to your app.\r\n<div class=\"wp-caption alignnone\">\r\n\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/intuit-myapps-credentials-for-oauth2-e1551711138195.png\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/intuit-myapps-credentials-for-oauth2-e1551711138195.png\" alt=\"Intuit App: Client Id,Secret Keys for OAuth Connection\" \/><\/a>\r\n<p class=\"wp-caption-text\">Intuit App: Client Id, Secret Keys for OAuth Connection<\/p>\r\n\r\n<\/div><\/li>\r\n \t<li>To copy a key or token, click its\u00a0<strong>Copy<\/strong>\u00a0button.<\/li>\r\n<\/ol>\r\nFinally, we are ready with an App. Let\u00b4s start with an example. In this example, we will show how to retrieve all Invoices data from QuickBooks Online with ODBC.\r\n\r\n<\/div><\/div>\n<h3><span id=\"Create_ODBC_Native_Zappysys_JSON_Driver_Data_Source\"><span id=\"Create_ODBC_DSN_8211_JSON_Driver\">Create ODBC \u2013 Native Zappysys JSON Driver Data Source<\/span><\/span><\/h3>\n<ol>\n<li>To do this, first of all, we will open the ZappySys Data Gateway Configuration:\n<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>\n<li>Add the Native &#8211; ZappySys JSON Driver Data source.\n<div id=\"attachment_5284\" style=\"width: 568px\" class=\"wp-caption aligncenter\"><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\" \/><p id=\"caption-attachment-5284\" class=\"wp-caption-text\">Add Gateway Data Source (Native JSON Driver)<\/p><\/div><\/li>\n<li>Now it&#8217;s time to connect with QuickBooks. Let&#8217;s use JSON Driver Data source with the\u00a0following URL:\n<pre class=\"lang:default decode:true\">https:\/\/{RequestURL}\/v3\/company\/{realmID}\/query?query={selectStatement}<\/pre>\n<p>here,\u00a0We have used 3 placeholders<strong>.<br \/>\n* {RequestURL}<\/strong>is either a SandBox base URL or Production base URL.<\/p>\n<pre class=\"lang:default decode:true\">Sandbox Base URL: https:\/\/sandbox-quickbooks.api.intuit.com\r\nProduction Base URL: https:\/\/quickbooks.api.intuit.com<\/pre>\n<p>* <strong>{realmID}\u00a0<\/strong>is\u00a0your QuickBooks Online sandbox\/production\u00a0<strong>company ID<\/strong>.<br \/>\n* <strong>{selectStatement} <\/strong>can be any query something like <strong>Select * From Invoice (*Note: select statement must be URL encoded first)<br \/>\nFor more information on Query, an Invoice Request API\u00a0<a href=\"https:\/\/developer.intuit.com\/docs\/api\/accounting\/invoice\">see this<\/a><br \/>\n<\/strong>I am using my sandbox URL like this:<\/p>\n<pre class=\"lang:default decode:true\">https:\/\/sandbox-quickbooks.api.intuit.com\/v3\/company\/193514799372394\/query?query=SELECT * FROM Invoice STARTPOSITION &lt;%startposition%&gt; MAXRESULTS 1000<\/pre>\n<div id=\"attachment_10598\" style=\"width: 666px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/reading-data-from-intuit-quickbooks-via-odbc-driver-2\/#main\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-10598\" class=\"wp-image-10598 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/Reading-data-from-Intuit-QuickBooks-via-ODBC-driver-1.png\" alt=\"\" width=\"656\" height=\"806\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/Reading-data-from-Intuit-QuickBooks-via-ODBC-driver-1.png 656w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/Reading-data-from-Intuit-QuickBooks-via-ODBC-driver-1-244x300.png 244w\" sizes=\"(max-width: 656px) 100vw, 656px\" \/><\/a><p id=\"caption-attachment-10598\" class=\"wp-caption-text\">Setup QuickBooks ODBC-based data source configuration<\/p><\/div><\/li>\n<li>Configure the new OAuth Connection for <strong>QuickBooks Online<\/strong> as below.<br \/>\nBasically, you need to configure the configurations of App on the General tab (i.e. OAuth Provider, Client ID, Client Secret, Scopes, etc.)<\/p>\n<div id=\"attachment_4776\" style=\"width: 781px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/read-data-quickbooks-online-using-ssis\/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-general-tab\/#main\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4776\" class=\"wp-image-4776 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-general-tab.png\" alt=\"SSIS OAuth Connection Manager: General Tab Configurations\" width=\"771\" height=\"697\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-general-tab.png 771w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-general-tab-300x271.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-general-tab-768x694.png 768w\" sizes=\"(max-width: 771px) 100vw, 771px\" \/><\/a><p id=\"caption-attachment-4776\" class=\"wp-caption-text\">OAuth Connection Manager: General Tab Configurations<\/p><\/div><\/li>\n<li>Most importantly, you also need to Enter your Callback URL in Advanced Tab.\n<div id=\"attachment_4777\" style=\"width: 781px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/read-data-quickbooks-online-using-ssis\/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-advanced-tab\/#main\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4777\" class=\"wp-image-4777 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-advanced-tab.png\" alt=\"SSIS OAuth Connection Manager: Advanced Tab Configurations\" width=\"771\" height=\"697\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-advanced-tab.png 771w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-advanced-tab-300x271.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-advanced-tab-768x694.png 768w\" sizes=\"(max-width: 771px) 100vw, 771px\" \/><\/a><p id=\"caption-attachment-4777\" class=\"wp-caption-text\">OAuth Connection Manager: Advanced Tab Configurations<\/p><\/div><\/li>\n<li>Similarly, you need to check &#8220;<strong>Do not include credentials in header<\/strong>&#8221;\n<div id=\"attachment_4778\" style=\"width: 781px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/read-data-quickbooks-online-using-ssis\/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-oauth-2-grant-options-tab\/#main\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4778\" class=\"wp-image-4778 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-oauth-2-grant-options-tab.png\" alt=\"SSIS OAuth Connection Manager: OAuth2 Grant Options Tab Configurations\" width=\"771\" height=\"697\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-oauth-2-grant-options-tab.png 771w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-oauth-2-grant-options-tab-300x271.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/09\/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-oauth-2-grant-options-tab-768x694.png 768w\" sizes=\"(max-width: 771px) 100vw, 771px\" \/><\/a><p id=\"caption-attachment-4778\" class=\"wp-caption-text\">OAuth Connection Manager: OAuth2 Grant Options Tab Configurations<\/p><\/div><\/li>\n<li>Click on Generate Token button to Generate token and then click on Test Connection button and click on OK to save the connection manager configurations settings.\n<div id=\"attachment_6415\" style=\"width: 781px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/odbc-quickbooks-oauth-test\/#main\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6415\" class=\"wp-image-6415 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/odbc-quickbooks-oauth-test.png\" alt=\"\" width=\"771\" height=\"738\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/odbc-quickbooks-oauth-test.png 771w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/odbc-quickbooks-oauth-test-300x287.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/odbc-quickbooks-oauth-test-768x735.png 768w\" sizes=\"(max-width: 771px) 100vw, 771px\" \/><\/a><p id=\"caption-attachment-6415\" class=\"wp-caption-text\">Generate Token and Test Connection<\/p><\/div><\/li>\n<li>Let&#8217;s continue on, and enable pagination by configuring it like in the image below in the <em>Pagination<\/em> tab. In the\u00a0<em>Page Num Indicator<\/em> field input this value:\u00a0<code>&lt;%startposition%&gt;<\/code>\u00a0Then set <em>Increment By<\/em>\u00a0value to a maximum number of results possible:\u00a0<code>1000<\/code><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/Pagination-reading-data-from-Intuit-QuickBooks-via-ODBC-driver.png\"><br \/>\n<\/a><\/p>\n<div id=\"attachment_10595\" style=\"width: 668px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/pagination-reading-data-from-intuit-quickbooks-via-odbc-driver\/#main\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-10595\" class=\"wp-image-10595 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/Pagination-reading-data-from-Intuit-QuickBooks-via-ODBC-driver.png\" alt=\"\" width=\"658\" height=\"508\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/Pagination-reading-data-from-Intuit-QuickBooks-via-ODBC-driver.png 658w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/Pagination-reading-data-from-Intuit-QuickBooks-via-ODBC-driver-300x232.png 300w\" sizes=\"(max-width: 658px) 100vw, 658px\" \/><\/a><p id=\"caption-attachment-10595\" class=\"wp-caption-text\">Configuring pagination to get QuickBooks all rows in ODBC JSON-based driver data source<\/p><\/div><\/li>\n<li>Finally, now using Code Generator we will generate the query.\n<div id=\"attachment_6416\" style=\"width: 766px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/odbc-json-driver-generate-quickbooks-query\/#main\" 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>\n<\/ol>\n<h3>Load QuickBooks Invoices data in MS SQL Server<\/h3>\n<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.\r\n<ol style=\"margin-left: 10px;\">\r\n \t<li>Assuming you have installed SQL Server and SSMS. If not then get both for FREE from here:\u00a0<a href=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/sql-server-editions-express\" target=\"_blank\" rel=\"noopener\">Get SQL Server Express<\/a>\u00a0and\u00a0\u00a0<a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/ssms\/download-sql-server-management-studio-ssms\" target=\"_blank\" rel=\"noopener\">Get SSMS<\/a><\/li>\r\n \t<li>Open SSMS and connect to SQL Server.<\/li>\r\n \t<li>Go to Root &gt; Server Objects &gt; Linked Servers node. Right click and click\u00a0<strong>New Linked Server...<\/strong>\r\n<div class=\"wp-caption alignnone\">\r\n\r\n<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>\r\n<p class=\"wp-caption-text\">Add Linked Server in SQL Server<\/p>\r\n\r\n<\/div><\/li>\r\n \t<li>\u00a0Now enter the linked server name, select Provider as SQL Native Client<\/li>\r\n \t<li>Enter data source as\u00a0<strong><span class=\"lang:default decode:true crayon-inline\">GatewayServerName, PORT_NUMBER<\/span><\/strong>\u00a0where 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>\r\n \t<li>Enter Catalog Name. This must match name from Data gateway Data sources grid &gt; Name column\r\n<div class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssms-sql-server-configure-linked-server-2.png\">\r\n<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\" \/>\r\n<\/a>\r\n<p class=\"wp-caption-text\">Configure Linked Server Provider, Catalog, Server, Port for ZappySys Data Gateway Connection<\/p>\r\n<\/div>\r\n<div style=\"color: #31708f;background-color: #d9edf7;border-color: #bce8f1;padding: 15px;margin-bottom: 20px;border: 1px solid transparent;border-radius: 4px;\">\r\n<strong>INFO:<\/strong><br\/>\r\n<ul>\r\n    <li>\r\n      For <strong>SQL Server 2012, 2014, 2016, 2017, and 2019<\/strong>, use the <em>SQL Server Native Client 11.0<\/em> as the Provider.\r\n    <\/li>\r\n    <li>\r\n      For <strong>SQL Server 2022 or higher<\/strong>, use the <em>Microsoft OLE DB Driver for SQL Server<\/em> as the Provider.\r\n    <\/li>\r\n  <\/ul>\r\n<\/div><\/li>\r\n \t<li>Click on Security Tab and select last option \"<strong>Be made using this security context<\/strong>\". Enter your gateway user account here.<\/li>\r\n<li>\r\n        <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>\r\n\t\t<div class=\"wp-caption alignnone\">\r\n\t\t\t<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\" \/>\r\n\t\t\t<p class=\"wp-caption-text\">RPC and MSDTC Settings<\/p>\r\n\t\t<\/div>\r\n        <hr \/>\r\n        <p>\r\n            You need to enable RPC Out if you plan to use <b><i>EXEC(...) AT [MY_LINKED_SERVER_NAME]<\/i><\/b> rather than OPENQUERY.\r\n            <br \/>\r\n            If don't enabled it, you will encounter the <i>'Server \"MY_LINKED_SERVER_NAME\" is not configured for RPC'<\/i> error.\r\n        <\/p>\r\n        <p>\r\n            Query Example:\r\n            <code class=\"sql\">EXEC('Select * from Products') AT [MY_LINKED_SERVER_NAME]<\/code>\r\n        <\/p>\r\n        <hr \/>\r\n        <p>\r\n            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).\r\n            <br \/>\r\n            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.\r\n        <\/p>\r\n        <p>\r\n            Query Example:\r\n<pre class=\"\">Insert Into dbo.Products \r\nEXEC('Select * from Products') AT [MY_LINKED_SERVER_NAME]<\/pre>\r\n        <\/p>\r\n        <hr \/>\r\n<\/li>\r\n \t<li>Click OK to save Linked Server<\/li>\r\n \t<li>In SSMS execute below SQL query to test your connectivity.\r\n<pre class=\"\">SELECT * FROM OPENQUERY( MY_LINKED_SERVER_NAME, 'SELECT * FROM $')<\/pre>\r\n<\/li>\r\n \t<li>Here is the preview after you run some REST API query in SQL Server. Notice that you can override default configuration by supplying\u00a0<a href=\"https:\/\/zappysys.com\/onlinehelp\/odbc-powerpack\/scr\/json-odbc-driver-connectionstring.htm\" target=\"_blank\" rel=\"noopener\">many parameters<\/a>\u00a0in WITH clause (second query example in the screenshot).\r\n<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\">\r\n<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\" \/>\r\n<\/a>\r\n<p class=\"wp-caption-text\">SSMS Output - Query REST API via Linked Server OPENQUERY statement (Connect to ZappySys Data Gateway)<\/p>\r\n\r\n<\/div><\/li>\r\n \t<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.\r\n<pre class=\"lang:tsql decode:true\">CREATE VIEW dbo.vw_MyAPICall_View \r\nAS \r\n\/*Call REST API inside SQL Server View*\/\r\nSELECT * FROM OPENQUERY( MY_LINKED_SERVER_NAME , 'SELECT * FROM $');\r\n\r\nGO\r\n<\/pre>\r\n<\/li>\r\n \t<li>Notice in above approach if you parameterize Stored Procedure then\u00a0<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>\r\n \t<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.\r\n<pre class=\"lang:tsql decode:true \">Select * into tblMyAPiData FROM OPENQUERY( MY_LINKED_SERVER_NAME , 'SELECT * FROM $')<\/pre>\r\n<div class=\"wp-caption alignnone\">\r\n\r\n<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>\r\n<p class=\"wp-caption-text\">Insert data into the new table<\/p>\r\n\r\n<\/div><\/li>\r\n \t<li>Let's insert and update records into the already created table <span class=\"lang:default decode:true crayon-inline\">\"tblMyAPiData\"<\/span>\r\n<ul>\r\n \t<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>\r\n \t<li>Now let's delete the old records from the database table which are updated.<\/li>\r\n \t<li>At the last insert all new API data into the database table.<\/li>\r\n \t<li>To do that, we need\u00a0to query like below SQL queries.<\/li>\r\n<\/ul>\r\n<pre class=\"lang:default decode:true\">SELECT * into #temp_tblMyAPiData FROM OPENQUERY(MY_LINKED_SERVER_NAME, 'SELECT * FROM $')\r\n\r\nDELETE FROM [dbo].[tblMyAPiData] WHERE id in (SELECT id FROM #temp_tblMyAPiData)\r\n\r\nINSERT INTO tblMyAPiData\r\nSELECT * FROM #temp_tblMyAPiData<\/pre>\r\n&nbsp;<\/li>\r\n \t<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.\r\n<pre class=\"lang:default decode:true\">Update dbtbl_1\r\nset dbtbl_1.field1 = dbtbl_2.field1,\r\n    dbtbl_1.field2 = dbtbl_2.field2\r\nFROM tblMyAPiData dbtbl_1\r\nJOIN (SELECT * FROM OPENQUERY(MY_LINKED_SERVER_NAME, 'SELECT * FROM $')) dbtbl_2 on dbtbl_1.id=dbtbl_2.id<\/pre>\r\n<div class=\"su-note-inner su-clearfix\" style=\"background-color: #fff4b7;border-color: #fffdf1;color: #333333\">\r\n<blockquote>*NOTE: If you are getting error like : \"<strong>Cannot resolve the collation conflict between \u201cLatin1_General_CI_AI\u201d and \u201cSQL_Latin1_General_CP1_CI_AS\u201d in the equal to operation<\/strong>\" then you need to query like this :\r\n<pre class=\"lang:default decode:true\">Update dbtbl_1\r\nset dbtbl_1.field1 = dbtbl_2.field1,\r\n    dbtbl_1.field2 = dbtbl_2.field2\r\nFROM tblMyAPiData dbtbl_1\r\nJOIN (SELECT * FROM OPENQUERY(MY_LINKED_SERVER_NAME, 'SELECT * FROM $')) dbtbl_2 \r\non dbtbl_1.id=dbtbl_2.id \r\n<strong>COLLATE SQL_Latin1_General_CP1_CI_AS<\/strong><\/pre>\r\n&nbsp;<\/blockquote>\r\n<\/div><\/li>\r\n<\/ol><\/div>\n<h2><span id=\"Step-by-Step_Import_REST_API_into_Power_BI\">Conclusion<\/span><\/h2>\n<p>So in this blog, we learned how to generate a QuickBooks API Token, Load QuickBooks Invoices data in MS SQL Server table using\u00a0<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 <strong>JSON \/ REST API Driver<\/strong> <a href=\"https:\/\/zappysys.com\/blog\/category\/odbc-powerpack\/odbc-drivers\/json-rest-api-driver\/\" target=\"_blank\" rel=\"noopener\">https:\/\/zappysys.com\/blog\/category\/odbc-powerpack\/odbc-drivers\/json-rest-api-driver\/<\/a>\u00a0to find out what\u00a0<em>this tool<\/em>\u00a0is capable of more.<\/p>\n<h2><span id=\"References\">References<\/span><\/h2>\n<p>Finally, you can use the following links for more information about the use of QuickBooks API with our tools:<\/p>\n<ul>\n<li><a href=\"https:\/\/developer.atlassian.com\/cloud\/jira\/platform\/rest\/\" target=\"_blank\" rel=\"noopener\">QuickBooks Documentation for API<\/a><\/li>\n<li><strong>Landing Page<\/strong>\u00a0for <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\u00a0<a href=\"https:\/\/youtu.be\/iwezz0Z3D4U\" target=\"_blank\" rel=\"noopener\">Tutorial Video<\/a>\u00a0here.<\/li>\n<li><strong>Help File:<\/strong>\u00a0Documentation of\u00a0<a href=\"https:\/\/zappysys.com\/onlinehelp\/odbc-powerpack\/index.htm#page=json-odbc-driver-intro.htm\" target=\"_blank\" rel=\"noopener\">JSON Driver<\/a>.<\/li>\n<li><strong>Blog\/articles link<\/strong>: <a href=\"https:\/\/zappysys.com\/blog\/category\/odbc-powerpack\/odbc-drivers\/json-rest-api-driver\/\" target=\"_blank\" rel=\"noopener\">https:\/\/zappysys.com\/blog\/category\/odbc-powerpack\/odbc-drivers\/json-rest-api-driver\/<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Introduction QuickBooks Online is a well-known Cloud-based Accounting Software. In this post, you will learn how to implement\u00a0QuickBooks Online API\u00a0Integration with SQL Server or any other RDBMS (e.g. Oracle, MySQL, Postgresql) using\u00a0ODBC\u00a0in few clicks. We will use\u00a0ODBC JSON \/ REST API Driver\u00a0to\u00a0read data from QuickBooks Online\u00a0and Load into SQL Server \/ other targets (Using OAuth [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":6399,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[277,225,347],"tags":[412,60,25,279,299,69],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>Read data from QuickBooks Online into SQL Server via ODBC Driver | ZappySys Blog<\/title>\r\n<meta name=\"description\" content=\"How to read data from QuickBooks Online in ODBC? | How to read data from QuickBooks Online | Loading QuickBooks Online Data into SQL Server\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Read data from QuickBooks Online into SQL Server via ODBC Driver | ZappySys Blog\" \/>\r\n<meta property=\"og:description\" content=\"How to read data from QuickBooks Online in ODBC? | How to read data from QuickBooks Online | Loading QuickBooks Online Data into SQL Server\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/\" \/>\r\n<meta property=\"og:site_name\" content=\"ZappySys Blog\" \/>\r\n<meta property=\"article:published_time\" content=\"2019-01-23T12:12:20+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2023-09-26T15:04:48+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/QuickBookLogo.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"225\" \/>\r\n\t<meta property=\"og:image:height\" content=\"225\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"ZappySys\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ZappySys\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/\",\"url\":\"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/\",\"name\":\"Read data from QuickBooks Online into SQL Server via ODBC Driver | ZappySys Blog\",\"isPartOf\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/QuickBookLogo.png\",\"datePublished\":\"2019-01-23T12:12:20+00:00\",\"dateModified\":\"2023-09-26T15:04:48+00:00\",\"author\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/c9dc782c929d0027e2e87e3951ce9d35\"},\"description\":\"How to read data from QuickBooks Online in ODBC? | How to read data from QuickBooks Online | Loading QuickBooks Online Data into SQL Server\",\"breadcrumb\":{\"@id\":\"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/#primaryimage\",\"url\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/QuickBookLogo.png\",\"contentUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/QuickBookLogo.png\",\"width\":225,\"height\":225,\"caption\":\"QuickBooks Online Logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/zappysys.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Read data from QuickBooks Online into SQL Server via ODBC Driver\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/zappysys.com\/blog\/#website\",\"url\":\"https:\/\/zappysys.com\/blog\/\",\"name\":\"ZappySys Blog\",\"description\":\"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/zappysys.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/c9dc782c929d0027e2e87e3951ce9d35\",\"name\":\"ZappySys\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/076a738938c19d459fbfe125c759a0ea?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/076a738938c19d459fbfe125c759a0ea?s=96&d=mm&r=g\",\"caption\":\"ZappySys\"},\"url\":\"https:\/\/zappysys.com\/blog\/author\/hshah\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Read data from QuickBooks Online into SQL Server via ODBC Driver | ZappySys Blog","description":"How to read data from QuickBooks Online in ODBC? | How to read data from QuickBooks Online | Loading QuickBooks Online Data into SQL Server","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/","og_locale":"en_US","og_type":"article","og_title":"Read data from QuickBooks Online into SQL Server via ODBC Driver | ZappySys Blog","og_description":"How to read data from QuickBooks Online in ODBC? | How to read data from QuickBooks Online | Loading QuickBooks Online Data into SQL Server","og_url":"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/","og_site_name":"ZappySys Blog","article_published_time":"2019-01-23T12:12:20+00:00","article_modified_time":"2023-09-26T15:04:48+00:00","og_image":[{"width":225,"height":225,"url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/QuickBookLogo.png","type":"image\/png"}],"author":"ZappySys","twitter_card":"summary_large_image","twitter_misc":{"Written by":"ZappySys","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/","url":"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/","name":"Read data from QuickBooks Online into SQL Server via ODBC Driver | ZappySys Blog","isPartOf":{"@id":"https:\/\/zappysys.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/#primaryimage"},"image":{"@id":"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/#primaryimage"},"thumbnailUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/QuickBookLogo.png","datePublished":"2019-01-23T12:12:20+00:00","dateModified":"2023-09-26T15:04:48+00:00","author":{"@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/c9dc782c929d0027e2e87e3951ce9d35"},"description":"How to read data from QuickBooks Online in ODBC? | How to read data from QuickBooks Online | Loading QuickBooks Online Data into SQL Server","breadcrumb":{"@id":"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/#primaryimage","url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/QuickBookLogo.png","contentUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/01\/QuickBookLogo.png","width":225,"height":225,"caption":"QuickBooks Online Logo"},{"@type":"BreadcrumbList","@id":"https:\/\/zappysys.com\/blog\/read-data-from-quickbooks-online-to-sql-server\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zappysys.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Read data from QuickBooks Online into SQL Server via ODBC Driver"}]},{"@type":"WebSite","@id":"https:\/\/zappysys.com\/blog\/#website","url":"https:\/\/zappysys.com\/blog\/","name":"ZappySys Blog","description":"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zappysys.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/c9dc782c929d0027e2e87e3951ce9d35","name":"ZappySys","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/076a738938c19d459fbfe125c759a0ea?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/076a738938c19d459fbfe125c759a0ea?s=96&d=mm&r=g","caption":"ZappySys"},"url":"https:\/\/zappysys.com\/blog\/author\/hshah\/"}]}},"_links":{"self":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/5133"}],"collection":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/comments?post=5133"}],"version-history":[{"count":33,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/5133\/revisions"}],"predecessor-version":[{"id":10601,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/5133\/revisions\/10601"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media\/6399"}],"wp:attachment":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media?parent=5133"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/categories?post=5133"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/tags?post=5133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}