Click here to Skip to main content
13,410,713 members (32,238 online)
Click here to Skip to main content
Add your own
alternative version

Tagged as


6 bookmarked
Posted 5 Jan 2011

REMOTING using SQL Server

, 7 Jan 2011
Rate this:
Please Sign up or sign in to vote.
Example to implement remoting concept using SQL Server database
Well, this is a very simple example to implement the remoting concept using SQL Server database.
It consists of 3 parts:
1)Business Component
2)Server application
3)Client application

I have used the Northwind database of the SQL Server in the business logic layer.The code works OK.

How to execute?

1)Click on the exe in the server application.
2)Click on the exe in the client application.

The Client exe will execute as long as the server exe is running. The moment server exe is stopped, Client will generate an exception.
//Note: If you are using 2 machines, specify the IP address of the server machine in place of the localhost.

Business Component:

//pwd is 1234: Use the password of your system. Northwind database must be installed
//You can specify the IP Address of the
//server computer in place of .

1)Open a class library project. Name it as remlibrary.
2)Type this code in the class file. Name the class as product.

using System; 
using System.Data; 
using System.Data.SqlClient; 

public class product:MarshalByRefObject 
public DataSet GetDataFromDatabase(int catID) 
SqlConnection cn = new SqlConnection("server=.;uid=sa;pwd=1234;database=northwind"); 
SqlDataAdapter da = new SqlDataAdapter("select productname,unitprice from products where categoryid=@a", cn); 
da.SelectCommand.Parameters.AddWithValue("@a", catID); 
DataSet ds = new DataSet(); 
da.Fill(ds, "abc"); 
return ds; 

Server application:

1)Open a Console Application. Name it as ConsoleApplicationrem.
2)Add a reference to System.RunTime.Remoting.dll.
3) Add reference to the remlibrary DLL.

//Note: The port number is 6 for the TCP protocol. 
//8085 or other port numbers are just fictitious port numbers. 
//For implementing on 2 different machines, the port number must be 6 using TCP 

using System; 
using System.Runtime.Remoting; 
using System.Runtime.Remoting.Channels; 
using System.Runtime.Remoting.Channels.Tcp; 
namespace ConsoleApplicationrem 
public class Server 
public static void Main() 
TcpChannel h=new TcpChannel(6); 
Console.WriteLine("The Server hasstarted"); 
Console.WriteLine("Press the enter keyto stop the server ..."); 

For the Client application:

1)Open a windows application. Name it as WindowsApplicationrem. Paste a DataGridView, TextBox and a button on the form.
2) Add reference to the remlibrary DLL.
In the Code Window (Form1.cs), the contents should be like this.

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
namespace WindowsFormsApplicationrem 
public partial class Form1 : Form 
public Form1() 
private void button1_Click(object sender, EventArgs e) 
product remoteObject = (product)Activator.GetObject(typeof 
(product), "tcp://localhost:6/RemoteObjects"); 
int a=Convert.ToInt32(textBox1.Text); 
DataSet ds=remoteObject.GetDataFromDatabase(a); 

dataGridView1.DataSource = ds.Tables[0]; 

1)For 2 different machines, copy the remlibrary.dll and ConsoleApplicationrem.exe on one machine and remlibrary.dll and WindowsApplicationrem.exe on the other machine.
2)First configure the SQL Server 2005 for Remote Connections (if you are using 2 machines). This is on Server machine.
It is very easy.

Follow these steps:
Programs--->Microsoft SQL Server 2005-->Configuration Tools--> SQL Server Surface Area Configuration-->
Surface Area Configuration for Services and Connections-->Click Database Engine-->Remote Connections-->
Local and Remote Connections--->Using both TCP/IP and Named Pipes
Click the ConsoleApplicationrem.exe and then the WindowsApplicationrem.exe.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Member 3128846
India India
This member doesn't quite have enough reputation to be able to display their biography and homepage.

You may also be interested in...


Comments and Discussions

-- There are no messages in this forum --
Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.180221.1 | Last Updated 7 Jan 2011
Article Copyright 2011 by Member 3128846
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid