CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

SQL Server扩展存储过程兼职

楼主keo()2005-04-23 02:06:38 在 MS-SQL Server / 应用实例 提问

目标:在SQL   SERVER存储过程中调用该扩展存储过程,传入三个变量,分别是表名string,记录ID号int,附加信息string,该扩展存储过程把这三个变量存储到IIS站点(可配置)的一个application变量,变量名是Application(表名+记录ID号)=表名string,记录ID号int,附加信息string(即是三个变量用逗号分隔合成一个字符串)  
  报酬:专家技术分1000,人民币500  
  大家回复此贴,提出可行性设计方案的,专家技术分1000.具体信息联系QQ:441711 问题点数:100、回复次数:6Top

1 楼softj(天地客人<最近很迷茫>)回复于 2005-04-23 07:57:00 得分 0

不会,帮你UP,关注中...Top

2 楼schwarzenegger(找不到服务器)回复于 2005-04-23 07:57:33 得分 0

只是进程间通信的问题,  
  共享内存,socket等都可以实现  
   
  使用扩展存储过程   不如   直接访问一个URL   改变application变量,   可靠性更强,容易开发、调试   .    
   
  Top

3 楼zjcxc(邹建)回复于 2005-04-23 08:34:03 得分 0

iis服务器上建立一个asp页面,接受三个参数,分别是表名string,记录ID号int,附加信息string  
  然后该asp页负责把这三个变量存储到IIS站点(可配置)的一个application变量  
   
  扩展存储过程只需要负责post信息到asp页面就OK了.  
  Top

4 楼zjcxc(邹建)回复于 2005-04-23 09:41:54 得分 0

''整个实现过程如下  
   
  /*==============   创建一个名为   application_process.asp   ========*/  
  ''文件内容如下  
   
  <%  
  Application.Lock  
  a=Request("tbname")+"_"+Request("id")  
  if   Request("value")=""   then  
  response.write   application(a)  
  else  
  b=Request("tbname")+","+Request("id")+","+Request("value")  
  Application(a)   =   b  
  end   if  
  Application.Unlock  
  %>  
  go  
   
   
   
  /*==============   在数据库中创建如下存储过程,完成Application的保存或者读取   ========*/  
   
  create   procedure   p_SaveApplication  
  @url   nvarchar(1000),     --url地址  
  @tbname   sysname,             --表名  
  @id   int,                             --id值  
  @value   nvarchar(1000)   out   --值,如果指定为null,则获取application的值  
  as  
  declare   @err   int,@src   varchar(255),@desc   varchar(255)  
  declare   @obj   int,@urlstr   nvarchar(4000),@function   varchar(4)  
   
  select   @function=CASE   WHEN   @value   IS   NULL   THEN   'GET'   ELSE   'POST'   END,  
  @urlstr=@url  
  +N'?tbname='+rtrim(@tbname)  
  +N'&id='+rtrim(@id)  
  +CASE   WHEN   @value   IS   NULL   THEN   ''   ELSE   N'&value='+rtrim(@value)   END  
   
  exec   @err=sp_oacreate   'MICROSOFT.XMLHTTP',@obj   out  
  if   @err<>0   goto   lberr  
   
  exec   @err=sp_oamethod   @obj,'open',null,@function,@urlstr,0  
  if   @err<>0   goto   lberr  
   
  exec   @err=sp_oamethod   @obj,'send',null,''  
  if   @err<>0   goto   lberr  
   
  if   @function='GET'  
  begin  
  exec   @err=sp_oagetproperty   @obj,'ResponseText',@value   output  
  if   @err<>0   goto   lberr  
  end  
   
  exec   @err=sp_oadestroy   @obj  
  return  
   
  lberr:  
  exec   sp_oageterrorinfo   0,@src   out,@desc   out  
  select   cast(@err   as   varbinary(4))   as   错误号  
  ,@src   as   错误源,@desc   as   错误描述  
  go  
   
   
  --调用(保存),网址是楼主的iis网址,application_process.asp对应第一步中创建的application变量处理asp页  
  exec   p_SaveApplication   'http://localhost/application_process.asp','pubs',1,50  
   
  --调用(读取)  
  declare   @value   varchar(100)  
  exec   p_SaveApplication   'http://localhost/application_process.asp','pubs',1,@value   out  
  select   结果=@value  
  --结果:pubs,1,50  
  Top

5 楼zjcxc(邹建)回复于 2005-04-23 09:42:38 得分 100

:D  
   
  给钱给分Top

6 楼zjcxc(邹建)回复于 2005-04-23 09:55:25 得分 0

注意application_process.asp   是放在iis服务器,你的网站根目录下,如果放在其他目录,则调用存储过程时的url要改为正确的目录.Top

相关问题

  • SQL server的存储过程
  • SQL Server存储过程
  • Oracle的存储过程与MS SQL Server的存储过程
  • Oracle的存储过程如何转成SQL Server存储过程
  • 关于sql server 7.0的存储过程
  • 关于sql server 和存储过程
  • 取消SQL Server 2000的存储过程
  • 关于调用存储过程(SQL SERVER)
  • ms sql server 存储过程一问
  • ※ Asp 中调用 Sql Server 存储过程 ※

关键词

  • 存储过程
  • 扩展
  • application
  • iis
  • 信息
  • asp
  • 变量
  • 扩展存储过程
  • saveapplication
  • err

得分解答快速导航

  • 帖主:keo
  • zjcxc

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo