I’m a beginner, I want to fetch data from Zoho Crm and then insert it into a SQL Server database by calling a stored procedure in C#
My way :
-
Using Zoho API whit URL (it works well)
-
Using
XmlDocumentto load XML data from URL above (it work well)
My code :
XmlDocument doc = new XmlDocument();
doc.Load("https://crm.zoho.com/crm/private/xml/Accounts/getRecords?newFormat=1&authtoken=mytoken&scope=crmapi&lastModifiedTime=2011-05-27%2000:00:00&fromIndex=1482&toIndex=1682");
Now how to insert to database using stored procedure?
Data example :
Note : the number of FL element maybe difference in each row
<response uri="/crm/private/xml/Accounts/getRecords">
<result>
<Accounts>
<row no="1">
<FL val="ACCOUNTID">380198000000068646</FL>
<FL val="SMOWNERID">380198000000052013</FL>
<FL val="Account Owner">Mai Tran</FL>
<FL val="Account Name">Trung Tâm Nghiên Cứu & Phát Triển Chế Biến Dầu Khí</FL>
<FL val="Website">www.pvpro.com.vn</FL>
<FL val="Industry">Energy, Oil & Gas</FL>
<FL val="SMCREATORID">380198000000041003</FL>
<FL val="Created By">Bach Tran Phuong</FL>
<FL val="MODIFIEDBY">380198000000041003</FL>
<FL val="Modified By">Tran Phuong</FL>
<FL val="Created Time">2011-05-04 09:49:11</FL>
<FL val="Modified Time">2012-02-24 14:41:48</FL>
<FL val="Billing Street">4 Nguyen Thong St</FL>
<FL val="District">Q.3</FL>
<FL val="City">Hồ Chí Minh</FL>
</row>
<row no="2">
<FL val="ACCOUNTID">380198000000068644</FL>
<FL val="SMOWNERID">380198000000041003</FL>
<FL val="Account Owner">Bach Tran Phuong</FL>
<FL val="Account Name">Tổng Cty Tư Vấn Thiết Kế</FL>
<FL val="Phone">6297 1778</FL>
<FL val="SMCREATORID">380198000000041003</FL>
<FL val="Created By">Bach Tran Phuong</FL>
<FL val="MODIFIEDBY">380198000000041003</FL>
<FL val="Modified By">Tran Phuong</FL>
<FL val="Created Time">2011-05-04 09:49:11</FL>
<FL val="Modified Time">2012-02-24 14:40:42</FL>
<FL val="Billing Street">Parkson Tân Sân Nhất</FL>
<FL val="District">Tân Bình</FL>
<FL val="City">Hồ Chí Minh</FL>
<FL val="Alternative Names">PV Engineering</FL>
</row>
<row no="3">
<FL val="ACCOUNTID">380198000000068642</FL>
<FL val="SMOWNERID">380198000000052015</FL>
<FL val="Account Owner">Trang Do Thi</FL>
<FL val="Account Name">CTY TNHH BẢO HIỂM NHÂN THỌ VIỆT NAM</FL>
<FL val="Phone">9 101 660</FL>
<FL val="Account Type">Active</FL>
<FL val="Industry">Financial Services</FL>
<FL val="SMCREATORID">380198000000041003</FL>
<FL val="Created By">Bach Tran Phuong</FL>
<FL val="MODIFIEDBY">380198000000041003</FL>
<FL val="Modified By">Tran Phuong</FL>
<FL val="Created Time">2011-05-04 09:49:11</FL>
<FL val="Modified Time">2012-04-27 11:02:25</FL>
<FL val="Billing Street"> Tôn Đức Thắng P.Bến Nghé</FL>
<FL val="Phone 2">9 101 659</FL>
<FL val="District">Q.1</FL>
<FL val="City">Hồ Chí Minh</FL>
<FL val="Key Contact">Duy Nhật</FL>
<FL val="Partner Type">Loyal Partner</FL>
<FL val="Collection">1859353554</FL>
<FL val="Alternative Names">Việt Nam</FL>
</row>
<row no="4">
<FL val="ACCOUNTID">380198000000068638</FL>
<FL val="SMOWNERID">380198000000052015</FL>
<FL val="Account Owner">Trang Do Thi</FL>
<FL val="Account Name">Cty TNHH Gia Dụng Phương Gia</FL>
<FL val="SMCREATORID">380198000000041003</FL>
<FL val="Created By">Bach Tran Phuong</FL>
<FL val="MODIFIEDBY">380198000000041003</FL>
<FL val="Modified By">Bach Tran Phuong</FL>
<FL val="Created Time">2011-05-04 09:49:11</FL>
<FL val="Modified Time">2012-02-24 13:52:25</FL>
<FL val="Billing Street">Cao Thang</FL>
<FL val="District">Q.3</FL>
<FL val="City">Hồ Chí Minh</FL>
<FL val="Alternative Names">Home Appliances ltd</FL>
</row>
</Accounts>
</result>
</response>
Step 1: create your stored procedure:
This assumes you’re on SQL Server 2005 or newer, and you’re storing your XML in a column that is really of datatype
XML. Adapt table and column name as needed to match your situation.Step 2: from C#, call your stored procedure using standard ADO.NET classes:
That’s really all there is!
Update: OK, so you want to actually shred the XML into individual columns – in that case, you need to do something like this in your stored procedure: