I made a WPF application using VS2013, coded in .NET. It is working fine in my local SQL Server. But I want to use it to upload data from a local database to a remote database. How can I do this?

I have three buttons (UPLOAD, DOWNLOAD, SYNC), and three stored procedures in SQL Server.

  • Upload will run insert into Database123.table, select * from DATABASE456.table
  • Download will run insert into database456.table2, select * from database123.table2
  • sync will run delete from databse456.table1 where id in database456.table2

But i want to use a remote database in place of database123. How can I do this?

closed as unclear what you're asking by mustaccio, hot2use, LowlyDBA, McNets, Mr.Brownstone Dec 7 at 22:01

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

I can see four ways you could accomplish this:

1. Linked servers

You can establish a linked server on both the local and remote SQL Server, which will allow you to reference tables not only on the same machine, but also on the remote machine, like so:

INSERT INTO some_server.some_database.some_schema.some_table SELECT * FROM local_database.local_schema.local_table;

You might run into trouble with your database administrators - some are perfectly fine with linked servers, others not. Also, there's a bit of work to making authentication over linked servers work without introducing security risks.

2. Replace the stored procedures with application logic

Create two connections in your application, one to the source database, the other one to the target database. Then, for each row you read on the source connection, you insert/delete/perform some action on the target connection.

The downside with this approach is that you can run into performance issues if you work with large amounts of data, or if you're not careful with your database design and indexing.

3. ETL tools

There are a range of data tools out there, including SSIS and Pentaho, that allow you to create data transfer/synchronization processes in a graphical interface in Visual Studio. SSIS is included with SQL Server.

Obviously, there's a considerable learning curve to mastering these tools.

4. SQL Server replication

For bonus points, see if setting up replication between the two SQL Servers could solve your problem, or ask a database administrator for help with this.

  • If it's just a simple select * into table blah. I imagine setting up the integration services package for these would be super simple to create. – Zane Dec 5 at 17:20
  • Cool! I really can't help you with app development, as this is a database forum. If you have specific programming-related questions, you should look at stackexchange.com. – Daniel Hutmacher Dec 6 at 14:05
  • thanks , I am going to stackexchange.com. – DIPANKAR Dec 6 at 14:32

Not the answer you're looking for? Browse other questions tagged or ask your own question.