sql2000和文本文件的写入和读取(转)

可以使用BCP工具,BULK INSERT 等

发表者:search_you

if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N[dbo].[TestProc])   and   OBJECTPROPERTY(id,   NIsProcedure)   =   1)  
  drop   procedure   [dbo].[TestProc]  
  GO  
   
  SET   QUOTED_IDENTIFIER   OFF    
  GO  
  SET   ANSI_NULLS   OFF    
  GO  
   
   
  /*--实现数据导入/导出的存储过程  
  导出调用示例  
  exec   TestProc   server,uid,pwd,c:\result.txt,Northwind..Orders,@rowsplit=,  
  导入调用示例  
  exec   TestProc   server,uid,pwd,c:\result.txt,Northwind..Orders,0  
  --*/  
   
  create   procedure   TestProc  
  @servername   varchar(200) --服务器名  
  ,@username   varchar(200) --用户名,如果用NT验证方式,则为空  
  ,@password   varchar(200) --密码  
  ,@filename   varchar(1000) --目录名+文件名  
  ,@tbname   varchar(500)= --数据库..表名  
  ,@isout   bit=1 --1为导出(默认),0为导入  
  ,@fdsplit   varchar(10)=\t --字段分隔符,默认为制表符  
  ,@rowsplit   varchar(10)=\n --记录分隔符,默认为回车符  
  as  
  declare   @sql   varchar(8000)  
   
  set   @sql=bcp   "+@tbname  
  +case   when   @isout=1   then   "   out   else   "   in   end  
  +   "+@filename+"   /c +   /S"+@servername  
  +case   when   isnull(@username,)=   then      
  else   "   /U"+@username   end  
  +"   /P"+isnull(@password,)+"  
  +   /t"+@fdsplit+"  
  +   /r"+@rowsplit+"  
   
  exec   master..xp_cmdshell   @sql  
  GO  
  SET   QUOTED_IDENTIFIER   OFF    
  GO  
  SET   ANSI_NULLS   ON    
  GO

发表者:zlj113

导入文本到sql  
  EXEC   master..xp_cmdshell   bcp   库名.dbo.表名   in   f:\1.txt   -c   -q   -t,   S"服务器名"   -U"用户名"   -P"密码"  
   
  sql   到TXT  
  EXEC   master..xp_cmdshell   bcp   库名.dbo.表名   out   f:\1.txt   -c   -q   -S"服务器名"   -U"用户名"   -P"密码"  

posted @   龍的傳人  阅读(561)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示