SQL Azure Data Export Service using C# - c#

I'm new to Azure, I want to know about how we can implement Data Export Service in C#.
Currently I am using windows azure for application development and sql azure for database. So there I want to read the data from my database and update that into some another client database based on a time interval.
I want to implement these function as a windows azure worker role. How can I do this?
Please help me...

I'm not sure what you're exactly trying to do but depending on your needs you could use one of the following options:
SQL DAC
This is more an import/export like approach (is this what you mean with "Data Export Service"?)
http://sqldacexamples.codeplex.com/wikipage?title=Import%20Export%20Service%20Client&referringTitle=Documentation
SQL Azure Data Sync
This is a synchronization solution, allowing you to use sync groups, filters, specific tables/columns, ... to synchronize data between multiple databases (both SQL Server and SQL Azure are supported).
http://msdn.microsoft.com/en-us/library/hh456371.aspx

As pointed out by Sandrino, you can use SQL Azure Data Sync. It supports the features you want to implement. Using an existing product is usually much easier than write your own.
If you want to write your own, please distinguish which data has been modified. You can take the same route as Data Sync does: Create triggers in the database. Whenever a data is inserted, updated, deleted, the trigger is invoked, and you insert some metadata in a tracking table. Then your worker role code queries the tracking table to figure out what data needs to be synched.
Best Regards,
Ming Xu.

I've written a blog post about this which uses some straightforward tooling to achieve a simple export and import, using task scheduler than worker-role which makes it pretty easy:
https://iainhunter.wordpress.com/2012/08/21/sql-azure-disaster-recovery/

Related

How to create automated web api from sql trigger

I am writing to seek advice to what approach and process to consider/or take, for creating a web api, which calls new data record automatically from the database table, when database table(db.data) is updated with a new data record.
Having done some research, I have only come up with creating sql trigger which can get data, from the db.data, database table, when the table is updated/after insert. After that, I am little unsure, how to connect that to web-api, if even possible to do so.
Any advice or suggestion would be very much appreciated, in what steps this task involve.
Many thanks.
I recommend .NET CLR Triggers. This is code you write in .NET (i.e. C#) which is then loaded into SQL Server and can be executed just as classic SQL trigger.
More information here: http://msdn.microsoft.com/en-us/library/ms131093(SQL.90).aspx

.net windows application store data offline and store to db when there is network

I am developing a windows application for agricultural purpose. This application will be used by multiple users to maintain the data. The main issue is there won't be network connectivity on the work location. But however by end of the day they can go and synchronize if there are any option.
I just want to know how can we import and store all the data locally and update the data to database when there is network.
The options that i thought is to have SQL on every machine that runs this application. Store the data to local database when there is no network.
Having a separate button to export the local data to the centralized database when there is network.
Looks like this is complicated. Is there any better and easier option.
I prefer using c#, Visual studio.
Thanks.
You can use SQLite for storing data locally. It's fast, lightweight, and public domain.
You can use whatever the database of choice for the centralized server.
Well, this a quite broad question, as it has many options and scenarios. The questions you should ask yourself are:
Does user handle new information only or any information from any other user from the previous syncing?
Do you have to handle update conflicts?
Do you handle text information only or you have complex types and binary files?
As for the solution, the easiest way, from my point of view, would be using SQL Lite on portable devices, is a lightweight SQL client that will allow you to handle information easily. On the server you can use whatever you want, SQL Server, MySQL or any other SQL flavor you may like. Just make sure there is a connector for your portable device OS.
If you keep thinking of using SQL server on the portable device, it's a battery hogger!!!, you might want to check Microsoft Sync framework, as it provides almost all possible scenarios for handling data syncing, manage conflicts, etc.
Thanks for the answers. Please find the below solution that we implemented.
1) Installed SQL express on all the local machines
2) Used Microsoft Sync framework to sync the data. The sync is configured on demand.
Issues faced:
1) We were using geometry datatype on few tables and this was not supported by sync framework.
2) Any change in the database schema will not reflect on the client machine. We will have to delete all the system generated procedures used to track the table change and regenerate it. I am sure there will be a much better way to do this.
Cheers,
Jebli

Better approach for extracting data from Serve DB to local DB using APIs

I need a better approach/way of extracting data from database through APIs and populate it in the local DB (SQL Server).
Currently I am using a website to do this and using button click to update local DB by calling the update method through APIs.
I need to make it automatically triggered like a scheduler will call the update method to update the local DB.
Let’s say I am extracting the TFS data of my project and dumping the data to local DB through TFS APIs.
I need this update method to run at regular intervals (intervals could be configured by user).
Which approach will be the best bet here. (Using .Net technology). I am considering the WCF Data Service to do this. Will this work for above constraints.
P.S. Not sure what should be the #tags to use here. Please modify accordingly.
The TFS data store is a SQL Server. You could just use that instead of extracting it unless your TFS installation is heavily loaded.
HAve you considered SSIS (http://msdn.microsoft.com/en-gb/sqlserver/cc511477.aspx)

SQL Server Notifications

I'm building an application which extracts data from SQL Server, the version of the server might differ from 2005 to 2012 but most important are 2008 and 2012.
If I want to listen to changes to certain tables and rows in the database, and send or fetch these changes and use them in my C# application what is the best approach?
I will not need to update any data in the database, that is the job for another already existing application.
I just want to listen to changes, or poll for changes, or anything like that.
In your experience, what is best, Service Broker? Query notifications? MSMQ? SqlDependency? Change data tracking?
Thanks in advance!
Consider using SQL Server CLR integration in combination with triggers.
For example you can protocol the changes you wish (let say in a table you create for this purpose), and you can run a watch dog process which pulls the data in constant intervals or at certain points of time up to your needs.
I think you can make use SQL Server exposed performance counters.

A GUI which creates and uses a database and installes easily

I want to create a GUI with C++ (QT4). The GUI should work on Windows and should be able to
create a database
use the database created by it (I should use an existing DBMS, in order not to worry for queries)
database should be specific to the GUI, other software should not be able to use that database (the database may be for example encoded)
the gui with its ability of working with database should be easily installed on the other computers, that is I don't won't to ask user to change some options on his computer manually
So my questions are:
What kind of database can help me to do this, what I should learn connected with database to be able to perform this task?
Should I encode the database by my GUI, or databases have such command to save them on disk already encoded?
Thanks!
You could try looking into SQLite. The library can be used with C++. It will not need an external DBMS. SQLite is embedded into your application, and you can access you database through it. Also, the database files it produces can be encoded, so it will be accessible to your application only.
first, you should decide what are the scenario your system going to be applied.
then only proceed to source for database provider (MySQL, Postgres, etc).
you can't really jump to UI implementation straight away because all of the database mentioned above can do what you need.

Categories