收藏 分享(赏)

消息队列在VB.NET数据库开发中的应用Java教程.doc

上传人:dzzj200808 文档编号:2787075 上传时间:2018-09-27 格式:DOC 页数:10 大小:28.50KB
下载 相关 举报
消息队列在VB.NET数据库开发中的应用Java教程.doc_第1页
第1页 / 共10页
消息队列在VB.NET数据库开发中的应用Java教程.doc_第2页
第2页 / 共10页
消息队列在VB.NET数据库开发中的应用Java教程.doc_第3页
第3页 / 共10页
消息队列在VB.NET数据库开发中的应用Java教程.doc_第4页
第4页 / 共10页
消息队列在VB.NET数据库开发中的应用Java教程.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、 精选公文范文管理资料 键入文字 键入文字 键入文字消息队列在 VB.NET 数据库开发中的应用 Java 教程 “公共队列”在整个可传递消息的” 消息队列”络中复制并传输,并且有可能由络连接的所有站点访问。 “专用队列”不在整个络中发布。相反,它们仅在所驻留的本地计算机上可用。专用队列只能由知道队列的完整路径名或标签的应用程序访问。 “管理队列 ”包含确认在给定” 消息队列”络中发送的消息回执的消息。指定希望 MessageQueue 组件使用的管理队列 “响应队列”包含目标应用程序接收到消息时返回给发送应用程序的响应消息。指定希望 MessageQueue 组件使用的响应队列。系统队列分为

2、:精选公文范文管理资料 键入文字 键入文字 键入文字 “日记队列”可选地存储发送消息的副本和从队列中移除的消息副本。 “死信队列”存储无法传递或已过期的消息的副本。 “专用系统队列”是一系列存储系统执行消息处理操作所需的管理和通知消息的专用队列。现在大家对消息队列有了简单的了解后,就该进入主题了。要使用 msmq 进行软件开发需要安装 msmq。安装完后就该进入实际的开发阶段。先打开 ide 中的”服务起管理器”展开你想建立消息队列的计算机名,再展开”消息队列” 右击它在弹出菜单中选择”新建”建立一个新的消息队列,并为它指定一个名字,这个名字可以随意。也可以通过编程来完成,代码如下:精选公文

3、范文管理资料 键入文字 键入文字 键入文字system.Messaging.MessageQueue.Create(“.PrivateMyPrivateQueue”)建立专用队列System.Messaging.MessageQueue.Create(“myMachineMyQueue”)建立公共队列其实我认为使用那中方法并不重要,重要的是搞清楚专用队列和公共队列的差别(其他队列不是必须的) 。在本例中是通过”服务器管理器”分别在服务器上建立了专用队列和公共队列。程序功能:本程序分为两部分包括服务器程序(安装在 sql server 服务器上)和客户端程序,客户端的作用是用来编写tsql 语句

4、并将 tsql 语句放在消息中,并将消息发送到 sql server 服务器上的消息队列中去。服务器程序检查指定的消息队列当发现有新消息到达时,就开始执行消息中的内容,由于消息中的内容是 tsql 语句所以服务器端实际上是执行对数据库的操作。精选公文范文管理资料 键入文字 键入文字 键入文字客户端程序:public Sub client()Dim tM As New System.Messaging.MessageQueue()tM.Path = “.Privatejk” “FORMATNAME:PUBLIC=3d3dc813c5554fd38ce079d5b45e0d75”与指定计算机中的消

5、息队列建立连接,Dim newMessage As New System.Messaging.Message(TextBox1.Text)接受文本筐的 tsql 语句newMessage.Label = “This is the label”消息名字,tM.Send(newMessage)发送消息End Sub 服务端程序:public Sub server()Dim NewQueue As New System.Messaging.MessageQueue(“.Privatejk”)”FORMATNAME:PUBLIC=3d3dc813c55精选公文范文管理资料 键入文字 键入文字 键入文字

6、54fd38ce079d5b45e0d75”与指定计算机中的消息队列建立连接,Dim m As System.Messaging.Message查看消息队列中的消息m = NewQueue.Receive m.Formatter = New System.Messaging.XmlMessageFormatter(New String() “System.String,mscorlib”)Dim st As Stringst = m.Body 消息队列中消息的消息内容。既 sql 语句Dim con As New OleDb.OleDbConnection(“输入自己的数据库连接字符串”)co

