欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 信息安全 > 基于.NET的远程分布式数据库查询系统设计与实现

基于.NET的远程分布式数据库查询系统设计与实现

日期:2023-01-24 阅读量:0 所属栏目:信息安全


摘 要:本文以分布数据信息查询和应用实际出发,以分布在异地的两所高校为研发背景,实现远程分布式数据库查询系统,实现信息资源共享的目标。并对涉及的异地数据通信技术、远程对象的建立、发布等技术进行详细讨论。

关键词:C# ;系统设计; 系统实现;相关技术
随着计算机网络、数字通信技术和数据库的发展,办公方式逐渐向自动化方向发展,数据的分布存储和分布处理的分式数据库系统的应用越来越广泛,因此对数据的查询要求也越来越高,异地查询是急需解决的问题之一。本文以所在单位与其兄弟单位为研发背景,以远程分布式数据库查询系统为出发点,讨论基于.NET的远程分布式数据库查询系统的设计方案及实现,并着重介绍在此实现过程中涉及的c#.NET的Remoting技术解决各异地间数据的通信问题,远程对象的建立、发布与获得方面等技术。
1. 设计思路
  本系统以两所高校为例,建立一个简单的远程分布式数据库查询系统,以实现两所高校的学生住处的本地数据库查询、远程数据库查询及本地异地数据库联合查询的功能。
  查询分为3种类型,即本地查询、远程查询和联合查询。设计思路如下:首先为系统设计统一的数据库,分别存放于两地,数据库系统以SQL Server作为后台;其次,建立一个提供数据库服务(DbServer)的动态链接库(DLL),将查询时所要用到的一些服务(如远程对象的发布和获得等)和函数(如本地异地数据表的查询、数据表的远程创建和删除、表间的连接和合并等)置入该DLL中,各地需要使用此DLL,以便查询时对一些服务和函数进行调用。开发客户端查询界面,包括3个查询任务:本地查询、远程查询和联合查询,远程分布式数据库查询系统的业务流程如图1所示。
  
2. 关键技术
2.1 分布式数据库技术
  分布式数据库技术的关键是系统能够发布本地的远程对象并获取异地所发布的远程对象。要发布远程对象,首先要设置一个网络端口号,然后创建并注册一个通道,最后发布该服务器端的激活对象。异地服务器根据IP地址和网络端口号即可获取所发布的远程对象。
2.1.1 远程对象的发布
  创建一个信道:信道可跨越远程处理边界传输消息。当客户端调用远程对象时,该调用即被序列化为一个消息,该消息通过客户端信道发送并通过服务器信道接收。然后将其反序列化并进行处理。所有返回值都通过服务器信道传输,并通过客户端信道接收。如:TcpChannel MyChannel=new TcpChannel((port))。
2.1.2 远程对象的获取
     Activator类提供了相应的方法,用以在本地或从远程创建对象类型,或获得对现有远程对象的引用。其中,GetObject()方法为已知对象或XML Web Services创建一个代理。
2.2  访问数据库
  通过访问数据库,将数据源中的数据导入DataSet对象中,在DataSet对象中可对数据表进行各种操作,而且DataSet对象本身也可远程传递,这为开发分布式数据库系统提供了极大方便。使用访问数据库涉及以下两个类:1.访问数据库,首先建立与数据库的连接,使用OleDbConnection类连接到OLE DB数据源,通过SqlConnection类连接到SQL Server数据库。2.使用OleDbCommand类对象实现对数据库运行创建、插入、删除、更新、查询等操作。
3.基于.NET的远程分布式数据库查询系统程序实现
3.1 建立数据库服务对象(DbServer)的DLL工程
     为实现对远程对象的发布和获取,并完成本异地数据表的查询、数据表的远程创建和删除、表间的连接和合并等操作,首先建立一个提供数据库服务(DbServer)的动态链接库(DLL),将所要用到的服务置入该DLL中,和应用程序一起布置到异地,以便查询时对一些服务和函数进行调用。
3.2  创建数据库和系统表
     系统采用Access作为数据库管理系统,在应用程序布署的各地都有一个相同的本地数据库DDB,该数据库中至少含有4个结构相同的数据表,即:serverIP(服务器信息)表、studentInfo(学生信息)表、studentScoreInfo(学生成绩信息)表和tempNumber(临时表序号)表。
3.3  DBServer的查询方法
     系统的查询分为两种方式,一种是本地查询,另一种是异地查询。
3.3.1 本地查询实现
     本地查询只需传入查询的SQL串即可完成。具体实现代码如下:
  Public DataSet Query(string queryString)
  {
  If (==) ();
  DataSet ds;
  Try
  {
  Ds=new DataSet();
  dataTable dt=new DataTable(“Result”);
  OleDbDataAdapter adapter=new OleDbDataAdapter();
  OleDbCommand myCmd=new OleDbCommand(QueryString,Conn);
  Command=myCmd;
  (dt);
  (dt);
  }
  Finally
  {
  ();
  }
  Return ds;
  }
3.3.2 异地查询实现
     异地查询需要传入查询地的标识与查询的SQL串,即可通过远程对象进行查询。具体实现如下:
  Public DataSet Query(string location,string queryString)
  {
  If(==) ();  //如果连接关闭,则打开数据库连接
  DataSet ds;
  Try
  {
  If (ID==Location)
  {
  Ds=new DataSet();
  DataTable dt=new DataTable(“Result”);
  OleDbDataAdapter adapter=new OleDbDataAdapter();
  OleDbCommand myCmd=new OleDbCommand(QueryString,Conn);
  Command=myCmd;
  (dt);
  (dt);
  }
  Else
  {
  Int index=GetServerIndex(Location);
  Ds=((DbServer)DbServerList[index]).Query(location,queryString);
  }
  }
  Finally
  {
  ();
  }
  Return ds;
  }
4.结束语
   实践证明,以此方法构建远程分布式数据库查询系统的模型实现容易,具有较强的健壮性和实用价值。
参考文献
[1] 张友生等《软件体系结构》清华大学出版社 2006年11月出版
[2] 王东明,葛武滇. 《Visual C# .NET程序设计与应用开发》 清华大学出版社. 2008年5月出版
[3] 匡松,张淮鑫 《C#开发宝典》 中国铁道出版社 2010年11月出版
作者简介: 杨国军,(1974-),男,软件工程硕士,讲师,主研方向:工作流技术和应用系统集成。
本文链接:http://www.qk112.com/lwfw/jsjlw/xinxianquan/225481.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学