在ACCESS中调用后台存储过程

在ACCESS中调用后台存储过程,第1张

在ACCESS中调用后台存储过程,第2张

ACCESS是一款优秀的客户端/服务器前端开发工具,易学易用,界面友好,开发简单,与其他数据库接口灵活。但是,处理大量数据的速度很慢。深圳供电局有60万用户,下面有6个营业厅,通过64K DDN接入该局。如果有一个营业厅办理一万个用户,需要2~3个小时,会严重影响其他业务的发展。所以当需要处理大量数据时,不能在客户端处理,必须在服务器端处理。但是access和Server多是ODBC连接,增加了后台存储过程的调用难度。通过在实际工作中的长期探索,根据不同的业务需求,笔者可以使用以下三种方法调用后台存储过程。

1.Access向后台提交作业,每个作业对应一个存储过程。在SQL Server 6.5中,相应的任务由任务管理器建立;在Oracle 8.0中,通过管理作业队列来建立相应的作业。在access中,将作业插入job_list表中。这些作业通常每晚运行一次。这些作业对应的业务一般需要处理大量数据,实时性能较低。我们业务中一个典型的例子就是每天晚上大量电费的计算。

第二,在服务器端设置一些触发器,在Access中激活这些触发器。在SQL Server 6.5和Oracle 8.0中,都是通过Create Trigger实现的。在Access中,根据不同的业务,通过插入、修改、删除记录来激活不同的触发器。在我们的业务中,比如业务人员修改用户的电表读数,就激活了计算电费的触发器,可以立即重新计算用户的电费。这样就可以和电费批量计算共享同一个程序,而不用在接入端重新开发,这样可以加快前端响应速度。

第三,以上两种方法只能说是间接调用后台存储过程。access还提供了直接调用的方法,通过Access传递查询,可以直接将命令发送到数据库服务器。

采取以下步骤来建立访问传递查询:

(1)单击数据库窗口中的查询选项卡,然后单击新建按钮。

(2)单击“新建查询”对话框中的“设计视图”选项,然后单击“确定”按钮。

(3)单击“显示表格”对话框中的“关闭”按钮。

(4)在“查询”菜单上,指向“SQL语句条件”并单击“传递”命令。

(5)在工具栏上,单击“属性”按钮,显示查询属性表。

(6)在查询属性表中,请设置“ODBC连接字符串”属性来指定要连接的数据库信息。可以输入连接信息:“ODBCDSN = ntserver0UID = saPWD =;DATABASE=BMS”,或者用“生成器”按钮生成。

(7)因为存储过程不需要返回记录,所以将“返回记录”属性设置为“否”。

(8)在SQL传递查询窗口中,输入传递查询:exec statistics。Statistics是SQL Server数据库的存储过程。

(9)关闭查询,并将查询保存为:stat_query。

有几种方法可以运行查询:

(1)使用Microsoft access的宏OpenQuery。

(2)使用以下事件流程:

private statistics _ click()
dim DBS作为数据库,qdf作为查询定义
dimtmq作为动态集
dimstrql作为字符串

Set dbs = CurrentDb
'打开传递查询stat _ query
set qdf = DBS . openquery def(" stat _ query ")
qdf . execute
set DBS = nothing
end sub。

此方法可以在SQL Server 6.5中实现,但不能在Oracle 8.0中实现。错误消息为:ORA-00900无效的SQL语句。由于这种方法不需要中间表来排队或激活后台存储过程,因此具有广泛的应用。任何需要处理大量数据的业务都可以放到服务器端进行处理,比如统计报表。

通过以上三种方法,解决了access在处理大量数据时的软肋。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 在ACCESS中调用后台存储过程

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情