SQL Server 2000如何设置会话上下文信息?
发布时间:2010-05-18 18:33:00
Microsoft SQL Server 2000的会话上下文信息使应用程序得以设置二进制值,以便在同一会话或连接上运行的多个批处理、存储过程、触发器或用户定义函数中加以引用,但我在使用中感到不是很顺利,请问还应注意一些什么问题吗?
Microsoft SQL Server 2000引入了编程能力,在会话上下文信息中,我们可使用新的 SET CONTEXT_INFO 语句设置会话上下文,然后从 master.dbo.sysprocesses 表的新 context_info 列中检索上下文字符串。SET CONTEXT_INFO 语句支持:
1、最多 128 字节的常量,可以是二进制或是可隐性转换为二进制的数据类型。
2、varbinary(128) 或 binary(128) 变量的名称。
注意,不能在用户定义函数中指定 SET CONTEXT_INFO。因为用来存储信息的 sysprocesses 表不允许空值,所以不能给 SET CONTEXT_INFO 提供空值。
我们要获得当前连接的当前会话上下文,可从 SQL Server 进程 ID (SPID) 与连接 SPID 相等的 master.dbo.sysprocesses 行中选择 context_info 列,当前连接的 SPID 由 @@SPID 函数返回:
SELECT context_info
FROM master.dbo.sysprocesses
WHERE spid = @@SPID
如果我们还没有对当前连接执行 SET CONTEXT_INFO, context_info 列中的值将会初始化为 128 字节的二进制零;如果已执行了 SET CONTEXT_INFO,context_info 列[varbinary(128) 列]将包含由当前连接最后执行的 SET CONTEXT_INFO 设置的值。
下面看看具体的会话上下文信息示例:
SET CONTEXT_INFO 0x1256698456
------ 开始设置上下文信息------
GO
sp_who
GO
USE Northwind
GO
SELECT CustomerID
FROM Customers
WHERE City = 'London'
GO
SELECT context_info
------ 在选择上下文信息之前设置批处理------
FROM master.dbo.sysprocesses
WHERE spid = @@spid
GO
注意以上的SET CONTEXT_INFO 不支持引用常量或变量名以外的表达式,象函数什么的。如果需要将上下文信息设置为函数调用结果,则须先在 binary 或 varbinary 变量中放置函数调用结果才可:
DECLARE @BinVar varbinary(128)
SET @BinVar = CAST( REPLICATE( 0x20, 128 ) AS varbinary(128) )


猜你喜欢
- 1. AdaBoost 算法简介Boosting是机器学习的三大框架之一,其特点是,训练过程中的诸多弱模型,彼此之间有着强依赖关系。Boos
- 有了db模块,操作数据库直接写SQL就很方便。但是,我们还缺少ORM。如果有了ORM,就可以用类似这样的语句获取User对象:user =
- 上班族经常会遇到这样情况,着急下班结果将关机误点成重启,或者临近下班又通知开会,开完会已经迟了还要去给电脑关机。今天使用PyQt5做了个自动
- 二分类问题可能是应用最广泛的机器学习问题。今天我们将学习根据电影评论的文字内容将其划分为正面或负面。一、数据集来源我们使用的是IMDB数据集
- 从MySQL支持Unicode后,为了与时俱进,我们的web程序也开始考虑用UTF8了。其实UTF8也用了好几年了,程序基本能跑,没什么大问
- 看到有人用的PJBlog使用的是自动填写验证码,这样其实也不使用验证码基本上没有什么区别,很容易被 * ,因此在参照许多修改的基础上,找到
- 一、前言提到 limit 优化,大多数 MySQL DBA 都不会陌生,能想到各种应对策略,比如延迟关联,书签式查询等等,之前我也写过一篇优
- 一、进程与线程进程是操作系统资源分配的基本单位,是程序运行的实例。例如打开一个浏览器就开启了一个进程。线程是操作系统调度到CPU中执行的基本
- Numpy模块被广泛用于科学和数值计算,自然有它的强大之处,之前对于特征处理中需要进行数据列表或者矩阵拼接的时候都是自己写的函数来完成的,今
- 1、Numpy是什么很简单,Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy、matplotlib一起使
- 一、当我们用Python matplot时作图时,一些数据需要以百分比显示,以更方便地对比模型的性能提升百分比。二、借助matplotlib
- 上次的故事是这样的前女友发来加密的"520快乐.pdf",我用python破解开之后,却发现...事情是这样的小哥哥还是
- 本文实例讲述了python中MySQLdb模块用法。分享给大家供大家参考。具体用法分析如下:MySQLdb其实有点像php或asp中连接数据
- Python 定义了全局变量的特性,使用global 关键字修饰global key_word但是他的一大缺陷就是只能本module 中也就
- 1.Case函数的用法 (1)使用类似:switch-case与if-else if。 (2)语法: case [字段] when 表达式
- 今天偶然看到“一个有将近两年的div + CSS 开发经验和历史,曾经是Web标准绝对拥趸的同志”在自己的blog上发表放弃div+css的
- GitHub : https://github.com/jayknoxqu/id-number-util身份组成方式中华人民共和国国家标准G
- 很开心可以和导师阿坚在08gui大赛中一起去完成《fight》的图标设计,在这个过程中真的是受益匪浅!这里我谈一下在这个过程的一些小小心得。
- 如何快速的求出1到x的和呢?代码如下:NB(注意): # 后面的部分表示输出结果。class Debug: def calcul
- CMake 安装配置 OPENCV 4.1.1 解决各种问题方法一python 可以直接pip install opencv-contrib