Please enable JavaScript to view this site.

Knack Forums

Navigation: » No topics above this level «

Knack API SQL Driver

Invantive SQL is the fastest, easiest and most reliable way to exchange data with the Knack API.

Use the "Search" option in the left menu to search for a specific term such as the table or column description. When you already know the term, please use the "Index" option. When you can't find the information needed, please click on the Chat button at the bottom or place your question in the user community. Other users or Invantive Support will try to help you to our best.

Knack is a low-code platform to build online databases.

The Knack driver covers 39 tables and 751 columns.

Knack API Clients

Invantive SQL is available on many user interfaces ("clients" in traditional server-client paradigma). All Invantive SQL statements can be exchanged with a close to 100% compatibility across all clients and operating systems (Windows, MacOS, Linux, iOS, Android).

The clients include Microsoft Excel, Microsoft Power BI, Microsoft Power Query, Microsoft Word and Microsoft Outlook. Web-based clients include Invantive Cloud, Invantive Bridge Online as OData proxy, Invantive App Online for interactive apps, Online SQL Editor for query execution and Invantive Data Access Point as extended proxy.

The Knack Power BI connector is based on the Invantive SQL driver for Knack, completed by a high-performance OData connector which works straight on Power BI without any add-on. The OData protocol is always version 4, independent whether the backing platform uses OData, SOAP or another protocol.

For technical users there are command-line editions of Invantive Data Hub running on iOS, Android, Windows, MacOS and Linux. Invantive Data Hub is also often used for enterprise server applications such as ETL. High-volume replication of data taken from the Knack API into traditional databases such as SQL Server (on-premise and Azure), MySQL, PostgreSQL and Oracle is possible using Invantive Data Replicator. Invantive Data Replicator automatically creates and maintains Knack datawarehouses, possibly in combination with data from over 70 other (cloud) platforms. Data Replicator supports data volumes up to over 1 TB and over 5.000 companies. The on-premise edition of Invantive Bridge offers an Knack ADO.net provider.

Finally, online web apps can be build for Knack using App Online of Invantive Cloud.

Monitor API Calls

When a query or DML-statement has been executed on Invantive SQL a developer can evaluate the actual calls made to the Knack API using a query on sessionios@DataDictionary. As an alternative, extensive request and response logging can be enabled by setting log-native-calls-to-disk to true. In the %USERPROFILE%\Invantive\NativeLog folder Invantive SQL will create log files per API request and response.

Specifications

The SQL driver for Knack does not support partitioning. Define one data container in a database for each company in Knack to enable parallel access for data from multiple companies.

An introduction into the concepts of Invantive SQL such as databases, data containers and partitioning can be found in the Invantive SQL grammar.

The configuration can be changed using various attributes during log on and use. A full list of configuration options is listed in the driver attributes.

The catalog name is used to compose the full qualified name of an object like a table or view. The schema name is used to compose the full qualified name of an object like a table or view. On Knack the comparison of two texts is case sensitive by default.

Changes and bug fixes on the Knack SQL driver can be found in the release notes. Get access to the Knack community through the Knack section of the Invantive forums.

Driver code for use in settings.xml: Knack

Alias: knack

Recommended alias: knk

More technical documentation as provided by the supplier of the Knack API on the native APIconnection used can be found at https://www.knack.com/developer-documentation.

AuthenticationAuthentication can be done using one of the following two alternatives:1. Using the user log on code and password to access Knack views.2. Using an API key to access Knack objects.The API key can be found on the 'API & Code' page in Knack available through the settings gear on the top-left corner next to the word 'Integration'. The URL for the API key is https://builder.knack.com/SAMPLE/integration#settings/api, with 'SAMPLE' replaced by your slug. The slug is the word before 'knack.com' when running your app.

Usage LimitsInvantive SQL executes API calls to retrieve and upload data. The number of API calls allowed per hour depends on your Knack plan. The default usage limits vary depending on plan between 1.000 and 25.000 calls per day, with a limit of 10 calls per second. Invantive SQL ensures that within your session the number of calls allowed per hour is not exceeded.To get an impression of how Invantive SQL translates into API calls, please query the data dictionary view 'sessionios', such as with 'select * from sessionios@datadictionary'.

16-06-2022 09:35 Version 22.1.46-BETA+3385

X

Important Safety and Usage Information

Intended Use and Limitations: This software, developed by Invantive, is designed to support a variety of business and information technology data processing functions, such as accounting, financial reporting an sales reporting. It is important to note that this software is not designed, tested, or approved for use in environments where malfunction or failure could lead to life-threatening situations or severe physical or environmental damage. This includes, but is not limited to:

  • Nuclear facilities: The software should not be used for operations or functions related to the control, maintenance, or operation of nuclear facilities.
  • Defense and Military Applications: This software is not suitable for use in defense-related applications, including but not limited to weaponry control, military strategy planning, or any other aspects of national defense.
  • Aviation: The software is not intended for use in the operation, navigation, or communication systems of any aircraft or air traffic control environments.
  • Healthcare and Medicine Production: This software should not be utilized for medical device operation, patient data analysis for critical health decisions, pharmaceutical production, or medical research where its failure or malfunction could impact patient health.
  • Chemical and Hazardous Material Handling: This software is not intended for the management, control, or operational aspects of chemical plants or hazardous material handling facilities. Any malfunction in software used in these settings could result in dangerous chemical spills, explosions, or environmental disasters.
  • Transportation and Traffic Control Systems: The software should not be used for the control, operation, or management of transportation systems, including railway signal controls, subway systems, or traffic light management. Malfunctions in such critical systems could lead to severe accidents and endanger public safety.
  • Energy Grid and Utility Control Systems: This software is not designed for the control or operation of energy grid systems, including electrical substations, renewable energy control systems, or water utility control systems. The failure of software in these areas could lead to significant power outages, water supply disruptions, or other public utility failures, potentially endangering communities and causing extensive damage.
  • Other High-Risk Environments: Any other critical infrastructure and environments where a failure of the software could result in significant harm to individuals or the environment.

User Responsibility: Users must ensure that they understand the intended use of the software and refrain from deploying it in any setting that falls outside of its designed purpose. It is the responsibility of the user to assess the suitability of the software for their intended application, especially in any scenarios that might pose a risk to life, health, or the environment.

Disclaimer of Liability: Invantive disclaims any responsibility for damage, injury, or legal consequences resulting from the use or misuse of this software in prohibited or unintended applications.

  
Disclaimer