基于rtxssdk二次开发实现用户数据库的同步内容摘要:

调试和数据转换。 SQL Server 2020 带有交互式调节和调试查询、从任何数据源快速移动和转化数据、 以及按 TransactSQL 方式定义和使用函数等功能。 您可以从任意 Visual Studio 工具以可视化方式设计和编写数据库应用程序。 简化的管理和调节。 使用 SQL Server 2020,您可以很容易地在企业资源旁边集中管理数据库。 可以在保持联机的同时轻松地在计算机间或实例间移动和复制数据库。 OLE DB 简介 OLE DB( OLEDB)是微软的战略性的通向不同的数据源的低级应用程序接口。 OLE DB 不仅包括微软资助的标准数据接口开放数据库连通性( ODBC)的结构化查 询语言( SQL)能力,还具有面向其他非 SQL 数据类型的通路。 作为微软的组件对象模型( COM)的一种设计, OLE DB是一组读写数据的方法(在过去可能被称为渠道)。 OLD DB 中的对象主要包括数据源对象、阶段对象、命令对象和行组对象。 使用 OLE DB 的应用程序会用到如下的请求序列: 初始化 OLE 连接到数据源、发出命令、处理结果、释放数据源对象并停止初始化 OLE Object Linking and Embedding,对象连接与嵌入,简称 OLE 技术。 OLE不仅是桌面应用程序集成,而且还定义和实现了一 种允许应用程序作为软件 “对象 ”(数据集合和操作数据的函数 )彼此进行 “连接 ”的机制,这种连接机制和协议称为部件对象模型。 武汉科技大学本科毕业论文 7 3 需求分析与整体设计 系统需求 本系统要实现 ACCESS 数据库到 SQL SERVER 数据库 的同步,用多种方法 完成 : 一:直接对两个数据库进行读 取 , 二: 利用 RTX 开放的 SDK 接口编程 通过这两种方法实现 用户数据 到其他数据库中 (相应表 )的存储和同步,用户的数据包括用户登录信息、用户部门信息和用户角色信息,要求使用 C.NET 或 VC++开发环境 .。 界 面设计 本系统采用 C.NET 环境开发, 需要包括直接读取两个数据库以及利用 RTX SDK 开发的程序的操作界面,以及定时器操作,日志文件的操作等。 下面是系统的运行界面: 图 xxx ??????? 数据库设计 表的建立 为了同步数据,需要在 SQL SERVER 中建立三张表: SYS_User 表 存储用武汉科技大学本科毕业论文 8 户信息; RTX_Dept 表 存储部门信息; RTX_DeptUser 表 存储用户与部门相关信息。 SYS_User 表( 编号,用户名,密码,名称,用户类型,性别,手机,邮箱 ,电话,角色编号 )如表 所示 列名 数据类型 长度 是否 允许 为空 是否主键 ID Int 4 否 是 UserName Varchar 50 是 否 Pwd Varchar 100 是 否 Name Varchar 50 是 否 UserType Int 4 是 否 Gender Int 4 是 否 Mobile Varchar 50 是 否 Email Varchar 50 是 否 Phone Varchar 50 是 否 RoleID Int 4 是 否 表 RTX_Dept 表( 部门编号,父部门编号,部门名称,种类,备注 ): 如表 所示 列名 数据类型 长度 是否 允许 为空 是否主键 DeptID Int 4 否 是 PDeptID Int 4 是 否 DeptName varchar 50 是 否 SortID Int 4 是 否 Version Int 4 是 否 表 RTX_DeptUser 表( 部门编号,编号,种类 ): 如表 所示 列名 数据类型 长度 是否 允许 为空 是 否主键 武汉科技大学本科毕业论文 9 DeptID Int 4 是 是 ID Int 4 否 是 SortID Int 4 是 否 表 存储过程的设计 存储过程是 TransactSQL 语句的集合,它是实现事务或业务规则的极好途径,是在数据库服务器上存储与执行的。 使用它,可以大大减少网络传输流量,提高应用程序性能和安全性,而且由于它只在第一次执行时被优化、编译。 因此,使用存储过程不仅可以极大地降低应用程序的实现难度,而且还可以极大地提高系统的运行速 度、效率。 存储过程的设计一定要符合逻辑业务规则和要求,根据实际,对一些常规、频繁使用的查询、插入数据操作使用存储过程来完成。 对于第一种数据库同步直接存取方法,可以考虑用存储过程实现,以提高执行效率和方便代码编写。 4 系统 编码与实现 功能简述 系统用两种方法实现 ACCESS 数据库到 SQL SERVER 数据库的同步,并提供给用户直观简洁的操作界面, 以及定时自动同步数据库的设置。 对于直接调用数据库,系统采用在 SQL SERVER 中添加一个 实现同步功能的存储过程, 后面会详细介绍。 对于用 RTX SDK 实现数据库同步,先通过 RTX SDK 提供的接口从源数据库 取出文本格式的数据,然后对其处理后寸入 SQL SERVER 相应表,后面详细介绍。 武汉科技大学本科毕业论文 10 直接调用数据库 直接调用数据库方法主要任务包括, 完成同步数据库功能存储过程的设计,完成定时器的设计,完成日志管理设计。 SQL SERVER 存储过程源代码: CREATE PROCEDURE hcwpeocedure_usersync1 AS delete from where in (select id from openrowset(39。 39。 ,39。 C:\ProgramFiles\Tencent\RTXServer\db\39。 39。 admin39。 39。 39。 ,SYS_User)) insert into (ID,UserName,Pwd,Name,UserType,Gender,Mobile,Email,Phone) select ID,UserName,Pwd,Name,UserType,Gender,Mobile,Email,Phone from openrowset(39。 39。 , 39。 C:\Program Files\Tencent\RTXServer\db\39。 39。 admin39。 39。 39。 ,SYS_User) delete from where in (select DeptID from openrowset(39。 39。 , 39。 C:\Program Files\Tencent\RTXServer\db\39。 39。 admin39。 39。 39。 ,RTX_Dept)) insert into (DeptID,PDeptID,DeptName,SortID,Version) select DeptID,PDeptID,DeptName,SortID,Version from openrowset(39。 39。 , 39。 C:\Program Files\Tencent\RTXServer\db\39。 39。 admin39。 39。 39。 ,RTX_Dept) delete from where in (select ID from openrowset(39。 39。 , 39。 C:\Program Files\Tencent\RTXServer\db\39。 39。 admin39。 39。 39。 ,RTX_DeptUser)) insert into (DeptID,ID,SortID) 武汉科技大学本科毕业论文 11 定时器源代码: delete from where in (select ID from openrowset(39。 39。 , 39。 C:\Program Files\Tencent\RTXServer\db\39。 39。 admin39。 39。 39。 ,RTX_DeptUser)) insert into (DeptID,ID,SortID) select DeptID,UserID,SortID from openrowset(39。 39。 , 39。 C:\Program Files\Tencent\RTXServer\db\39。 39。 admin39。 39。 39。 ,RTX_DeptUser) GO //获取同步时间间隔 FileStream fs1 = new FileStream(, , )。 StreamReader sr1 = new StreamReader(fs1)。 (0, )。 string str_h = ()。 string str_m = ()。 ()。 ()。 ()。 ()。 武汉科技大学本科毕业论文 12 日志管理源代码: int h = (str_h)。 int m = (str_m)。 long tms = 1000 * (3600 * h + 60 * m)+1。 //根据时间间隔,周期运行同步代码 usersync00()。 t = new (tms)。 //实例化 Timer类; += new (usersync)。 //到达时间的时候执行事件; = true。 //设置是执行一次( false)还是一直执行 (true); = true。 //是否执行 事件; FileStream fs1 = new FileStream(, , )。 StreamReader read = new St。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。