用bcp实现的存储过程 导整个数据库
来源:互联网 发布:淘宝网怎么登陆不上 编辑:程序博客网 时间:2024/05/12 11:46
邹健的
/********************导整个数据库*********************************************/
用bcp实现的存储过程
/*
实现数据导入/导出的存储过程
根据不同的参数,可以实现导入/导出整个数据库/单个表
调用示例:
--导出调用示例
----导出单个表
exec file2table 'zj','','','xzkh_sa..地区资料','c:/zj.txt',1
----导出整个数据库
exec file2table 'zj','','','xzkh_sa','C:/docman',1
--导入调用示例
----导入单个表
exec file2table 'zj','','','xzkh_sa..地区资料','c:/zj.txt',0
----导入整个数据库
exec file2table 'zj','','','xzkh_sa','C:/docman',0
*/
if exists(select 1 from sysobjects where name='File2Table' and objectproperty(id,'IsProcedure')=1)
drop procedure File2Table
go
create procedure File2Table
@servername varchar(200)--服务器名
,@username varchar(200)--用户名,如果用NT验证方式,则为空''
,@password varchar(200)--密码
,@tbname varchar(500)--数据库.dbo.表名,如果不指定:.dbo.表名,则导出数据库的所有用户表
,@filename varchar(1000)--导入/导出路径/文件名,如果@tbname参数指明是导出整个数据库,则这个参数是文件存放路径,文件名自动用表名.txt
,@isout bit--1为导出,0为导入
as
declare @sql varchar(8000)
if @tbname like '%.%.%' --如果指定了表名,则直接导出单个表
begin
set @sql='bcp '+@tbname
+case when @isout=1 then ' out ' else ' in ' end
+' "'+@filename+'" /w'
+' /S '+@servername
+case when isnull(@username,'')='' then '' else ' /U '+@username end
+' /P '+isnull(@password,'')
exec master..xp_cmdshell @sql
end
else
begin--导出整个数据库,定义游标,取出所有的用户表
declare @m_tbname varchar(250)
if right(@filename,1)<>'/' set @filename=@filename+'/'
set @m_tbname='declare #tb cursor for select name from '+@tbname+'..sysobjects where xtype=''U'''
exec(@m_tbname)
open #tb
fetch next from #tb into @m_tbname
while @@fetch_status=0
begin
set @sql='bcp '+@tbname+'..'+@m_tbname
+case when @isout=1 then ' out ' else ' in ' end
+' "'+@filename+@m_tbname+'.txt " /w'
+' /S '+@servername
+case when isnull(@username,'')='' then '' else ' /U '+@username end
+' /P '+isnull(@password,'')
exec master..xp_cmdshell @sql
fetch next from #tb into @m_tbname
end
close #tb
deallocate #tb
end
go
- 用bcp实现的存储过程 导整个数据库
- 从整个数据库进行搜索的存储过程
- 存储过程结合bcp--将数据库记录导出成SQL脚本的形式。
- 存储过程结合bcp--将数据库记录导出成SQL脚本的形式.
- 存储过程加密针对整个数据库
- 在整个数据库中查找包含某关键字的所有存储过程
- 查询整个数据库中某个特定值所在的表和字段(存储过程)
- 数据库sql的查询统计问题 用存储过程实现;
- SqlServer2005存储过程执行BCP命令
- SqlServer2005存储过程执行BCP命令
- 数据库的存储过程
- 数据库的存储过程。
- 数据库的存储过程
- 数据库的存储过程
- 数据库的存储过程
- 数据库的存储过程
- 数据库 的存储过程
- 数据库的存储过程
- [大学生新闻网摘]为了诚信我还清助学贷款 大学生志愿者王一硕对话录
- 手机广播体操问世拉~~
- 白领的一天
- 装修中需注意的100项
- 简化版拼音反查单元
- 用bcp实现的存储过程 导整个数据库
- 什么才是拥有
- Panel创建动态控件
- 从数据库中导出数据库文档
- 为工大瑞普新编写的CCNA实验手册提供下载
- c语言测试工具 掌握CUnit
- ZIP文件格式(英文版)
- [上周大学生关注]
- Oracle问题与解答