Access编程交流网
  • 设为首页|收藏本站|繁体中文|手机版
  •     
  • Access培训-Access开发平台-Access行业开发

  • 首页
  • 资讯
  • 技巧
  • 源码
  • 行业
  • 资源
  • 活动
  • 关于

技巧

ACCESS数据库

启动/设置/选项/背景

修复/压缩

安全/加密/解密

快捷键

版本升级/其它等

数据表

命名方式/设计规范

表设计

查询

Sql语言基础

选择查询

更新查询

删除查询

追加查询

生成表查询

交叉表查询

SQL特定查询

查询参数

查询综合应用

界面/窗体/控件

标签

文本框

命令按钮

组合框/列表框

选项组/复选框/选项按钮

选项卡

子窗体

窗体本身/综合应用

其它

报表打印

报表设计

高级报表

模块/函数/VBA/API/系统

VBA基础

内置函数

调试/跟踪/Debug

模块/类模块

API/COM/系统相关

字符数字日期

网络通信游戏

加密解密安全

文件处理

经典算法

宏/菜单/工具栏/功能区

宏/脚本

菜单/工具栏

功能区/Ribbon

图表/图形/图像/多媒体

图表

图形/图像

音频

视频/动画

DAO/链接表/ADO/ADP

DAO/链接表/ODBC

ADO/RDO

ADP

ActiveX/第三方控件/插件

Treeview树控件

ListView列表控件

Toolbar工具栏控件

微软其它控件

Dbi-Tech

CodeJock

Grid++Report

FastReport

ComponentOne

加载项/插件/Addin

OFFICE集成/导入导出/交互

Excel导入导出/交互

Word导入导出/交互

PPT交互

Outlook控制/邮件

Text文本文件/INI/CSV

PDF/SWF/XML格式

CAD格式

Sharepoint/其它Office

SqlServer/其它数据库

表

视图

存储过程/触发器

函数

用户/权限/安全

调试/维护

SqlServer其它/综合

发布/打包/文档/帮助

开发版/运行时

打包/发布/部署

开发文档/帮助制作

Access完整行业系统

采购管理系统

销售管理系统

仓库管理系统

人力资源管理HRM

CRM管理系统

MRP/ERP管理系统

BRP/流程优化

其它管理系统

心得/经验/绝招
其它/杂项
Excel技巧

Excel应用与操作

Excel开发编程

Word技巧

Word应用与操作

Word开发编程

Outlook技巧

Outlook应用与操作

Outlook开发编程

热门文章

  • 一个计算库存及结转的例子
  • 库存数超出其上限、下限的报..
  • 测试查询速度
  • MS Jet SQL fo..
  • 如何更改字段类型或字段长度..
  • count distinc..

最新文章

  • 使用SQL语句创建表且设置..
  • 利用IIF、Switch函..
  • sql模糊查询的几种常见方..
  • 获取本月、上月、下月天数的..
  • Access常用Sql语句..
  • sql语句中like通配符..

联系方式

Access交流网(免费Access交流)

QQ:18449932 

网  址:www.access-cn.com

当前位置:首页 > 技巧 > 查询 > Sql语言基础
Sql语言基础

如何调用sql server后台的存储过程加快效率?

在access 中调用后台存储过程
如何使用传递查询

请特别注意方法三

ACCESS是一个Client/Server的优秀前端开发工具,具有易学易用,界面友好,开发简单,和其他数据库接口灵活。但是,它要对大量数据处理时,速度比较慢。深圳供电局现有60万用户,下面有6个营业所,通过64K DDN 和局相连,如果有一个营业所要对1万用户进行处理的话,要花2~3小时,严重影响其他业务的开展。所以,当有大量数据需要处理时,不能在Client端处理,而必须在Server端处理。 但access和Server端之间多数通过ODBC来连接,这样就增加了调用后台存储过程的难度。笔者通过在实际工作中长期的摸索,根据不同的业务需要,可以用下面三种方法去调用后台存储过程。 

    一、 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对大量数据处理速度慢的弱点,大大加大了深圳供电局数据处理能力


(相关查询-相关文章技巧链接):
建立Access 传递查询的详细步骤
发布人:ec-ACCESS911  
分享到:
点击次数:  更新时间:2003-12-06 20:23:06  【打印此页】  【关闭】
上一条:使用ADO或DAO如何进行事务处理?  下一条:Create table 设置双主键?(SQL语句)



相关文章

  • • 使用SQL语句创建表且设置自动编号字段
  • • 利用IIF、Switch函数创建自定义排序次序
  • • sql模糊查询的几种常见方法
  • • 获取本月、上月、下月天数的函数
  • • Access常用Sql语句大全
  • • sql语句中like通配符的汇总(*?!#-等含义)
  • • SQL查询语句的一般格式小结
  • • 报表中先按组再按条件统计

热门文章

  • [2004-08-18] 库存数超出其上限、下限的报警access数据库
  • [2003-12-06] sql如何返回第三或从第三条记录开始返回(分页问题)?access数据库
  • [2004-08-18] 一个计算库存及结转的例子access数据库
  • [2017-01-12] 使用SQL语句创建表且设置自动编号字段access数据库
  • [2004-08-18] 如何查出相互担保的公司来,查询的运用示例。access数据库
  • [2003-12-13] MS Jet SQL for Access 2000中级篇 (III)access数据库

热门产品

公司动态|在线留言|在线反馈|友情链接|会员中心|站内搜索|网站地图

中山市天鸣科技发展有限公司 版权所有 1999-2023 粤ICP备10043721号

QQ:18449932

Access应用 Access培训 Access开发 Access平台

access|数据库|access下载|access教程|access视频|access软件

Powered by MetInfo 5.3.12 ©2008-2025  www.metinfo.cn