Достъпа до данните в ErpNet през API се прави по OData стандарта. Има различни инструменти, които позволяват извличане и обработката на OData данни. Тук ще разгледам възможността за направа на заявки към ErpNet Сървър последством SQL Management Studio по същия начин, както се правят заявки към обикновена база данни. Това може да е полезно при масова обработка на номенклатури – иморт, ъпдейт, добавяне на характеристики и други.
За целта се използват два инструмента на CData, както и самото SQL Management Studio.
Инструмените са:
OData ODBC Driver
https://www.cdata.com/drivers/odata/odbc/
и
Cdata SQL Gateway
Този инструмент присъства в инсталацията на OData ODBC Driver
- Първо се инсталира OData ODBC Driver и се настройва връзка с ErpNet базата данни
Настройката се прави през Control Panel\All Control Panel Items\Administrative Tools\ ODBC Data Sources
Добавя се нов DSN, като се използва Cdata ODBC Driver for OData
Използва се адресът на базата данни и по конкретно поддомейна за OData
https://internal-nbeta.my.erp.net/api/domain/odata/
Потребител и парола за базата данни и BASIC Auth Scheme
- С така настроения DSN се настройва и CData SQL Gateway
2.1. В Services
- Поставя се име на сървиса
- Избира се TDS(SQL Server), като вид на Gateway
- В Data Source се избират настроения DSN в т. 1.
- Порт 1433
2.2. В Users се дефинират потребителите с които ще се достъпва Gateway
- Настройка на SQL Management Studio
3.1. Стартира се студиото и се свързвате къв някой ваш сървър
3.2. След това от Server Objects / Linked Servers се добавя нов свързан сървър
3.2.1. В General
- Задава се Име на свързания сървър
- Provider = SQL Server Native Client
- Data Source = Server name, 1433
Server name е името на машината, където е инсталиран CData Gateway
- Catalog = DSN от т.1
3.2.2. В Security
- Избира се опцията Be made using this security context
- Попълва се името и паролата девинирани в т. 2.2. за достъп до Gateway
- Сървърът се появава в Linked Servers
- Изпълняване на заявки в свързаната база
От менюто се избира New Query
- Можем да изпълняваме Select заявки например
SELECT * FROM [NBETA1].[E1 NBETA ODATA].[OData].[Crm_Customers]
Таблиците трябва да се подават във вида:
[linked server name].[CData OData Sys].[OData].[Table]
- Update Query
Например задаване на стойност на потребителска харктеристика
UPDATE [NBETA1].[E1 NBETA ODATA].[OData].[Crm_Customers]
SET CustomProperty_1001_Value = '01', CustomProperty_1001_Description_BG = '01 Х-ка11', CustomProperty_1001_ValueId = 'd5802ad9-1e65-4b76-9ae8-26d70e831b99'
WHERE Id = 'beb5455b-4436-e311-81cb-00155d001f00'
Помяната се отразява в ErpNet
2 Коментари