CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

这么多的高手竟然不能回答这个问题??

楼主yzhlinux(依乐)2003-08-03 08:58:58 在 MS-SQL Server / 应用实例 提问

这个问题问了好几天,这里的个大高手了看过了,也有说话的,但是却最终都没解决,然后就从此不出现了!  
  我只还在发一次贴子,原贴:http://expert.csdn.net/Expert/topic/2090/2090037.xml?temp=.5734674  
   
  create     FUNCTION   dbo.GetText(  
  @table_name   varchar(100)   ,  
  @fieldname   varchar(50)   ,  
  @tpwhere   varchar(500))      
  RETURNS   varchar(8000)   AS      
  BEGIN    
  declare   @yzh   varchar(8000)  
  return   @yzh  
  END  
   
  代码一定没有错,同一个sqlserver服务器,其中有两个数据库,一个k1,一个为k2  
  在k1中执行上面的代码建立   GetText   函数是正常的。但是在k2中却不行。  
  给出提示:  
  服务器:   消息   170,级别   15,状态   1,行   3  
  Line   3:   Incorrect   syntax   near   'FUNCTION'.  
  服务器:   消息   178,级别   15,状态   1,行   11  
  A   RETURN   statement   with   a   return   value   cannot   be   used   in   this   context.  
   
  开始仔细检查代码,发现不可能是代码问题,后来发现在   k2   库中不能建立任何函数,错误提示均上上面所述!用分析器也好,直接建立也好,都不行!  
  请问哪个大狭知道这中情况是怎么回事情?为什么   k1   是好的,k2   却不行? 问题点数:100、回复次数:15Top

1 楼ldy(罗大佑)回复于 2003-08-03 09:15:51 得分 0

各大高手都看过了,听课先Top

2 楼CSDNM(决定不当CSDN经理了)回复于 2003-08-03 09:49:03 得分 0

SQL   SERVER什么版本?  
  是不是K1是2000,K2是6.5或者7.0?  
  2000以下版本的SQL   SERVER不支持FUNCTION  
  Top

3 楼pengdali()回复于 2003-08-03 11:04:54 得分 5

try   sp3  
   
  http://www.microsoft.com/china/sql/downloads/sp3.aspTop

4 楼vchoushen6(vc火神6号)回复于 2003-08-03 13:12:38 得分 0

不知道你的具体情况是什么,俺专门在SQLSERVER2K中试了一下(两个数据库中),没任何问题,很正常啊Top

5 楼qianguob(不懂编程)回复于 2003-08-03 13:33:10 得分 0

对啊,看一下两个数据的设置。Top

6 楼caiyunxia(夏才云)回复于 2003-08-03 13:33:19 得分 0

版本一样吗Top

7 楼CrazyFor(冬眠的鼹鼠)回复于 2003-08-03 13:53:57 得分 5

是不是因为你的K2的用户已经改掉了,不是dbo了。  
  TRY:  
   
  create     FUNCTION   GetText(  
  @table_name   varchar(100)   ,  
  @fieldname   varchar(50)   ,  
  @tpwhere   varchar(500))      
  RETURNS   varchar(8000)   AS      
  BEGIN    
  declare   @yzh   varchar(8000)  
  return   @yzh  
  ENDTop

8 楼yzhlinux(依乐)回复于 2003-08-03 19:29:25 得分 0

to     CSDNM(决定不当CSDN经理了)   “2000以下版本的SQL   SERVER不支持FUNCTION”   我k1   都建立了函数了你说支持不支持呢?  
  to   vchoushen6(vc火神6号)   “俺专门在SQLSERVER2K中试了一下(两个数据库中),没任何问题,很正常”   你的话代表什么意思?代表没有问题还是有问题?   我就没有试验?  
  to   qianguob(qianguob)     你在说什么?  
  to   caiyunxia(monkey)   “版本一样吗”你是只什么版本一样不一样??没有理解什么意思?我就一个数据库服务器,2000的,里面有很多数据库除了k2   的   function其他一切正常,我管理sql的经验水平还不是很差,所以不要问这些儿戏一定东西。  
  to   CrazyFor(太阳下山明朝依旧爬上来)     dbo   还在那里,应该是好的吧。如何判断他不正常呢?改是没有改变的啊,看不出来啊!Top

9 楼pengdali()回复于 2003-08-03 19:32:45 得分 0

你的用户都是用sa登陆建立的吗?Top

10 楼pengdali()回复于 2003-08-03 19:33:08 得分 0

写错  
  你的function都是用sa登陆建立的吗?Top

11 楼qianguob(不懂编程)回复于 2003-08-03 20:43:53 得分 2

我是说你检查一下两个数据库的设置是否一样?  
  例如用户的登陆啊.....?Top

12 楼yzhlinux(依乐)回复于 2003-08-04 08:03:39 得分 0

to   大力   是的,这个我已经万分注意了,话说回来,为了方便,由于这些库内部使用,我只有sa   一个帐号!Top

13 楼yzhlinux(依乐)回复于 2003-08-04 08:14:46 得分 0

问题奇怪得连检查sql语法都通不过,我把数据库给大家,又兴趣的可以拿回去研究看看(注:数据库种的表和视图已经全部被删除,原来表和视图个数是:有87个表,42个视图)  
  地址:  
  再次提供:  
  http://yzhlinux.vicp.net:88/guest/test.rar  
  如果认为我的什么权限问题啊,什么设置问题啊的人请都下载测试吧,我实在找了很久没有找到又什么不同了。Top

14 楼CSDNM(决定不当CSDN经理了)回复于 2003-08-04 08:16:54 得分 88

楼主:  
        企业管理器--〉k2-->右键--〉属性--〉选项--〉把兼容性级别,改为"数据库兼容级别80"--〉确定,OK?  
   
   
   
  Top

15 楼yzhlinux(依乐)回复于 2003-08-04 08:31:30 得分 0

终于发现了问题了,现在总结一下,的确是兼容级别的问题,这个错误迟迟不能发现原因有下:  
  1。属性中对比得不够仔细,如果逐项比较过去,那么应该可以发现的。  
  2。对7。0级别的东西不够熟悉,我本人没有管理过7。0以前的东西,如果熟悉的话,那么Line   3:   Incorrect   syntax   near   'FUNCTION'.   从这个被提示为“语法错误”的错误提示里就应该可以发现是兼容级别太早了。  
  3。我们太肤浅  
  大家的帮助力量总的大,再次感谢大家,从发现中我可以看出谁是热心,谁在用心,很感谢你们。  
  Top

相关问题

  • 那个问题真的有那么难吗?问了这么多天竟然没有人敢回答!!!!
  • 为什么我不能回答问题?
  • 为何jdk1.2中不能import java.util.TimerTask;谢谢回答!!!
  • 碟中碟III : 不能回答的问题
  • filesystemobject不能创建文件夹?高手回答!
  • 我为什么不能回答别人的问题
  • 看看delphi能不能胜任,回答给分
  • 许多的问题-技术的,您能不能回答?
  • 求检测最后一个字符不能为“,”,谢谢回答~
  • 怎么这么多人在叫没分,我来送点分。前5名1-3个三角的有效,5000分陆续有来。以后不能常来回答问题了,留个好尾!

关键词

  • .net
  • 数据库
  • 视图
  • 函数
  • 代码
  • 服务器
  • 版本
  • 兼容
  • 检查
  • sqlserver

得分解答快速导航

  • 帖主:yzhlinux
  • pengdali
  • CrazyFor
  • qianguob
  • CSDNM

相关链接

  • SQL Server类图书

广告也精彩

反馈

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