asp如何直接调用后台存储过程?
时间:2010-06-28 18:27:00
我开发了一个程序,数据在服务器端处理,通过ODBC和Access通讯。在实际应用中,调用后台存储过程不方便,花费时间也长。有什么好办法可以在Access中传递查询,直接将命令发送到数据库服务器去?
Access是有一种直接调用的方法的。这种方法不需要一个中间的表去排队或激活后台存储过程,应该说,它的应用范围是很广的。我们可以用Access 传递查询直接将命令发送到数据库服务器,加快处理速度。但这种方法Oracle 8.0中不能实现。
具体方法如下:
一、建立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
Set qdf = dbs.OpenQueryDef("stat_query ")
' 打开上面建的传递查询stat_query
qdf.Execute
Set dbs = Nothing
End Sub