亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

bcp-數(shù)據(jù)導入導出-二進制文件

系統(tǒng) 2412 0

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_binaryIO]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_binaryIO]
GO

/*--bcp 實現(xiàn)二進制文件的導入導出

?支持image,text,ntext字段的導入/導出
?image適合于二進制文件,包括:Word文檔,Excel文檔,圖片,音樂等
?text,ntext適合于文本數(shù)據(jù)文件

?注意:導入不會新增記錄,所以導入前要對表進行初始化,即插入記錄
??導入時,將覆蓋滿足條件的所有行
??導出時,將把所有滿足條件的行導出到指定文件中
??

?此存儲過程僅用bcp實現(xiàn)

--鄒建 2003.08(引用請保留此信息)---*/

/*--調用示例
--數(shù)據(jù)導出
?exec p_binaryIO 'zj','','','acc_演示數(shù)據(jù)..tb','img','c:\zj1.dat'

--數(shù)據(jù)導入
?exec p_binaryIO 'zj','','','acc_演示數(shù)據(jù)..tb','img','c:\zj1.dat','',0
--*/
Create proc p_binaryIO
@servename varchar (30),--服務器名稱
@username varchar (30), --用戶名
@password varchar (30),?--密碼
@tbname varchar (500), ?--數(shù)據(jù)庫..表名
@fdname varchar (30), ?--字段名
@fname varchar (1000),?--目錄+文件名,處理過程中要使用/覆蓋:@filename+_temp
@tj varchar (1000)='', ?--處理條件.對于數(shù)據(jù)導入,如果條件中包含@fdname,請指定表名前綴
@isout bit=1???--1導出((默認),0導入
AS
declare @fname_in varchar(1000)?--bcp處理應答文件名
?,@fsize varchar(20)???--要處理的文件的大小
?,@m_tbname varchar(50)??--臨時表名
?,@sql varchar(8000)

--則取得導入文件的大小
if @isout=1
?set @fsize='0'
else
begin
?create table #tb(可選名 varchar(20),大小 int
??,創(chuàng)建日期 varchar(10),創(chuàng)建時間 varchar(20)
??,上次寫操作日期 varchar(10),上次寫操作時間 varchar(20)
??,上次訪問日期 varchar(10),上次訪問時間 varchar(20),特性 int)
?insert into #tb
?exec master..xp_getfiledetails @fname
?select @fsize=大小 from #tb
?drop table #tb
?if @fsize is null
?begin
??print '文件未找到'
??return
?end

end

--生成數(shù)據(jù)處理應答文件
set @m_tbname='[##temp'+cast(newid() as varchar(40))+']'
set @sql='select * into '+@m_tbname+' from(
?select null as 類型
?union all select 0 as 前綴
?union all select '+@fsize+' as 長度
?union all select null as 結束
?union all select null as 格式
?) a'
exec(@sql)
select @fname_in=@fname+'_temp'
?,@sql='bcp " '+@m_tbname+' " out " '+@fname_in
?+'" /S" '+@servename
?+case when isnull(@username,'')='' then ''
??else '" /U" '+@username end
?+'" /P"'+isnull(@password,'')+'" /c'
exec master..xp_cmdshell @sql
--刪除臨時表
set @sql='drop table '+@m_tbname
exec(@sql)

if @isout=1
begin
?set @sql='bcp "select top 1 '+@fdname+' from '
?? +@tbname+case isnull(@tj,'') when '' then ''
???else ' where '+@tj end
??+'" queryout " '+@fname
??+'" /S" '+@servename
??+case when isnull(@username,'')='' then ''
???else '" /U" '+@username end
??+'" /P"'+isnull(@password,'')
??+'" /i" '+@fname_in+'"'
?exec master..xp_cmdshell @sql
end
else
begin
?--為數(shù)據(jù)導入準備臨時表
?set @sql='select top 0 '+@fdname+' into '
?? +@m_tbname+' from ' +@tbname
?exec(@sql)

?--將數(shù)據(jù)導入到臨時表
?set @sql='bcp " '+@m_tbname+' " in " '+@fname
??+'" /S" '+@servename
??+case when isnull(@username,'')='' then ''
???else '" /U" '+@username end
??+'" /P"'+isnull(@password,'')
??+'" /i" '+@fname_in+'"'
?exec master..xp_cmdshell @sql
?
?--將數(shù)據(jù)導入到正式表中
?set @sql='update '+@tbname
??+' set '+@fdname+'=b.'+@fdname
??+' from '+@tbname+' a,'
?? +@m_tbname+' b'
??+case isnull(@tj,'') when '' then ''
???else ' where '+@tj end
?exec(@sql)

?--刪除數(shù)據(jù)處理臨時表
?set @sql='drop table '+@m_tbname
end

--刪除數(shù)據(jù)處理應答文件
set @sql='del '+@fname_in
exec master..xp_cmdshell @sql
go

bcp-數(shù)據(jù)導入導出-二進制文件


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久青草视频97国内免费影视 | 久久精品国产只有精品2020 | 国产免费小视频 | 久久国产成人福利播放 | 一级毛片一级片 | 综合网激情 | 国语一区| 手机在线一区二区三区 | 国产资源福利 | 国产aaa毛片 | 天天久久狠狠伊人第一麻豆 | 日本不卡一区二区三区 | 99热久久精品国产 | 国产做国产爱免费视频 | 精品一区二区三区四区 | 国产精品777| 奇米影视奇米色 | 国产精品欧美亚洲韩国日本99 | 97高清| 久久嫩模| 亚洲精品成人一区二区www | 青青草国产一区二区三区 | 成年视频免费 | 九九九热 | 久青草国产手机在线视频 | 国产国拍亚洲精品午夜不卡17 | 国产人成精品免费视频 | 国产区综合 | 免费一级毛片不卡不收费 | 亚洲精品美女在线观看 | 国产麻豆va精品视频 | 久久久久这里只有精品 | 狠狠色噜噜狠狠狠米奇9999 | 亚洲香蕉国产高清在线播放 | 99热网| 久久怡红院国产精品 | 在线观看久草 | 四虎影在永久地址在线观看 | 在线国产网站 | 日韩中文字幕视频 | 在线免费观看亚洲 |