SQL server 系统储存过程在VB中的应用

server|过程

 
以锁定应用程序资源(sp_getapplock / sp_releaseapplock)为例:

sp_getapplock没有返回参数(output类型的),只是在SP中用return来返回值

加锁:

Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
cmd.ActiveConnection = cnn
cnn.BeginTrans
cnn.Execute "use master"
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "sp_getapplock"
系统识别格式为:'"{ ? = call sp_getapplock(?,?,?,?) }"
cmd.Prepared = True
cmd.Parameters(1) = "lock name"    '资源锁的名称
cmd.Parameters(2) = "Exclusive"
cmd.Parameters(3) = "Transaction"
cmd.Parameters(4) = 0                        '用于接收SP 中return关键字返回的值
cmd.Execute
MsgBox cmd.Parameters(0)               'display return value

解锁:

Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
cmd.ActiveConnection = cnn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "sp_releaseapplock"
cmd.Parameters(1) = "lock name"           '被锁资源名称
cmd.Parameters(2) = "Transaction"
cmd.Execute
MsgBox cmd.Parameters(0)

时间: 2024-10-03 08:54:08

SQL server 系统储存过程在VB中的应用的相关文章

你所不知道的SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧

原文:你所不知道的SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧 目前SQL Server数据库作为微软一款优秀的RDBMS,其本身启动的时候是很少出问题的,我们在平时用的时候,很少关注起启动过程,或者很少了解其底层运行过程,大部分的过程只关注其内部的表.存储过程.视图.函数等一系列应用方式,而当有一天它运行的正常的时候突然启动不起来了,这时候就束手无策了,能做的或许只能是重装.配置.还原等,但这一个过程其实是一个非常耗时的过程,尤其当我们面对是庞大的生产库的时候,

SQL Server系统数据库备份最佳实践

原文:SQL Server系统数据库备份最佳实践 首先了解主要的系统数据库: master 包含登录信息和其他数据库的核心信息 msdb 存储作业.操作员.警报.备份还原历史.数据库邮件信息等等. model 所有新数据库的模型,如果希望新数据库都有某些对象,可以在这里创建. tempdb sql server重启时重建,所以不需要备份 除了以上四种,其实还有一个数据库:Resource 从2005就引入的,一个只读.隐藏的数据库,包含所有在sql server中的系统对象.由于SQL SERV

SQL Server系统表sysobjects介绍与使用

原文:SQL Server系统表sysobjects介绍与使用 关于SQL Server数据库的一切信息都保存在它的系统表格里.我怀疑你是否花过比较多的时间来检查系统表格,因为你总是忙于用户表格.但是,你可能需要偶尔做一点不同寻常的事,例如数据库所有的触发器.你可以一个一个地检查表格,但是如果你有500个表格的话,这可能会消耗相当大的人工. 这就让sysobjects表格有了用武之地.虽然我不建议你更新这个表格,但是你当然有权对其进行审查. sysobjects 表 在数据库内创建的每个对象(约

SQL Server 系统数据库恢复

原文:SQL Server 系统数据库恢复 标签:SQL SERVER/MSSQL SERVER/数据库/DBA/故障恢复/master 概述      SQL Server 维护一组系统级数据库(称为"系统数据库"),这些数据库对于服务器实例的运行至关重要.每次进行大量更新后,都必须备份多个系统数据库.必须备份的系统数据库包括 msdb.master 和 model.如果有任何数据库在服务器实例上使用了复制,则还必须备份 distribution 系统数据库.备份这些系统数据库,就可

sql server 2008如何根据一个表中数据去查询另一个表的数据?

问题描述 sql server 2008如何根据一个表中数据去查询另一个表的数据? 现在我有三个表,表A有11列,其中有一列用来记录员工的id,一列是记录类型的Id,现在我要查询出表A的所有数据,但同时我要通过员工的id去查询出表B的员工名,通过类型的id,去查询出表C中的类型详情,最后我要得到的数据就是表A中除了员工id和类型id的数据外的9列数据,加上表B的员工名和表C的类型详情,请问这样的SQL语句要如何写? 解决方案 用一个表的数据更新另一个表Sql ServerSQL server中将

SQL Server删除表及删除表中数据的方法

本文介绍SQL Server中如何删除表,如何删除表中的数据.在删除表数据时有delete和truncate两种方法,delete和truncate有什么区别呢? SQL Server,我们现在基本上使用的最古老的版本应该是SQL Server 2000吧,应该没有更早的版本了吧?!从SQL Server 2000开始,到SQL Server 2005,2008,2012等,T-SQL的处理能力越来越强.今天我们就来说说如何使用T-SQL脚本来删除表,以及删除表中的数据. 删除表和删除表数据这是

如何快速删掉SQL Server登录时登录名下拉列表框中的选项

问题: 我以前创建了一个登录名如kpi,之后在"安全性-登录名" 里删掉了,但是每次登录时,登录名的下拉框中总是能显示登录名kpi,怎么把它删掉呢? 解决方案: 1).SQL Server 2008 R2和SQL Server 2008 先关闭数据库登录窗口,然后删除: %AppData%\Microsoft\Microsoft SQL Server\100\Tools\Shell\下的SqlStudio.bin文件.(直接在资源管理器中粘贴路径)再打开SSMS就看不到了. 2).SQ

SQL Server 2008在对象资源管理器中隐藏系统对象

环境:SQLServer 2008 R2 问题:在对象资源管理器中隐藏系统对象 解决: 对象资 源管理器的"数据库"节点包含系统对象,如系统数据库.使用"工具"/"选项"页可以隐藏系统对象.某 些系统对象(如系统函数和系统数据类型)并不受此设置的影响. 在对象资源管理器中隐藏系统对象 1.在"工具"菜单上,单击"选项". 2.在"环境/常规"页上,选中"在对象资源管理器中 隐藏

SQL Server 2008安装过程中出现1608错误的解决办法

一直使用SQL Server 2000 ,觉得安装方便快速,便不想升级到2005/2008.今天有个项目突然要用到2008,于是就在Windows7下安装了一下,没想到碰到一个1608 错误,中间提示一大堆信息,上网搜索了一下,也好多遇到过这个错误,试了网上的方法都没有成功,郁闷中搜索到一个国外的方法:   SQL Server 2008 Setup fails on Windows 7 Enterprise, Error code 1608 To troubleshooting the iss