仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 649|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL教程之Agent插件浅析

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:35:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
“数据行级锁定”的意思是指在事务操作的执行过程中锁定正在被处理的个别记录,不让其他用户进行访问。这种锁定将影响到(但不限于)SELECT、LOCKINSHAREMODE、SELECT、FORUPDATE命令以及INSERT、UPDATE和DELETE命令。Agent插件浅析
利用过officexp、金山毒霸和瑞星杀毒软件的伴侣,必定会对程序中的人道化的动画脚色留下深入印象,这完整回功于微软推出的Agent(“代办署理”)手艺,Agent接纳COM手艺,利用ActiveX控件体例,撑持如今盛行的各类开辟工具,不但能够完成文本的朗诵,并且可辨认用户的语音命令,在使用程序和HTML文件中失掉普遍的利用。
上面我们以PowerBuilder8.0为开辟工具来体例一个小有用程序,一步步申明实在现办法:
第一步从Internet网高低载Agent插件,并安装在盘算机上,这是开辟的后期筹办事情:
这些插件来历于微软公司的相干网站,下载的网址为:http://www.microsoft.com/msagent/downloads/user.asp,毗连利用该网页:
1、起首单击“DownloadtheMicrosoftAgentcorecomponts(395kbsexe)”下载并安装Agent的中心组件,其文件名为“Msagent.exe"。
2、其次单击(先选择"SimplifiedChinese(127kbexe)”)下载并安装言语组件,其文件名为“AgtX0804.exe"。
3、其次单击(先选择"Lernout&HauspieTruVoiceTTSengine-AmericanEnglish(1Mbexe)”)下载并安装TTS引擎,其文件名为“tv_enua.exe",要完成语音朗诵,必需安装,以后版本撑持英语。
4、再其次单击(先选择"DoadloadtheMicrosoftSpeechRecognitionEngine(6Mbexe)”)下载并安装语音辨认引擎,其文件名为“Actcnc.exe",要完成语音命令辨认,必需安装,以后版本撑持英语。
5、最初单击“Downloadselectedcharacter"下载安装要用到的动画脚色文件,在这里我们下载微软公司网站所供应的动画脚色文件,次要包含Genie(魔鬼、鬼)、Robby(呆板人)、Merlin、Peedy(寝衣)共四种动画脚色,它们不仅有丰厚的举动举措,并且具有言语功效,其对应的文件名分离为Genie.acs、Robby.acs、Merlin.acs、Peedy.acs。这些Agent脚色的经常使用动画举措,一般用含有不异意义的英文单词字符来标识,以下表所示,以下所述编程实例即演示它们分离所发生的举措效果。
常量相干举措
Acknowledge显现供认、报答的举措
Alert显现告诫的举措
Announce显现公布、公告的事情
Blink显现眨眼的举措
Decline显现点头回绝的举措
DoMagic1、DoMagic2显现批示吹奏的举措
Confused显现利诱的举措
Congratulate显现庆祝的举措
DontRecognize显现没法辨认的举措
Explain显现注释的举措
GesttureDown显现向下偏向的手势举措
GesttureLeft显现向左偏向的手势举措
GesttureRight显现向右偏向的手势举措
GesttureUp显现向上偏向的手势举措
GetAttention显现立正的举措
GetAttentionContinued显现持续立正的举措
GetAttentionReturn显现持续立正的举措
Greet显现问候的举措
Hearing_1
Hearing_2显现摆布倾听的举措
Hearing_3
Hide埋没动画脚色
Idle1_1显现伸展的举措
Idle1_2显现向左倾的举措
Idle1_3显现向右倾的举措
Idle1_4显现向后倾的举措
Idle1_5显现向前倾的举措
Idle2_1显现带耳机听音乐的举措
Idle2_2显现吃饼干的举措
Idle3_1显现带耳机听音乐的举措
Idle3_2显现打盹的举措
Idle3_3显现带耳机听音乐的举措
LookDown显现向下检察的举措
LookDownBlink显现向下眨眼的举措
LookDownLeft显现向左下方检察的举措
LookDownLeftBlink显现向左下方眨眼的举措
LookDownLeftReturn显现回返向左下方检察的举措
LookDownRight显现向右下方检察的举措
LookDownRightBlink显现向右下方眨眼的举措
LookDownRightReturn显现回返向右下方检察的举措
LookDownReturn显现回返向下方检察的举措
LookLeft显现向左方检察的举措
LookLeftBlink显现向左方眨眼的举措
LookLeftReturn显现回返向左方检察的举措
LookRight显现向右方检察的举措
LookRightBlink显现向右方眨眼的举措
LookRightReturn显现回返向右方检察的举措
LookUp显现向上检察的举措
LookUpBlink显现向上眨眼的举措
LookUpLeft显现向左上方检察的举措
LookUpLeftBlink显现向左上方眨眼的举措
LookUpLeftReturn显现回返向左上方检察的举措
LookUpRight显现向右上方检察的举措
LookUpRightBlink显现向右上方眨眼的举措
LookUpRightReturn显现回返向右上方检察的举措
LookUpReturn显现回返向上方检察的举措
MoveDown显现向下挪动的举措
MoveLeft显现向左挪动的举措
MoveRight显现向右挪动的举措
MoveUp显现向上挪动的举措
Pleaseed显现兴奋的举措
Process显现处置事情的举措
Processing显现正在处置事情的举措
Read显现浏览的举措
Readcontinued显现持续浏览的举措
Reading显现正在浏览的举措
ReadReturn显现中断浏览的举措
Sad显现伤心的举措
Search显现查找的举措
Searching显现正在查找的举措
Show显现动画脚色
StartListening显现入手下手倾听的举措
StopListening显现中断倾听的举措
Suggest显现倡议的举措
Surprised显现惊奇的心情
Think显现思索的心情
Thinking显现正在思索的心情
Uncertain显现不断定的举措
Wave显现请安的举措
Write显现写的举措
Writecontinued显现持续写的举措
Writing显现正在写的举措
WritReturn显现中断写的举措
固然,我们也能够从http://www.microsoft.com/msagent/downloads/developer.asp网页单击“Downloadthe
MicrosoftAgentCharacterEditor(1Mbexe)”和“DownloadtheMicrosoftAgentLinguisticInformation
SoundEditingTool(6.2Mbexe)”下载制造工具,亲身制造本人所宠爱的动画脚色抽象。
第二步计划使用程序
在PowerBuilder中供应了OLE控件,以便PowerBuilder使用程序可以利用别的开辟工具编写的COM组件和ActiveX控件
在利用相干的COM组件和ActiveX控件先,须注册相干的COM组件和ActiveX控件,在PowerBuilder注册控件,能够在PowerBulider
开辟情况中,拔出OLE控件时,选择RegisiterNew举行注册。
Agent控件的次要属性以下表:
属性用处
Charactors用于设置与控件相干联的动画脚色文件
Connected用于辨别控件是不是与Agent服务器相毗连
LanguageID用于设置Agent所利用的言语,今朝仅可设置为十六进制的“409”,即“&H409”
Agent控件的次要办法以下表:
办法用处
Load用于初始化Agent控件,并加载动画脚色数据文件
UnLoad用于卸载动画脚色数据文件
Show用于显现的Agent动画脚色,并可经由过程参数把持动画脚色的显现速率
Hide用于埋没的Agent动画脚色,并可经由过程参数把持动画脚色的埋没速率
StopAll用于中断动画脚色的一切举措
Stop用于中断动画脚色确当前举措
MoveTo用于挪动动画脚色,可经由过程参数来设置挪动的坐标和挪动的速率
Interrupt用于中止动画脚色的动画,在实行一些有延续性的动画举措时,如不
中止该举措即实行下一个举措,会发生非常征象
Wait用于在多个动画脚色间完成互相之间的举措和谐
Play用于实行指定的动画举措,可经由过程参数来设置动画范例
Speak用于经由过程语音分解引擎,完成英语的语音分解输入功效,即只必要输出
英笔墨符串,Agent便可经由过程声响输入设备“措辞”
Agent控件的次要事务以下表
事务用处
Show在Agent动画脚色显现时触发,可使用该事务将程序的主界面埋没
Hide在Agent动画脚色埋没时触发,可使用该事务将程序的主界面从头显现
在PowerBuilder中完成的步骤以下
1、新建myexample.pbw的事情区;
2、新建myexample.pbt的使用方针,PowerBuilder会主动创建一个pbl库文件以便寄存相干的PowerBuilder工具,并创建一个myexample
使用程序工具;
3、新建窗口工具w_example,并在其上安排控件以下表:
控件控件称号
listboxlb_1
commandbuttoncb_1
commandbuttoncb_2
olecontrolole_1(并拔出对应的AgentActiveX控件)
4、新建菜单工具m_file,并增加相干菜单项以下表:
菜单名菜单文本菜单剧本
m_file文件(&F)
m_fileopen翻开(&O)parentwindow.triggerevent("ue_fileopen")
m_bar1-
m_fileexit加入(&E)parentwindow.triggerevent("ue_fileexit")
5、将窗口工具w_example的menuid属性设置为m_file
6、界说窗口w_example的实例变量以下:
privite:
booleanib_flag
stringis_animationname
7、编写窗口w_example相干事务剧本:
open事务剧本以下:
longresult,ll
iffileexists(GetCurrentDirectory()+"peedy.acs")=falsethen
result=messagebox("提醒“,"在程序以后目次下没有动画脚色文件",stop!)
ib_flag=false
close(this)
else
ib_flag=true
ole_1.OBJECT.characters.load("CharacterID",GetCurrentDirectory()+"peedy.acs")
ole_1.OBJECT.characters("CharacterID").languageID=1033
ole_1.OBJECT.characters("CharacterID").moveto(20,20)
ole_1.OBJECT.characters("CharacterID").show()
ole_1.OBJECT.characters("CharacterID").play("Wave")
ole_1.OBJECT.characters("CharacterID").speak("Hello,WelcometouseTheCharacterAnimationPreviewerProgramm!")
ole_1.OBJECT.characters("CharacterID").play("Reading")
lb_1.reset()
forll=1toupperbound(ole_1.OBJECT.characters("CharacterID").animationnames)
lb_1.additem(ole_1.OBJECT.characters("CharacterID").animationnames[ll])
next
lb_1.selectitem(1)
close事务剧本以下:
ifib_flag=truethen
ole_1.OBJECT.characters("CharacterID").hide()
ole_1.OBJECT.characters.unload("CharacterID")
endif
自界说事务ue_fileopen的剧本以下:
stringdocname,named
integervalue
value=GetFileOpenName("选择动画脚色文件",docname,named,"acs","动画脚色文件(*.acs),*.acs")
IFvalue=1THEN
ole_1.OBJECT.characters.unload("CharacterID")
ole_1.OBJECT.characters.load("CharacterID",docname)
ole_1.OBJECT.characters("CharacterID").languageID=1033
ole_1.OBJECT.characters("CharacterID").moveto(20,20)
ole_1.OBJECT.characters("CharacterID").show()
ole_1.OBJECT.characters("CharacterID").speak("Hello!")
ole_1.OBJECT.characters("CharacterID").play("congratulate")
ole_1.OBJECT.characters("CharacterID").play("Wave")
cb_1.enabled=false
lb_1.reset()
forll=1toupperbound(ole_1.OBJECT.characters("CharacterID").animationnames)
lb_1.additem(ole_1.OBJECT.characters("CharacterID").animationnames[ll])
next
lb_1.selectitem(1)
ole_1.OBJECT.characters("CharacterID").moveto(0,0)
lb_1.setfocus()
endif
自界说事务ue_fileexit的剧本以下:
close(this)
lb_1的clicked事务剧本以下:
cb_1.enabled=true
lb_1的doubleclicked事务剧本以下:
cb_1.triggerevent("clicked")
lb_1的getfocus事务以下:
cb_1.default=true
cb_1的clicked事务剧本以下:
ole_1.OBJECT.characters("CharacterID").stop
this.title="演示动画脚色举措:"+lb_1.SelectedItem()
ole_1.OBJECT.characters("CharacterID").play(lb_1.selecteditem())
cb_2的clicked事务剧本以下:
ole_1.OBJECT.characters("CharacterID").stop()
8、编写application工具open事务剧本以下:
open(w_example)其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
精灵巫婆 该用户已被删除
沙发
发表于 2015-1-19 10:03:15 | 只看该作者
作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!
分手快乐 该用户已被删除
板凳
发表于 2015-1-24 12:09:06 | 只看该作者
这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
只想知道 该用户已被删除
地板
发表于 2015-2-1 10:18:44 | 只看该作者
其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。
若相依 该用户已被删除
5#
发表于 2015-2-7 03:29:44 | 只看该作者
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
灵魂腐蚀 该用户已被删除
6#
发表于 2015-2-20 07:11:11 | 只看该作者
我们学到了什么?思考问题的时候从表的角度来思考问
再见西城 该用户已被删除
7#
发表于 2015-3-6 16:44:07 | 只看该作者
微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。
飘灵儿 该用户已被删除
8#
发表于 2015-3-13 04:15:19 | 只看该作者
个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
第二个灵魂 该用户已被删除
9#
发表于 2015-3-20 12:37:32 | 只看该作者
其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 05:08

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表