首页 数据库 mysql教程 sql 二进制文件的导入导出

sql 二进制文件的导入导出

Jun 07, 2016 pm 04:18 PM
二进制 导入 导出 文件

/*--bcp-二进制文件的导入导出 支持image,text,ntext字段的导入/导出 image适合于二进制文件;text,ntext适合于文本数据文件 注意:导入时,将覆盖满足条件的所有行 导出时,将把所有满足条件的行也出到指定文件中 此存储过程仅用bcp实现 邹建 2003.08----------

   /*--bcp-二进制文件的导入导出

  支持image,text,ntext字段的导入/导出

  image适合于二进制文件;text,ntext适合于文本数据文件

  注意:导入时,将覆盖满足条件的所有行

  导出时,将把所有满足条件的行也出到指定文件中

  此存储过程仅用bcp实现

  邹建 2003.08-----------------*/

  /*--调用示例

  --数据导出

  exec p_binaryIO 'zj','','','acc_演示数据..tb','img','c:zj1.dat'

  --数据导出

  exec p_binaryIO 'zj','','','acc_演示数据..tb','img','c:zj1.dat','',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

  Create proc p_binaryIO

  @servename varchar (30),--服务器名称

  @username varchar (30), --用户名

  @password varchar (30), --密码

  @tbname varchar (500), --数据库..表名

  @fdname varchar (30), --字段名

  @fname varchar (1000), --目录+文件名,处理过程中要使用/覆盖:@filename+.bak

  @tj varchar (1000)='', --处理条件.对于数据导入,如果条件中包含@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

  ,创建日期 varchar(10),创建时间 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

  --生成数据处理应答文件

  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

  --为数据导入准备临时表

  set @sql='select top 0 '+@fdname+' into '

  +@m_tbname+' from ' +@tbname

  exec(@sql)

  --将数据导入到临时表

  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

  --将数据导入到正式表中

  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)

  --删除数据处理临时表

  set @sql='drop table '+@m_tbname

  end

  --删除数据处理应答文件

  set @sql='del '+@fname_in

  exec master..xp_cmdshell @sql

  go

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1662
14
CakePHP 教程
1419
52
Laravel 教程
1312
25
PHP教程
1262
29
C# 教程
1235
24
抖音私信表情包怎么弄到微信?私信表情包怎么导出? 抖音私信表情包怎么弄到微信?私信表情包怎么导出? Mar 21, 2024 pm 10:01 PM

随着社交媒体的不断兴起,抖音作为一款备受欢迎的短视频平台,吸引了大量用户的青睐。在抖音上,用户不仅可以展示自己的生活,还能与其他用户进行互动。在这种互动中,表情包逐渐成为用户们表达情感的重要方式。一、抖音私信表情包怎么弄到微信?首先,要在抖音平台上获取私信表情包,需要登录抖音账号,然后浏览并选择喜欢的表情包,可以选择发送给好友或自己收藏。在抖音收到表情包后,可以通过私信界面长按该表情包,然后选择“添加到表情”功能。这样,就可以将这个表情包添加到抖音的表情库中。3.接下来,我们需要将抖音表情库中的

出现0x80004005错误代码怎么办 小编教你0x80004005错误代码解决方法 出现0x80004005错误代码怎么办 小编教你0x80004005错误代码解决方法 Mar 21, 2024 pm 09:17 PM

在电脑中删除或解压缩文件夹,时有时候会弹出提示对话框“错误0x80004005:未指定错误”,如果遇到这中情况应该怎么解决呢?提示错误代码0x80004005的原因其实有很多,但大部分因为病毒导致,我们可以重新注册dll来解决问题,下面,小编给大伙讲解0x80004005错误代码处理经验。有用户在使用电脑时出现错误代码0X80004005的提示,0x80004005错误主要是由于计算机没有正确注册某些动态链接库文件,或者计算机与Internet之间存在不允许的HTTPS连接防火墙所引起。那么如何

网易云音乐本地歌曲怎么导入 本地歌曲导入方法 网易云音乐本地歌曲怎么导入 本地歌曲导入方法 Mar 13, 2024 am 11:19 AM

  我们在使用这款平台来听歌的时候,应该大部分都是有着你们所想听的一些歌曲的,当然有些事可能因为没有版权而听不了,当然我们也可以直接的使用导入本地的一些歌曲到上面,这样就可以听了。我们可以下载一些歌曲直接的转化为mp3类型的一些格式,这样在手机上面就可以扫描来进行一些导入等情况了。不过对于大多数的用户们来说,导入本地的一些歌曲内容等方面都是并不怎么了解的,所以为了能够很好的解决这些问题,今日小编也会给大家们来好好的讲解一下其中的内容方法,让大家们可以更好的对其进行一些选择都是没问的,有兴趣的话,

夸克网盘的文件怎么转移到百度网盘? 夸克网盘的文件怎么转移到百度网盘? Mar 14, 2024 pm 02:07 PM

  夸克网盘和百度网盘都是现在最常用的储存文件的网盘软件,如果想要将夸克网盘内的文件保存到百度网盘,要怎么操作呢?本期小编整理了夸克网盘电脑端的文件转移到百度网盘的教程步骤,一起来看看是怎么操作吧。  夸克网盘的文件怎么保存到百度网盘?要将夸克网盘的文件转移到百度网盘,首先需在夸克网盘下载所需文件,然后在百度网盘客户端中选择目标文件夹并打开。接着,将夸克网盘中下载的文件拖放到百度网盘客户端打开的文件夹中,或者使用上传功能将文件添加至百度网盘。确保上传完成后在百度网盘中查看文件是否成功转移。这样就

xmind文件怎么导出为pdf文件 xmind文件怎么导出为pdf文件 Mar 20, 2024 am 10:30 AM

xmind是一款非常实用的思维导图软件,它是利用人们的思维和灵感制作出来的导图形式,我们在制作完xmind文件通常会把它转换成pdf文件格式,以方便大家传播使用,那么xmind文件怎么导出为pdf文件呢?下面就是具体操作步骤可以供大家参考。1.首先我们来演示一下如何导出思维导图为PDF文档。选择【文件】-【导出】功能按钮。2.在新出现的界面中选择【PDF文档】并点击【下一步】按钮。3.在导出界面选择设置:纸张尺寸、方向、分辨率和文档存储位置。完成设置后点击【完成】按钮。4.如果点击【完成】按钮后

hiberfil.sys是什么文件?hiberfil.sys可以删除吗? hiberfil.sys是什么文件?hiberfil.sys可以删除吗? Mar 15, 2024 am 09:49 AM

  最近有很多网友问小编,hiberfil.sys是什么文件?hiberfil.sys占用了大量的C盘空间可以删除吗?小编可以告诉大家hiberfil.sys文件是可以删除的。下面就来看看详细的内容。hiberfil.sys是Windows系统中的一个隐藏文件,也是系统休眠文件。通常存储在C盘根目录下,其大小与系统安装内存大小相当。这个文件在计算机休眠时被使用,其中包含了当前系统的内存数据,以便在恢复时快速恢复到之前的状态。由于其大小与内存容量相等,因此它可能会占用较大的硬盘空间。  hiber

Oracle导入中文数据时出现乱码怎么解决? Oracle导入中文数据时出现乱码怎么解决? Mar 10, 2024 am 09:54 AM

标题:解决Oracle导入中文数据乱码问题的方法及代码示例在Oracle数据库中导入中文数据时,经常会出现乱码的情况,这可能是由于数据库字符集设置不正确或者导入过程中出现编码转换问题所致。为了解决这个问题,我们可以采取一些方法来保证导入的中文数据能够正确显示。下面是一些解决方案及具体的代码示例:一、检查数据库字符集设置在Oracle数据库中,字符集的设置对于

酷家乐怎么导出剖面图_酷家乐导出剖面图方法 酷家乐怎么导出剖面图_酷家乐导出剖面图方法 Apr 02, 2024 pm 06:01 PM

1、首先在酷家乐中打开要处理的设计方案,点击上面的图纸清单下的施工图纸。2、然后点击选择全彩平面图。3、接着在图纸中把不要的家具隐藏,只留下需要导出的家具。4、最后点击下载即可。

See all articles