mssqlserver 复制拷贝附件sql脚本(一)
来源:互联网 发布:数控车床仿真软件下载 编辑:程序博客网 时间:2024/05/19 00:54
说明:以下脚本利用mssql实现附件从一个盘复制到另外一个盘(ps:数据库、原始附件所在位置、导出附件存放位置在同一台服务器)
--数据库、原始附件所在位置、导出附件存放位置都在同一个服务器declare @outputDir varchar(500)declare @oriDir varchar(500)declare @serverUrl varchar(500)declare @serverPwd varchar(500)declare @serverUser varchar(500)declare @cmd varchar(4000)declare @desDir varchar(500)declare @folder varchar(500)declare @modeid intdeclare @fileid intdeclare @filename varchar(500)declare @filePath varchar(500)declare @rowid intdeclare @xh intdeclare @zihao varchar(1000)declare @title varchar(1000)--附件所在目录(附件所在目录与数据库在同一台服务器)Set @oriDir='d:\FileSite'--要导出的目录(导出附件的存放位置)Set @outputDir='i:\CopyFileSite\Test' select rowid=row_number() over(partition by kp.xh order by kp.xh),kp.xh,kp.docid,kp.zihao,kp.title ,att.filename,att.modeid,att.fileid,att.filepathinto ##tempfrom kp join fileTable att on att.modeid=kp.docidorder by kp.xh declare cur cursor for select xh,rowid,zihao,title,modeid,fileid,fileName,FilePath from ##tempopen curfetch next from cur into @xh,@rowid,@zihao,@title,@modeid,@fileid,@filename,@filepathwhile @@fetch_status=0Begin --if charindex(char(13), @filename)>0 or charindex(char(10), @filename)>0 --begin set @zihao=replace(@zihao,char(9),'') set @zihao=replace(@zihao,char(10),'') set @zihao=replace(@zihao,char(11),'') set @zihao=replace(@zihao,char(12),'') set @zihao=replace(@zihao,char(13),'') set @zihao=replace(@zihao,'\','') set @zihao=replace(@zihao,'/','') set @zihao=replace(@zihao,':','') set @zihao=replace(@zihao,'*','') set @zihao=replace(@zihao,'?','') set @zihao=replace(@zihao,'"','') set @zihao=replace(@zihao,'<','') set @zihao=replace(@zihao,'>','') set @zihao=replace(@zihao,'|','') set @filename=replace(@filename,char(9),'') set @filename=replace(@filename,char(10),'') set @filename=replace(@filename,char(11),'') set @filename=replace(@filename,char(12),'') set @filename=replace(@filename,char(13),'') set @filename=replace(@filename,'\','') set @filename=replace(@filename,'/','') set @filename=replace(@filename,':','') set @filename=replace(@filename,'*','') set @filename=replace(@filename,'?','') set @filename=replace(@filename,'"','') set @filename=replace(@filename,'<','') set @filename=replace(@filename,'>','') set @filename=replace(@filename,'|','') set @title=replace(@title,char(9),'') set @title=replace(@title,char(10),'') set @title=replace(@title,char(11),'') set @title=replace(@title,char(12),'') set @title=replace(@title,char(13),'') set @title=replace(@title,'\','') set @title=replace(@title,'/','') set @title=replace(@title,':','') set @title=replace(@title,'*','') set @title=replace(@title,'?','') set @title=replace(@title,'"','') set @title=replace(@title,'<','') set @title=replace(@title,'>','') set @title=replace(@title,'|','') --去除加急的网页符号 set @title=replace(@title,'[font color=red','') set @title=replace(@title,'font]','_') --end if @title is null or @title='' begin set @title='无标题' end --序号+docid+文号+标题 --i:\CopyFileSite\Test\1_29076_ 中国〔2009〕3号_关于附件导出脚本的测试 set @folder=rtrim(cast(@xh as varchar) + '_' + cast(@modeid as varchar) + '_' + @zihao + '_' +@title) set @cmd='md "'+@outputDir + '\' + @folder +'"' EXEC master..xp_cmdshell @cmd,no_output --print @cmd set @cmd= 'copy "' +@oriDir +replace(@filePath,'/','\')+'"' + ' "' +@outputDir +'\'+ @folder+'\'+cast(@rowid as varchar)+'_'+@filename+'"' EXEC master..xp_cmdshell @cmd --print @cmd set @cmd=''fetch next from cur into @xh,@rowid,@zihao,@title,@modeid,@fileid,@filename,@filepathEndclose curdeallocate curdrop table ##temp
0 0
- mssqlserver 复制拷贝附件sql脚本(一)
- mssqlserver 复制拷贝附件sql脚本(二)之异地服务器导出
- mssqlserver 复制拷贝附件sql脚本(三)之异地服务器导出
- MSSQLServer基础02(SQL语句入门(脚本、命令))
- MsSqlServer 复制分发概述
- 无法启动 SQL Server (MSSQLSERVER)
- 电子商城sql脚本(一)
- sql复制表、拷贝表、临时表
- SQL 两表之间拷贝复制数据
- mssqlserver基本sql语句
- mssqlserver基本sql语句
- bat脚本复制拷贝文件例子(当前目录或者是上一层目录)
- MSSQL 复制完整的数据库结构思路(SQL脚本)
- MSSQLSERVER无法启动(SQL Server 无法生成 FRunCM 线程)
- 拷贝(复制)构造函数
- Java数组复制(拷贝)
- SQL 脚本一
- SQL Server复制入门(一)----复制简介
- 生产环境参数实例及分析【生产环境实例增加中】
- Android 中解析xml的类、它们 的原理和区别?
- rpm与dpkg yum与apt-get详解,一看这个就知道这些个关系了
- Fragment中包含surfaceView出现闪屏问题解决方法
- freemarker实现动态生成内容
- mssqlserver 复制拷贝附件sql脚本(一)
- CSRF攻击
- 紧急求助 官方android的SDK无法连接下载了,eclipse里面的ADT用官方的地址也不能下载了
- 使用springMVC的详细步骤
- jQuery插件之Cookie
- 2015弱校连萌寒假专题一(热身) 题解(K-T)
- JVM系列五:JVM监测&工具[整理中]
- java开发环境的配置
- 同步异步阻塞非阻塞I/O