ACCESS是一个Client/Server的优秀前端开发工具,具有易学易用,界面友好,开发简单,和其他数据库接口灵活。但是,它要对大量数据处理时,速度比较慢。

ACCESS是一个Client/Server的优异前端开发工具,具有易学易用,界面友爱,开发简略,和其他数据库接口灵敏。可是,它要对很大都据处理时,速度比较慢。当有很大都据需求处理时,不能在Client端处理,而必须在Server端处理。 但ACCESS和Server端之间大都经过ODBC来衔接,这样就增加了调用后台存储进程的难度。笔者经过在实际工作中长期的探索,依据不同的事务需求,能够用下面三种办法去调用后台存储进程。

在ACCESS中调用后台存储过程(access调用SQL存储过程)  微软 数据库 ACCESS 第1张

  一、 Access 向后台提交作业,这一个个作业对应一个个的存储进程。在SQL Server 6.5中,经过Task Manager 来树立相应的Task; 而在Oracle 8.0中,经过Managing Job Queue 来树立相应的Job。在Access中,在job_list表中刺进一个作业,这些作业一般每天晚上运转一次。这些作业对应的事务一般是需求处理十分很大都据,而实时性又是较低的,在咱们的事务中比较典型的比如是每天晚上很多的电费核算。

  二、 在Server端树立一些触发器(Trigger),在Access中激活这些触发器。在SQL Server 6.5 和Oracle 8.0中,都是经过Create Trigger 来完成。在Access中,依据不同的事务,经过刺进、修正、删去记载来激活不同触发器。在咱们的事务中一个比如是,当事务人员修正用户的电表读数后,激活核算电费的触发器,能当即从头核算该用户的电费。这姿态,既能够和批量核算电费同享同一程序,不必在Access端从头开发,有能够加速前端的响应速度。

  三、 以上二种办法,只能够说是直接调用后台存储进程,Access还供给一种直接调用的办法,能够用Access 传递查询直接将指令发送到数据库服务器。

  树立Access 传递查询进程如下:

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

  (2) 在“新建查询”对话框中单击“规划视图”选项,然后单击“确认”按钮。

  (3) 在“显现表”对话框内单击“封闭”按钮。

  (4) 在“查询”菜单上,指到“SQL 句子条件”,然后单击“传递”指令。

  (5) 在工具栏上,请单击“特点”按钮 以显现查询特点表。

  (6) 在查询特点表中,请设置“ODBC 衔接字符串”特点来指定要衔接的数据库信息。能够输入衔接信息: ”ODBC;DSN=ntserver0;UID=sa;PWD=;DATABASE=BMS”,或用“生成器”按钮生成。

  (7) 因存储进程不必回来记载,所以将“回来记载”特点设置为“否”。

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

  (9) 封闭查询,保存查询为:stat_query。

  运转传递查询的办法有:

  (1) 用Microsoft Access的宏 OpenQuery。

  (2) 用下面的事情进程:

  Private Sub 计算_Click()

  Dim dbs As Database, qdf As QueryDef

  Dim tmq As Dynaset

  Dim strSQL As String

  Set dbs = CurrentDb

  '翻开上面建的传递查询stat_query

  Set qdf = dbs.OpenQueryDef("stat_query ")

  qdf.Execute

  Set dbs = Nothing

  End Sub

  这种办法在SQL Server 6.5 中完成彻底没问题,在Oracle 8.0中不能完成,错误信息为:ORA-00900 invalid SQL statement. 因为这种办法不需求一个中心的表去排队或激活后台存储进程,所以它的使用面就很广,但凡需求处理很大都据的事务,都能够放到Server端去处理,如计算报表。

  经过以上三种办法,处理了Access对很大都据处理速度慢的缺点,大大加大了深圳供电局数据处理才能。

【修改引荐】

  1. 云数据库技能渐热 各厂商演出多方斗法
  2. 最简略删去SQL Server中所有数据的办法
  3. DB2数据库功能优化技巧详解
转载请说明出处
知优网 » 在ACCESS中调用后台存储过程(access调用SQL存储过程)

发表评论

您需要后才能发表评论