CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

用SQL语句写的一段代码把本机的dBaseIV文件导到数据库的问题?????????

楼主liuzijing688(子敬)2005-05-31 15:02:55 在 MS-SQL Server / 应用实例 提问

用SQL语句写了一个存储过程,但是运行些存储过程的时候有这样的错误提示,如下:  
  服务器:   消息   7405,级别   16,状态   1,行   1  
  异类查询要求为连接设置   ANSI_NULLS   和   ANSI_WARNINGS   选项。这将确保一致的查询语义。请启用这些选项,然后重新发出查询。  
  请高人指点,谢谢!  
   
  存储过程如下:  
  CREATE     procedure   dbo.up_UploadUpdateData  
   
  @tbname   nvarchar(50), --SQL   Server   表名称  
  @collist   nvarchar(2000), --上传文件的字段列表  
  @tbpath   nvarchar(500) --DBF表所在绝对路径  
   
  as  
   
  --         set   nocount   on  
          SET   ANSI_DEFAULTS   ON  
          SET   ANSI_NULLS   ON  
          SET   ANSI_WARNINGS   ON  
   
          declare   @sqltext   nvarchar(4000)  
          declare   @dbfname   nvarchar(80)  
          declare   @leftstr   nvarchar(2)  
           
          select   @dbfname   ='['   +   @tbname   +   '.DBF]'  
   
          select     @leftstr   =   upper(left(ltrim(@tbname),2))  
          print   @leftstr  
          select   @tbname   =   '['   +   @tbname   +  
  case    
  when   @leftstr   =   'CB'   or   @leftstr   =   'TB'   then   'EXSH'  
  when   @leftstr   =   'BN'   then   'YLD'  
  end  
   
          set   @tbname   =   @tbname   +   ']'  
   
          print   @tbname  
          print   @dbfname  
          select     @sqltext   =   'insert   into   '+   @tbname   +   '('   +   @collist   +   ')'  
  +   '   select   '   +   @collist   +'   from   openrowset('   +   ''''   +   'MICROSOFT.JET.OLEDB.4.0'   +   ''''   +   ','    
  +   ''''   +   'dBase   IV;HDR=NO;IMEX=2;DATABASE='+   @tbpath     +   ''''   +   '   ,'    
  +   ''''   +   'select   '   +   @collist   +'   from   '   +   @dbfname   +   ''''   +   ')'  
   
          print   @sqltext  
          exec(@sqltext)  
   
   
          SET   ANSI_NULLS   OFF  
          SET   ANSI_WARNINGS   OFF  
          SET   ANSI_DEFAULTS   OFF  
  GO  
   
   
  -----------------------------------------  
  但是把本语句直接在SQL   查询分析器里面查询就能够成功执行查询 问题点数:5、回复次数:2Top

1 楼pengdali()回复于 2005-05-31 20:37:56 得分 5

CREATE     procedure   dbo.up_UploadUpdateData  
   
  @tbname   nvarchar(50), --SQL   Server   表名称  
  @collist   nvarchar(2000), --上传文件的字段列表  
  @tbpath   nvarchar(500) --DBF表所在绝对路径  
   
  as  
   
  --         set   nocount   on  
           
          declare   @sqltext   nvarchar(4000)  
          declare   @dbfname   nvarchar(80)  
          declare   @leftstr   nvarchar(2)  
           
          select   @dbfname   ='['   +   @tbname   +   '.DBF]'  
   
          select     @leftstr   =   upper(left(ltrim(@tbname),2))  
          print   @leftstr  
          select   @tbname   =   '['   +   @tbname   +  
  case    
  when   @leftstr   =   'CB'   or   @leftstr   =   'TB'   then   'EXSH'  
  when   @leftstr   =   'BN'   then   'YLD'  
  end  
   
          set   @tbname   =   @tbname   +   ']'  
   
          print   @tbname  
          print   @dbfname  
          select     @sqltext   =   'insert   into   '+   @tbname   +   '('   +   @collist   +   ')'  
  +   '   select   '   +   @collist   +'   from   openrowset('   +   ''''   +   'MICROSOFT.JET.OLEDB.4.0'   +   ''''   +   ','    
  +   ''''   +   'dBase   IV;HDR=NO;IMEX=2;DATABASE='+   @tbpath     +   ''''   +   '   ,'    
  +   ''''   +   'select   '   +   @collist   +'   from   '   +   @dbfname   +   ''''   +   ')'  
   
          print   @sqltext  
          exec('SET   ANSI_DEFAULTS   ON  
          SET   ANSI_NULLS   ON  
          SET   ANSI_WARNINGS   ON  
  '+@sqltext)  
   
   
  GOTop

2 楼liuzijing688(子敬)回复于 2005-06-01 16:48:44 得分 0

问题解决了,把原来的存储过程删除,在SQL   查询分析器中执行一次重新创建就OK了Top

相关问题

  • 怎样用SQL语句将远程数据库服务器的数据导入到本机??
  • 求SQL语句
  • sql语句。
  • sql语句?
  • sql 语句?
  • 求SQL语句
  • ***求SQL语句***
  • sql语句??
  • sql语句
  • sql语句

关键词

  • 存储过程
  • sql
  • leftstr
  • tbname
  • dbfname
  • collist
  • nvarchar
  • ansi
  • declare
  • print

得分解答快速导航

  • 帖主:liuzijing688
  • pengdali

相关链接

  • SQL Server类图书

广告也精彩

反馈

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