7、n.Open()Dim com As New OleDb.OleDbCommand(st, con)执行消息中的 sql 语句com.ExecuteNonQuery()con.Close()End Sub 我为什么要使用消息队列来处理数据库的操作这个问题我一直没回答,精选公文范文管理资料 键入文字 键入文字 键入文字现在我就来回答这个问题。在本程序中你会发现在 sub client()中我并没连接数据库和请求数据,而是通过发消息来操作数据库的,这个好处是节省了两部分时间:1、对数据库连解请求数据的时间。2、从数据库返回数据的时间。在很多情况下其实我们并不需要看见具体的数据就知道该怎么修改数据库

8、中的数据。例如要删除张三的记录,就可以将一条简单的删除语句放入消息中,发给服务器让服务器程序去处理对数据的更改。此外消息队列的另一个主要用途也就是当前 erp 软件中必不可少的,就是在断开连接时保存信息,当连接恢复时发送消息。消息在如下两种情况中无法迅速地传递到它们的队列:当队列驻留的计算机无法工作时,或当路由消息所需的域控制器精选公文范文管理资料 键入文字 键入文字 键入文字无法工作时。 ”消息队列”可让您应对这些情况,使得在从络上断开连接或必要的计算机或控制器无法工作时,仍可以继续发送消息。在这些情形下,消息暂时存储在本地计算机或传递路由上的某个计算机的队列中,直到完成传递所需的重新联机。

9、 例如,假设有一个记录所有在出差的销售人员发送的订单的中央队列。这些销售人员每天的大部分时间都以断开连接的方式工作,记录来自客户站点的订单信息,并且每天拨号连接一次,将所有这些信息传输到中央队列中。因为消息在发送方断开连接时仍可发送到队列,所以销售人员可以在记录客户信息时立即发送他们的消息,但系统会缓存这些消息直到晚间进行拨号连接为止。在断开连接时要怎么保存消息呢?向断开连接的队列发送消息同向可用队列发送消息的过程几乎完全相同。当要向其发送的队列不可用时,不必进行任何特殊精选公文范文管理资料 键入文字 键入文字 键入文字的配置以使组件将消息存储在临时队列中。在 client 代码的 tM.Pa

10、th = “.Privatejk”后面有一条注释语句,其实这条语句就是实现向断开连接的队列发送消息的功能。只要将 tM.Path = “.Privatejk”这条语句换成tM.Path = “FORMATNAME:PUBLIC=3d3dc813c5554fd38ce079d5b45e0d75”其中 PUBLIC 后面的数字是要发送到计算机的 guid 数字。这个数字可以打开那台计算机的消息队列的属性看见。使用这种方法就可以在断开连接的情况下保证对服务器的操作是有效。现在运行这个程序后,打开 win2000 中的”开始” ”程序” ”管理工具” ”计算机管理”。在”计算机管理”窗口中展开”服务和

11、应用程序” ”消息队列” ”传出队列”,你将在右边的窗口中看见你建立的消息。 (如果你使用tM.Path = “.Privatejk”语句,在” 计算机管理”窗口中展开”服务和应用程序” ”消息队列” ”专用队列”可以看见你建立的队列。 )其实消息队列的编程并不复杂,但精选公文范文管理资料 键入文字 键入文字 键入文字它在络环境的程序开发中是非常有用的,可以简化大量的开发过程和节省开发时间。其实消息队列的编程有很大的灵活性,几乎可以解决络编程的大部分问题。比如聊天程序,远程控制程序。本文针对消息队列做了一个简单的介绍,并举了一个例来说明怎么在.net 下使用消息编程,达到快速高效稳定的对数据库进行操作。最后补充要说的是在 internet中也一样可以使用消息队列,只需要将tM.Path = “FORMATNAME:PUBLIC=3d3dc813c5554fd38ce079d5b45e0d75 语句后面的数字变成消息队列所在服务器的数字就可以了。但是要提醒大家的是使用消息在传输时将占有大量的带宽,所以在不是必须的时候,internet 下的编程不要使用消息。在 、win2000 、sql server 2000精选公文范文管理资料 键入文字 键入文字 键入文字下通过。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报