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) )

 

标签:SQL,Server,2000,设置,数据库
0
投稿

猜你喜欢

  • Python如何根据时间序列数据作图

    2022-06-30 01:41:01
  • 详解django中Template语言

    2022-12-01 21:20:59
  • Python重新加载模块的实现方法

    2021-07-05 16:05:18
  • 关闭窗口时保存数据的办法

    2009-02-19 13:39:00
  • 详解Python的循环结构知识点

    2021-09-30 11:42:03
  • Windows下Python使用Pandas模块操作Excel文件的教程

    2021-01-05 23:07:40
  • Go+Kafka实现延迟消息的实现示例

    2024-05-22 10:14:29
  • 深入PHP magic quotes的详解

    2024-05-11 10:12:00
  • 胜过语言的图形符号

    2009-05-06 12:43:00
  • Python二进制数据结构Struct的具体使用

    2022-07-10 00:01:59
  • 基于python的itchat库实现微信聊天机器人(推荐)

    2021-11-30 13:54:21
  • Python访问MySQL封装的常用类实例

    2024-01-16 01:43:42
  • PHPMyadmin2.10中文显示为乱码的解决办法

    2007-08-22 08:18:00
  • Python实现的银行系统模拟程序完整案例

    2023-03-15 21:00:26
  • 深入浅出SQL教程之SELECT语句的自连接

    2009-08-30 15:17:00
  • Python函数之zip函数的介绍与实际应用

    2022-06-02 00:52:51
  • python实现一个简单的贪吃蛇游戏附代码

    2022-10-21 13:27:30
  • Python中字符编码简介、方法及使用建议

    2021-10-11 21:58:33
  • Python 字符串操作详情

    2023-02-04 19:03:59
  • 对Python3中的print函数以及与python2的对比分析

    2021-09-12 08:29:35
  • asp之家 网络编程 m.aspxhome.com