1.在服务端安装了Oracle10数据库。
2.不想在客户端程序中安装Oracle客户端,就能通过ip直接访问服务端数据库。
3.想通过客户端程序用Remoting通信,把信息传递到服务端server里去操作数据库后把回传结果,传递给客户端。
请问上面如何才能用Remoting实现呢。请举例说明。这里有个通过的例子,请看一下,然后如何才能实现上面的结果,
想把方法写到服务端,如何通过客户端来调用服务端方法。类文件
namespace lei
{
public class rmb : MarshalByRefObject
{
public rmb()
{
MessageBox.Show("成功建立通道", "消息提示");
}
}
}
服务端
namespace Server
{
public partial class Form1 : Form
{
static TcpServerChannel channel;
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
channel = new TcpServerChannel(38);//注册服务端的38端口
ChannelServices.RegisterChannel(channel, false);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(rmb), "dc", WellKnownObjectMode.Singleton);
// RemotingConfiguration.RegisterWellKnownServiceType(typeof(DBEmr.BLL.NATION), "dc", WellKnownObjectMode.Singleton);
Console.WriteLine("服务器已经启动");
// Console.ReadLine();
textBox1.Text = "服务器已经启动";
}
}
}
客户端
private void button1_Click(object sender, EventArgs e)
{
channelc = new TcpClientChannel();
channelc.CreateMessageSink("192.168.0.19:38", null);
ChannelServices.RegisterChannel(channelc, false);
leis = (rmb)Activator.GetObject(typeof(rmb), "tcp://192.168.0.19:38/dc"); //对应服务端的端口
string xx = textBox1.Text.ToString();
leis.ser(xx);
DataSet dt = new DataSet();
this.dataGridView1.DataSource = dt.Tables["ds"];
}
2.不想在客户端程序中安装Oracle客户端,就能通过ip直接访问服务端数据库。
3.想通过客户端程序用Remoting通信,把信息传递到服务端server里去操作数据库后把回传结果,传递给客户端。
请问上面如何才能用Remoting实现呢。请举例说明。这里有个通过的例子,请看一下,然后如何才能实现上面的结果,
想把方法写到服务端,如何通过客户端来调用服务端方法。类文件
namespace lei
{
public class rmb : MarshalByRefObject
{
public rmb()
{
MessageBox.Show("成功建立通道", "消息提示");
}
}
}
服务端
namespace Server
{
public partial class Form1 : Form
{
static TcpServerChannel channel;
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
channel = new TcpServerChannel(38);//注册服务端的38端口
ChannelServices.RegisterChannel(channel, false);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(rmb), "dc", WellKnownObjectMode.Singleton);
// RemotingConfiguration.RegisterWellKnownServiceType(typeof(DBEmr.BLL.NATION), "dc", WellKnownObjectMode.Singleton);
Console.WriteLine("服务器已经启动");
// Console.ReadLine();
textBox1.Text = "服务器已经启动";
}
}
}
客户端
private void button1_Click(object sender, EventArgs e)
{
channelc = new TcpClientChannel();
channelc.CreateMessageSink("192.168.0.19:38", null);
ChannelServices.RegisterChannel(channelc, false);
leis = (rmb)Activator.GetObject(typeof(rmb), "tcp://192.168.0.19:38/dc"); //对应服务端的端口
string xx = textBox1.Text.ToString();
leis.ser(xx);
DataSet dt = new DataSet();
this.dataGridView1.DataSource = dt.Tables["ds"];
}
解决方案 »
- 谁有VS2010的汉化补丁???急急急
- c#中ArrayList类中count和capacity属性有什么区别?
- 如何调用c++的dll
- DATATABLE
- 大家帮帮忙啊,急
- 想用winform+sql server2000开发一个数据库软件,请大家给点意见和经验.
- C#如何读取image or BLOB字段,然后存为一个临时文件,然后再写到数据库里。
- 月饼节到了,祝所有在外工作的程序员们节日快乐,
- 请问怎样将整个屏幕拷贝到一个Image对象?
- 想做类似于MSN Messenger的网络即时通信程序,用C#,在 Socket流 和 Remoting 之间应该如何选择?
- 有关ComboBox的小问题,求高手指点
- 生成安装程序
其实我就想要把客户端的查询数据库过程传递到服务端做处理。然后回传给客户端结果就可以了
就是为了解决不想在本地安装oracle10客户端而直接通过Romting来访问,