小弟在编写应用 Remoting的程序时,无法实现象Web Service 应用程序那样,数据库(SQL SERVER)的连接与客户端无关,客户端不用理会服务器使用何种数据库,连接字符串如何。客户端无需安装数据库连接组建。我已经把所有的数据库事务交给服务器端来执行了,客户端仅仅是调用服务器端远程类的方法而已,但是还是要安装SQL SERVER 连接组建。我不明白 好像是数据库的连接还是从本地(客户端)发起的一样。原本以为这样客户端的部署可以简单一点。不需要安装连接组建了。请高手解决以下 我是初学者
解决方案 »
- 我用TableAdapter.Update方法无法将数据集更改保存到数据库中,谢谢各位
- debug 一个问题
- axWindowsMediaPlayer如何重新加载播放列表?
- 串口操作的内存不断增加的问题
- 一个关于自动加入引用(reference)的问题
- DataGrid使用问题!!
- 怎么把Calendar的visible设为可视?
- 如何在win form的DataGrid里实现,将鼠标移置某一行就显示一个类似Title的浮起的小只读文本框?
- 为何在WndProc中捕捉不到RichTextBox中的WM_IME_CHAR消息
- 求解决方案,关于在程序里创建控件的问题.只有10分了,谢谢.
- 急~在线等~关于水晶报表的横向打印问题
- 怎样把this.dataGridView1.Width 的宽度转换成cm
//Remoting Server 端------------
SqlDataAccess sqlDataAccess; //SqlDataAccess 为一个操作SQL SERVER 的自定义类
//实例化函数
public RemoteObject()
{
SqlDataAccess sqlDataAccess=new SqlDataAccess();
//sqlDataAccess.ConnectionString=连接字符串;
}//RemoteObject 类 成员函数
public DataTable GetTable(string sql);
{
return sqlDataAccess.GetTable(sql);
}//客户端 --------------
//.NET Remoting配置...
//远程对象
RemoteObject remoteObject=new RemoteObject();
DataTable dataTable=remoteObject.GetTable("SELECT * FROM TableName");
------------就是这样啊,为何客户端还要 安装 SQLSERVER 连接组建~~
public RemoteObject()
{
sqlDataAccess=new SqlDataAccess();
//sqlDataAccess.ConnectionString=连接字符串;
}
客户端只需要实例化远程对象,传递客户端UI收集的资料,通过你的Remoting采用的传输协议
将数据传输到服务器端以后所有的操作都是在服务器端,比如事务控制 逻辑处理 数据访问
最后如果有返回值的话在返回到客户端,便于UI呈现等
方案一:客户端
表现层(在客户端展示)
Remote接口(客户端接口)服务器端
领域逻辑(一、服务器对外接口,二、业务逻辑)
数据逻辑(专门的数据相关处理)
数据层(微软的数据工厂)方案二:
客户端
表现层(在客户端展示)
领域逻辑(业务逻辑)
Remote接口(客户端接口)服务器端
Remote接口(服务器对外的接口)
数据逻辑(专门的数据相关处理,在这里只能出现纯字符串的SQL语句,或存储过程名称)
数据层(微软的数据工厂,实际的数据库连接)
在Remote中,不要出现,如下语句
ds = Database.ExecuteDataset( SysAdminBase.CarConfigString , CommandType.Text , strSql );等只能是一个简单的数据返回
而执行的SQL语句放到数据逻辑层里。