![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) Azure Table Insert EntitySee more Azure Table Service ExamplesInsert an entity into an Azure table.For more information, see https://docs.microsoft.com/en-us/rest/api/storageservices/insert-entity
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @iTmp0 int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) -- This example requires the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. DECLARE @rest int -- Use "Chilkat_9_5_0.Rest" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Rest', @rest OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int -- IMPORTANT: Make sure to change "myaccount" to your actual Azure Storage Account name. -- IMPORTANT: Also change "mytable" to the name of your Azure table. -- We're going to POST to this URL: https://myaccount.table.core.windows.net/mytable DECLARE @bTls int SELECT @bTls = 1 DECLARE @port int SELECT @port = 443 DECLARE @bAutoReconnect int SELECT @bAutoReconnect = 1 EXEC sp_OAMethod @rest, 'Connect', @success OUT, 'myaccount.table.core.windows.net', @port, @bTls, @bAutoReconnect IF @success <> 1 BEGIN EXEC sp_OAGetProperty @rest, 'ConnectFailReason', @iTmp0 OUT PRINT 'ConnectFailReason: ' + @iTmp0 EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @rest RETURN END -- Provide Azure Cloud credentials for the REST call. DECLARE @azAuth int -- Use "Chilkat_9_5_0.AuthAzureStorage" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.AuthAzureStorage', @azAuth OUT EXEC sp_OASetProperty @azAuth, 'AccessKey', 'AZURE_ACCESS_KEY' -- The account name used here should match the 1st part of the domain passed in the call to Connect (above). EXEC sp_OASetProperty @azAuth, 'Account', 'myaccount' EXEC sp_OASetProperty @azAuth, 'Scheme', 'SharedKey' EXEC sp_OASetProperty @azAuth, 'Service', 'Table' -- This causes the "x-ms-version: 2019-07-07" header to be automatically added. EXEC sp_OASetProperty @azAuth, 'XMsVersion', '2019-07-07' EXEC sp_OAMethod @rest, 'SetAuthAzureStorage', @success OUT, @azAuth -- Note: The application does not need to explicitly set the following -- headers: Content-Length, x-ms-date, Authorization. These headers -- are automatically set by Chilkat. -- Note: The above code does not need to be repeatedly called for each REST request. -- The rest object can be setup once, and then many requests can be sent. Chilkat will automatically -- reconnect within a FullRequest* method as needed. It is only the very first connection that is explicitly -- made via the Connect method. -- Use this online tool to generate code from sample JSON: -- Generate Code to Create JSON -- The following JSON is sent in the request body. -- { -- "PartitionKey":"mypartitionkey", -- "RowKey":"myrowkey", -- "Timestamp":"2013-08-22T01:12:06.2608595Z", -- "Address":"Mountain View", -- "Age":23, -- "AmountDue":200.23, -- "CustomerCode":"c9da6455-213d-42c9-9a79-3e9149a57833", -- "CustomerSince":"2008-07-10T00:00:00", -- "IsActive":true, -- "NumberOfOrders":"255" -- } DECLARE @json int -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @json OUT EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'PartitionKey', 'mypartitionkey' EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RowKey', 'myrowkey' EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'Timestamp', '2013-08-22T01:12:06.2608595Z' EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'Address', 'Mountain View' EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'Age', 23 EXEC sp_OAMethod @json, 'UpdateNumber', @success OUT, 'AmountDue', '200.23' EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'CustomerCode', 'c9da6455-213d-42c9-9a79-3e9149a57833' EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'CustomerSince', '2008-07-10T00:00:00' EXEC sp_OAMethod @json, 'UpdateBool', @success OUT, 'IsActive', 1 EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'NumberOfOrders', '255' -- IMPORTANT: Pay attention to the options for nometadata, minimalmetadata, or fullmetadata. -- See the Azure table service API documentation at https://docs.microsoft.com/en-us/rest/api/storageservices/insert-entity EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'Accept', 'application/json;odata=nometadata' EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'Prefer', 'return-no-content' EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'Content-Type', 'application/json' DECLARE @sbRequestBody int -- Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbRequestBody OUT EXEC sp_OAMethod @json, 'EmitSb', @success OUT, @sbRequestBody DECLARE @sbResponseBody int -- Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbResponseBody OUT -- IMPORTANT: Change "mytable" to the name of your actual table. EXEC sp_OAMethod @rest, 'FullRequestSb', @success OUT, 'POST', '/mytable', @sbRequestBody, @sbResponseBody IF @success <> 1 BEGIN EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @azAuth EXEC @hr = sp_OADestroy @json EXEC @hr = sp_OADestroy @sbRequestBody EXEC @hr = sp_OADestroy @sbResponseBody RETURN END -- A status code of 204 is a success response for the case where Prefer=return-no-content. DECLARE @respStatusCode int EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @respStatusCode OUT PRINT 'Response Status Code = ' + @respStatusCode IF @respStatusCode >= 400 BEGIN PRINT 'Response Header:' EXEC sp_OAGetProperty @rest, 'ResponseHeader', @sTmp0 OUT PRINT @sTmp0 PRINT 'Response Body:' EXEC sp_OAMethod @sbResponseBody, 'GetAsString', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @azAuth EXEC @hr = sp_OADestroy @json EXEC @hr = sp_OADestroy @sbRequestBody EXEC @hr = sp_OADestroy @sbResponseBody RETURN END PRINT 'Success.' EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @azAuth EXEC @hr = sp_OADestroy @json EXEC @hr = sp_OADestroy @sbRequestBody EXEC @hr = sp_OADestroy @sbResponseBody END GO |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.