SQL Server
SQL Server
Firebase DELETE - Removing Data
See more Firebase Examples
Uses the DELETE method to delete data. The data used in this example is at Chilkat Firebase Pigs Database, and is shown here:
Chilkat SQL Server Downloads
-- 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)
DECLARE @success int
SELECT @success = 0
-- Uses the DELETE method to delete a Firebase record.
-- This example requires the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
-- This example assumes a JWT authentication token, if required, has been previously obtained.
-- See Get Firebase Access Token from JSON Service Account Private Key for sample code.
-- Load the previously obtained Firebase access token into a string.
DECLARE @fac int
EXEC @hr = sp_OACreate 'Chilkat.FileAccess', @fac OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
DECLARE @accessToken nvarchar(4000)
EXEC sp_OAMethod @fac, 'ReadEntireTextFile', @accessToken OUT, 'qa_data/tokens/firebaseToken.txt', 'utf-8'
EXEC sp_OAGetProperty @fac, 'LastMethodSuccess', @iTmp0 OUT
IF @iTmp0 <> 1
BEGIN
EXEC sp_OAGetProperty @fac, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @fac
RETURN
END
DECLARE @rest int
EXEC @hr = sp_OACreate 'Chilkat.Rest', @rest OUT
-- Make the initial connection (without sending a request yet).
-- Once connected, any number of requests may be sent. It is not necessary to explicitly
-- call Connect before each request.
EXEC sp_OAMethod @rest, 'Connect', @success OUT, 'chilkat.firebaseio.com', 443, 1, 1
IF @success <> 1
BEGIN
EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @fac
EXEC @hr = sp_OADestroy @rest
RETURN
END
DECLARE @authGoogle int
EXEC @hr = sp_OACreate 'Chilkat.AuthGoogle', @authGoogle OUT
EXEC sp_OASetProperty @authGoogle, 'AccessToken', @accessToken
EXEC sp_OAMethod @rest, 'SetAuthGoogle', @success OUT, @authGoogle
-- Chilkat's sample data (pig-rescue data) is publicly readable at: https://chilkat.firebaseio.com/.json
-- This data is publicly readable, but not writable. You'll need to
-- run against your own database..
-- We're going to delete a pig we previously added. The push ID of that pig was -KI3pT33wKauiMxY4QTB,
-- so the path will be "/pig-rescue/animal/-KI3pT33wKauiMxY4QTB.json"
DECLARE @jsonResponse nvarchar(4000)
EXEC sp_OAMethod @rest, 'FullRequestNoBody', @jsonResponse OUT, 'DELETE', '/pig-rescue/animal/-KI3pT33wKauiMxY4QTB.json'
EXEC sp_OAGetProperty @rest, 'LastMethodSuccess', @iTmp0 OUT
IF @iTmp0 <> 1
BEGIN
-- Something happened in the communications (either no request was sent, or no response was received.
-- (The Chilkat REST API also has lower-level methods where an app can send the request in one call,
-- and then receive the response in another call.)
EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @fac
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @authGoogle
RETURN
END
-- Check the response status code. A 200 response status indicates success.
EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @iTmp0 OUT
IF @iTmp0 <> 200
BEGIN
EXEC sp_OAGetProperty @rest, 'ResponseStatusText', @sTmp0 OUT
PRINT @sTmp0
PRINT @jsonResponse
PRINT 'Failed.'
EXEC @hr = sp_OADestroy @fac
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @authGoogle
RETURN
END
PRINT 'Success.'
EXEC @hr = sp_OADestroy @fac
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @authGoogle
END
GO