Table [Dynamic Table]
Description
No description available
Supported Operations
Below section contains supported CRUD operations. Each operation is executed by some EndPoint behind the scene.| Method | Supported | Reference EndPoint | 
|---|---|---|
| SELECT | read_sheet_data | |
| INSERT | insert_sheet_data | |
| UPDATE | update_sheet_data | |
| UPSERT | ||
| DELETE | ||
| LOOKUP | read_sheet_data | 
Examples
SSIS
Use Google Sheets Connector in API Source component to read data or in API Destination component to read/write data:
Read from [Dynamic Table] table using API Source
| Required Parameters | |
|---|---|
| Range | Fill-in the parameter... | 
| Optional Parameters | |
| IncludeParentColumns | False | 
| ArrayTransformType | TransformColumnslessArray | 
| First Row Has Column Names | True | 
| ArrayTransCustomColumns | Col1,Col2,Col3 | 
 
Read/write to [Dynamic Table] table using API Destination
| Required Parameters | |
|---|---|
| Range | Fill-in the parameter... | 
| Optional Parameters | |
| IncludeParentColumns | False | 
| ArrayTransformType | TransformColumnslessArray | 
| First Row Has Column Names | True | 
| ArrayTransCustomColumns | Col1,Col2,Col3 | 
 
ODBC application
Use these SQL queries in your ODBC application data source:
Query from default Spreadsheet
Gets data from Tab name Sheet1 from SpreadSheet Id defined in the connection
SELECT * FROM [Sheet1]Query from User defined Spreadsheet
Gets data from Tab name 'Class Data' from user defined SpreadSheet Id
SELECT * FROM [Class Data] WITH(SpreadSheetId='1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms')Query from custom cell range
In this example we query Tab name 'Class Data' and we are reading Range 'A4:GR'.
SELECT * FROM [Class Data]
WITH(
	  Range='A4:GR'  --cell range you like to query
	, ArrayTransEnableCustomColumns='False' --do not treat first row in range as Column Names
	, SpreadSheetId='1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms'  --enter sheet id you like to query. Comment this if you like to use default ID defined in the connection
)Query from custom cell range
In this example we query Tab name 'Class Data' and we are reading Range 'A4:GR'.
UPDATE [Sheet1]
SET Col1='data-1', Col2=100, Col3='2020-01-31' --column names are ignored. Values are sent in the same order you supply and writtern to start cell specified by WriteRange
WITH(
	, WriteRange='G9' --start writing from here
	, SpreadSheetId='1az2H8ZYk7BvjddVTqPR-LfDjX9IRpIpjCDpFPe9EzkU' --comment this to use default Sheet Id from connection setting
)Update Multiple Rows in Sheet from CSV file
In this example we query CSV file as Source (Using ZapyySys CSV ODBC Driver) and updating Google Sheet in BULK.
UPDATE [Sheet1]
SOURCE(
 'ODBC',  --driver type ODBC | MSSQL | OLEDB
 'Driver={ZappySys CSV Driver};', --connection string for driver
 'SELECT * FROM $ WITH (SRC=''c:\data.csv'') ' --sql query for source data
)
WITH(
  WriteRange='G9', SpreadSheetId='1az2H8ZYk7BvjddVTqPR-LfDjX9IRpIpjCDpFPe9EzkU' --comment this to use default Sheet Id from connection setting 
)Update Values Vertically (Column Mode)
In this example we will write value as columns rather than row.
UPDATE [Sheet1]
SET Col1='Jan',Col2='Feb',Col3='Mar'
WITH(
  WriteRange='G9', 
  SpreadSheetId='1az2H8ZYk7BvjddVTqPR-LfDjX9IRpIpjCDpFPe9EzkU', --comment this to use default Sheet Id from connection setting
  MajorDimension='COLUMNS' --write values vertical rather horizontal
)Insert Data in Sheet1
Insert row to tab name Sheet1 in SheetId defined in connection
INSERT INTO "Sheet1"("MyStringCol", "MyIntegerCol", "MyDateCol", "MyDecimalCol") VALUES('AAA',100,'2020-01-01',150.33)Insert Multiple Rows in Sheet1 from CSV file
In this example we query CSV file as Source (Using ZapyySys CSV ODBC Driver) and updating Google Sheet in BULK.
INSERT INTO [Sheet1]
SOURCE(
 'ODBC', --driver type ODBC | MSSQL | OLEDB
 'Driver={ZappySys CSV Driver};', --connection string for driver
 'SELECT * FROM $ WITH (SRC=''c:\temp\dump.txt'') ' --sql query for source data
)
WITH(
  Range='G9', SpreadSheetId='1az2H8ZYk7BvjddVTqPR-LfDjX9IRpIpjCDpFPe9EzkU' --comment this to use default Sheet Id from connection setting 
)Write Values Vertically (Column Mode)
In this example we will write value as columns rather than row.
INSERT INTO [Sheet1](Col1,Col2,Col3) 
VALUES('Jan','Feb','Mar')
WITH(
  Range='G9', --starting cell to write data
  SpreadSheetId='1az2H8ZYk7BvjddVTqPR-LfDjX9IRpIpjCDpFPe9EzkU', --comment this to use default Sheet Id from connection setting
  MajorDimension='COLUMNS' --write values vertical rather horizontal
)SQL Server
Use these SQL queries in SQL Server after you create a data source in Data Gateway:
Query from default Spreadsheet
Gets data from Tab name Sheet1 from SpreadSheet Id defined in the connection
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT * FROM [Sheet1]';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_SHEETS_IN_GATEWAY];Query from User defined Spreadsheet
Gets data from Tab name 'Class Data' from user defined SpreadSheet Id
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT * FROM [Class Data] WITH(SpreadSheetId=''1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms'')';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_SHEETS_IN_GATEWAY];Query from custom cell range
In this example we query Tab name 'Class Data' and we are reading Range 'A4:GR'.
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT * FROM [Class Data]
WITH(
	  Range=''A4:GR''  --cell range you like to query
	, ArrayTransEnableCustomColumns=''False'' --do not treat first row in range as Column Names
	, SpreadSheetId=''1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms''  --enter sheet id you like to query. Comment this if you like to use default ID defined in the connection
)';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_SHEETS_IN_GATEWAY];Query from custom cell range
In this example we query Tab name 'Class Data' and we are reading Range 'A4:GR'.
DECLARE @MyQuery NVARCHAR(MAX) = 'UPDATE [Sheet1]
SET Col1=''data-1'', Col2=100, Col3=''2020-01-31'' --column names are ignored. Values are sent in the same order you supply and writtern to start cell specified by WriteRange
WITH(
	, WriteRange=''G9'' --start writing from here
	, SpreadSheetId=''1az2H8ZYk7BvjddVTqPR-LfDjX9IRpIpjCDpFPe9EzkU'' --comment this to use default Sheet Id from connection setting
)';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_SHEETS_IN_GATEWAY];Update Multiple Rows in Sheet from CSV file
In this example we query CSV file as Source (Using ZapyySys CSV ODBC Driver) and updating Google Sheet in BULK.
DECLARE @MyQuery NVARCHAR(MAX) = 'UPDATE [Sheet1]
SOURCE(
 ''ODBC'',  --driver type ODBC | MSSQL | OLEDB
 ''Driver={ZappySys CSV Driver};'', --connection string for driver
 ''SELECT * FROM $ WITH (SRC=''''c:\data.csv'''') '' --sql query for source data
)
WITH(
  WriteRange=''G9'', SpreadSheetId=''1az2H8ZYk7BvjddVTqPR-LfDjX9IRpIpjCDpFPe9EzkU'' --comment this to use default Sheet Id from connection setting 
)';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_SHEETS_IN_GATEWAY];Update Values Vertically (Column Mode)
In this example we will write value as columns rather than row.
DECLARE @MyQuery NVARCHAR(MAX) = 'UPDATE [Sheet1]
SET Col1=''Jan'',Col2=''Feb'',Col3=''Mar''
WITH(
  WriteRange=''G9'', 
  SpreadSheetId=''1az2H8ZYk7BvjddVTqPR-LfDjX9IRpIpjCDpFPe9EzkU'', --comment this to use default Sheet Id from connection setting
  MajorDimension=''COLUMNS'' --write values vertical rather horizontal
)';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_SHEETS_IN_GATEWAY];Insert Data in Sheet1
Insert row to tab name Sheet1 in SheetId defined in connection
DECLARE @MyQuery NVARCHAR(MAX) = 'INSERT INTO "Sheet1"("MyStringCol", "MyIntegerCol", "MyDateCol", "MyDecimalCol") VALUES(''AAA'',100,''2020-01-01'',150.33)';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_SHEETS_IN_GATEWAY];Insert Multiple Rows in Sheet1 from CSV file
In this example we query CSV file as Source (Using ZapyySys CSV ODBC Driver) and updating Google Sheet in BULK.
DECLARE @MyQuery NVARCHAR(MAX) = 'INSERT INTO [Sheet1]
SOURCE(
 ''ODBC'', --driver type ODBC | MSSQL | OLEDB
 ''Driver={ZappySys CSV Driver};'', --connection string for driver
 ''SELECT * FROM $ WITH (SRC=''''c:\temp\dump.txt'''') '' --sql query for source data
)
WITH(
  Range=''G9'', SpreadSheetId=''1az2H8ZYk7BvjddVTqPR-LfDjX9IRpIpjCDpFPe9EzkU'' --comment this to use default Sheet Id from connection setting 
)';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_SHEETS_IN_GATEWAY];Write Values Vertically (Column Mode)
In this example we will write value as columns rather than row.
DECLARE @MyQuery NVARCHAR(MAX) = 'INSERT INTO [Sheet1](Col1,Col2,Col3) 
VALUES(''Jan'',''Feb'',''Mar'')
WITH(
  Range=''G9'', --starting cell to write data
  SpreadSheetId=''1az2H8ZYk7BvjddVTqPR-LfDjX9IRpIpjCDpFPe9EzkU'', --comment this to use default Sheet Id from connection setting
  MajorDimension=''COLUMNS'' --write values vertical rather horizontal
)';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_SHEETS_IN_GATEWAY]; 
            