从sql数据库中导出图片
- 格式:doc
- 大小:27.50 KB
- 文档页数:4
(2)灵活度不同。
OPENDATASOURCE只能打开相应数据库中的表或视图,如果需要过滤的话,只能在SQLServer中进⾏处理。
⽽OPENROWSET可以在打开数据库的同时对其进⾏过滤,如上⾯的例⼦,在OPENROWSET中可以使⽤
SELECT*FROMtable1对abc.mdb中的数据表进⾏查询,⽽OPENDATASOURCE只能引⽤table1,⽽⽆法查询table1。
因此,OPENROWSET⽐较OPENDATASOURCE更加灵活。
2.使⽤命令⾏BCP导⼊导出数据
很多⼤型的系统不仅仅提供了友好的图形⽤户接⼝,同时也提供了命令⾏⽅式对系统进⾏控制。
在SQLServer中除了可以使⽤SQL语句对数据进⾏操作外,还可以使⽤⼀个命令⾏⼯具BCP对数据进⾏同样的操作。
BCP是基于DB-Library客户端库的⼯具。
它的功能⼗分强⼤,BCP能够以并⾏⽅式将数据从多个客户端⼤容量复制到单个表中,从⽽⼤⼤提⾼了装载效率。
但在执⾏并⾏操作时要注意的是只有使⽤基于ODBC或SQLOLEDB的API的应⽤程序才可以执⾏将数据并⾏装载到单个表中的操作。
BCP可以将SQLServer中的数据导出到任何OLEDB所⽀持的数据库的,如下⾯的语句是将authors表导出到excel⽂件中。
bcppubs.dbo.authorsoutc:\temp1.xls
-c-q-S"GNETDATA/GNETDATA"-U"sa"-P"password"。
sql查询结果导出语句SQL查询结果导出是在数据库中执行查询语句后,将查询结果导出到外部文件或其他数据库中的操作。
这种操作可以方便地将数据进行备份、迁移、共享或用于数据分析等目的。
下面列举了十个符合题目要求的SQL查询结果导出语句。
1. 将查询结果导出为CSV文件:```SELECT * FROM table_nameINTO OUTFILE '/path/to/file.csv'FIELDS TERMINATED BY ','ENCLOSED BY '"'LINES TERMINATED BY '\n';```这个语句将查询结果导出为逗号分隔的CSV文件,字段使用双引号括起来,每行以换行符结束。
2. 将查询结果导出为Excel文件:```SELECT * FROM table_nameINTO OUTFILE '/path/to/file.xls'FIELDS TERMINATED BY '\t'LINES TERMINATED BY '\n';```这个语句将查询结果导出为T ab分隔的文本文件,保存为Excel文件格式。
3. 将查询结果导出为JSON文件:```SELECT JSON_OBJECT('column1', column1, 'column2', column2, ...)FROM table_nameINTO OUTFILE '/path/to/file.json';```这个语句将查询结果导出为JSON格式的文件,每一行作为一个JSON对象。
4. 将查询结果导出为XML文件:```SELECT XMLAGG(XMLELEMENT(NAME "row", XMLFOREST(column1, column2, ...)))FROM table_nameINTO OUTFILE '/path/to/file.xml';```这个语句将查询结果导出为XML格式的文件,每一行作为一个XML元素。
SQL Server数据导入导出操作指南数据导入导出目的:当我们要把数据库中的某个表导到另一个数据库中或者导到磁盘上时,我们就要进行数据导入导出的操作。
(由于导出操作本质上是导入的逆过程,所以本文档将以导出操作进行重点讲解)(一)数据的导出在进行数据导出前,请先确保Sql server服务器端 Sql Server agent服务是否开启(包括源和目的),只有服务器端的Sql Server agent服务开启才能进行如下述的数据导出工作。
第一步:打开Sql企业管理器,选择你所要导出的数据库,并且点鼠标右键,选择“所有任务”里的“导出数据”选项,第二步: 选择“下一步”第三步:选择你所要导出的数据源的格式,数据源的服务器的名称,数据库登陆的验证模式,和将要进行数据导出的数据库。
(1)如果你要把一个表数据导出到文本文件时,你要在数据源中选择“文本文件”,(2)如果是要把一个数据库中的表导到另一个数据表中,你要在数据源中选择“用于SQL SERVER 的MICROSOFT OLE DB 提供程序”第四步:选择“下一步”,同样地,选择你所要导入的目的地格式,(1)如果你要导成文本格式时,你要在“目的”中选择文本文件,之后会出现如下窗口……并且选择你要把此文本导到的路径位置,选择“下一步”再选择“下一步”继续“下一步”这样就完成了把数据表导成文本文件的操作.(2)如果你想将表导到另一个数据库中时,你要在目的中选择“用于SQL SERVER的MICROSOFT OLE DB提供程序”,同时指定目的地的服务器的名称,目的地的数据库登陆的验证模式,和将要导入数据的数据库名。
第五步:选择“下一步”,然后指定是从数据源复制一个或多个表/视图,还是复制查询结果.(有三个选项,本文档以第一个为例进行讲解)第六步:选择“下一步”然后在要进行导出的表前打上钩(源),同时也选择你要把此表导到目的地的方式,(1)当你在目的中选择的表名在目的数据库中不存在时,选择下一步,出现如下窗口……………………..选择“下一步”再选择“完成”这样就把一个源中的表导到目的数据库中.(2)当你在目的中选择的表名在目的数据库中已经存在时,点击转换控键,出现如下窗口出现三个选项.选择第一个选项(创建目的表),表示会在目的数据库中重新建一个源数据表,并把已经存在的表删除.选择第二个选项(删除目的表中的行),表示会把已经存在的表中的内容删除(表的视图和索引不变),并从源数据表的内容重新导到此表中。
一.导出1.选择要导出的数据库表,右键选择“所有任务”,点击“所有任务”下的子菜单“Export Data…”进入“DTS Import/Export Wizard”窗口。
2.点击“下一步”,进入“Choose a Data Source”。
3.“Data Source”更改为“Microsoft OLE DB Provider for SQL Server”;“Server”更改为“笔记本(工控机)名称\WINCC”;下一步使用WINDOWS认证“Use Windows Authentication”;“Database”更改为“项目运行系统下的路径(例如:CC_BGSYJ_14_02_24_11_22_22R)”。
4. 点击“下一步”,进入“Choose a destination”。
5.“Destination”更改为“Microsoft Excel 97-2000”;“File name”建议更改为要导出的数据库表的名字,并指定保存的路径。
6.点击“下一步”,进入“Specify Table Copy Query”。
7. 点击“下一步”,进入“Select Source Table and Views”。
8.选择要导出的数据库表,然后点击“下一步”,进入“Save,Schedule,and replicate package”。
9. 点击“下一步”,“完成”,“确定”,“Done”,数据导出完成。
二.导入1.选择要导出的数据库表,右键选择“所有任务”,点击“所有任务”下的子菜单“Import Data…”进入“DTS Import/Export Wizard”窗口。
2. 点击“下一步”,进入“Choose a Data Source”。
3.“Data Source”更改为“Microsoft Excel 97-2000”;“File name”选择到指定路径下excel文档(重新制作或者以前导出的)。
(MS SQL Server)SQL语句导入导出大全选择自lchzh的 Blog(MS SQL Server)SQL语句导入导出大全SQL语句导入导出大全/******* 导出到excelEXEC master..xp_cmdshell ’bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""’/*********** 导入ExcelSELECT *FROM OpenDataSource( ’Microsoft.Jet.OLEDB.4.0’,’Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0’)...xactionsSELECT cast(cast(科目编号as numeric(10,2)) as nvarchar(255))+’’ 转换后的别名FROM OpenDataSource( ’Microsoft.Jet.OLEDB.4.0’,’Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0’)...xactions/** 导入文本文件EXEC master..xp_cmdshell ’bcp "dbname..tablename" in c:\DT.txt -c -Sservername -Usa -Ppassword’/** 导出文本文件EXEC master..xp_cmdshell ’bcp "dbname..tablename" out c:\DT.txt -c -Sservername -Usa -Ppassword’ 或EXEC master..xp_cmdshell ’bcp "Select * from dbname..tablename" queryout c:\DT.txt -c -Sservername -Usa -Ppassword’导出到TXT文本,用逗号分开exec master..xp_cmdshell ’bcp "库名..表名" out "d:\tt.txt" -c -t ,-U sa -P password’BULK INSERT 库名..表名FROM ’c:\test.txt’WITH (FIELDTERMINATOR = ’;’,ROWTERMINATOR = ’\n’)--/* dBase IV文件select * fromOPENROWSET(’MICROSOFT.JET.OLEDB.4.0’,’dBase IV;HDR=NO;IMEX=2;DATABASE=C:\’,’select * from [客户资料4.dbf]’) --*/--/* dBase III文件select * fromOPENROWSET(’MICROSOFT.JET.OLEDB.4.0’,’dBase III;HDR=NO;IMEX=2;DATABASE=C:\’,’select * from [客户资料3.dbf]’) --*/--/* FoxPro 数据库select * from openrowset(’MSDASQL’,’Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\’,’select * from [aa.DBF]’)--*//**************导入DBF文件****************/select * from openrowset(’MSDASQL’,’Driver=Microsoft Visual FoxPro Driver;SourceDB=e:\VFP98\data;SourceType=DBF’,’select * from customer where country != "USA" order by country’)go/***************** 导出到DBF ***************/如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句insert into openrowset(’MSDASQL’,’Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\’,’select * from [aa.DBF]’)select * from 表说明:SourceDB=c:\ 指定foxpro表所在的文件夹aa.DBF 指定foxpro表的文件名./*************导出到Access********************/insert into openrowset(’Microsoft.Jet.OLEDB.4.0’,’x:\A.mdb’;’admin’;’’,A表) select * from 数据库名..B表/*************导入Access********************/insert into B表selet * from openrowset(’Microsoft.Jet.OLEDB.4.0’,’x:\A.mdb’;’admin’;’’,A表)********************* 导入 xml文件DECLARE @idoc intDECLARE @doc varchar(1000)--sample XML documentSET @doc =’<root><Customer cid= "C1" name="Janine" city="Issaquah"><Order oid="O1" date="1/20/1996" amount="3.5" /><Order oid="O2" date="4/30/1997" amount="13.4">Customer was very satisfied</Order></Customer><Customer cid="C2" name="Ursula" city="Oelde" ><Order oid="O3" date="7/14/1999" amount="100" note="Wrap it bluewhite red"><Urgency>Important</Urgency>Happy Customer.</Order><Order oid="O4" date="1/20/1996" amount="10000"/></Customer></root>’-- Create an internal representation of the XML document.EXEC sp_xml_preparedocument @idoc OUTPUT, @doc-- Execute a SELECT statement using OPENXML rowset provider.SELECT *FROM OPENXML (@idoc, ’/root/Customer/Order’, 1)WITH (oid char(5),amount float,comment ntext ’text()’)EXEC sp_xml_removedocument @idoc/********************导整个数据库*********************************************/ 用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 File2Tablegocreate 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为导入asdeclare @sql varchar(8000)if @tbname like ’%.%.%’ --如果指定了表名,则直接导出单个表beginset @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 @sqlendelsebegin --导出整个数据库,定义游标,取出所有的用户表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 #tbfetch next from #tb into @m_tbnamewhile @@fetch_status=0beginset @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 @sqlfetch next from #tb into @m_tbnameendclose #tbdeallocate #tbendgo/**********************Excel导到Txt****************************************/ 想用select * into opendatasource(...) from opendatasource(...)实现将一个Excel文件内容导入到一个文本文件假设Excel中有两列,第一列为姓名,第二列为很行帐号(16位)且银行帐号导出到文本文件后分两部分,前8位和后8位分开。
sql server将数据导出到指定路径的语句SQL Server 是一种关系型数据库管理系统(DBMS),它提供了一种方便的方式将数据导出到指定路径。
下面是一步一步的指南,帮助您了解如何使用SQL Server 导出数据到指定路径。
步骤1:选择要导出的数据首先,您需要选择要导出的数据。
在SQL Server Management Studio(SSMS)中,可以使用查询工具或导出向导来选择数据。
您可以编写一个包含SELECT 语句的查询来选择数据,或者使用导出向导的图形界面来选择数据。
步骤2:使用BCP命令导出数据BCP(Bulk Copy Program)是SQL Server 提供的一个命令行工具,它可以用于导入和导出数据。
以下是使用BCP 命令导出数据的基本语法:bcp <数据库名称>.<架构名称>.<表名称> out <导出文件的路径> -T -n其中,`<数据库名称>` 是要导出数据的数据库名称,`<架构名称>` 是要导出数据的架构名称(如果有的话),`<表名称>` 是要导出数据的表名称,`<导出文件的路径>` 是要将数据导出到的文件路径。
`-T` 参数表示使用Windows 身份验证登录,`-n` 参数表示导出二进制格式。
例如,要导出名为`Customers` 的表中的所有数据到`C:\Temp\Customers.bcp` 文件中,可以执行以下命令:bcp AdventureWorks.Sales.Customers out C:\Temp\Customers.bcp -T -n步骤3:使用SQL Server Integration Services(SSIS)导出数据SQL Server Integration Services(SSIS)是SQL Server 中的一个强大的数据集成工具。
使⽤SQLyog对mysql数据库的数据结构进⾏导出、导⼊主要分为两个步骤:⼀、使⽤SQLyog对mysql数据库的数据结构进⾏导出1、⿏标右键选择需要导出数据结构的数据库——>点击【备份/导出】——>点击【备份数据库,转储到SQL....】2、选择需要导出sql⽂件的路径,选择sql导出的对象(默认是所有),选择导出的内容(默认是结构和数据)后,点击【导出】按钮。
3、导出sql⽂件后,点击【完成】。
即使⽤SQLyog导出SQL⽂件成功。
⼆、使⽤SQLyog对mysql数据库的数据结构进⾏导⼊1、新建数据库(⿏标右键数据连接,点击【创建数据库】)2、输⼊数据库名称,选择数据库字符集和数据库排序规则后,点击【创建】。
即创建⼀个空数据库3、右键选择创建的空数据库,点击【导⼊】,点击【执⾏sql脚本....】4、选择需要导⼊的SQL⽂件,去掉“发⽣错误时退出”的勾选,点击【执⾏】。
5、执⾏SQL⽂件时,系统提⽰:“当前数据库名称为xxxx,SQL⽂件中的SQL语句将在xxxx数据库执⾏,除⾮在SQL⽂件中的use指定需要执⾏的数据库”,如果sql⽂件中有use的值,需要先⼿动修改为导⼊的数据库名称,否则在导⼊时,系统提⽰导⼊成功,实则数据结构未导⼊进去。
6、sql⽂件执⾏完成之后,点击【刷新对象浏览器】进⾏更新数据库数据。
扩展:在进⾏数据结构导⼊导出时,⼀般是相同的数据库名称。
如果导⼊的数据库中已存在数据,需要先清空数据库的数据和结构后,再导⼊。
1、⿏标右键选择需要清空的数据库,点击【更新数据库操作】,点击【空数据库....】。
2、选择需要删除的对象(表、视图、存过、函数等),点击【确定】。
即数据库中的对象被删除了。
3、删除完之后,点击【刷新对象浏览器】进⾏更新数据库数据。
SQL导出数据库方法要导出SQL数据库,可以使用不同的方法,取决于所使用的数据库管理系统。
下面是一些常用的方法。
1.使用导出命令大多数数据库管理系统提供了导出命令,可以用于导出整个数据库或单个表。
例如,在MySQL中,可以使用以下命令导出整个数据库:```mysqldump -u username -p password database_name > backup.sql ```其中,username是数据库用户名,password是密码,database_name 是要导出的数据库的名称,backup.sql是导出的目标文件名。
2.使用数据库管理工具许多数据库管理工具(如phpMyAdmin、Navicat等)提供了图形界面操作,可以轻松导出数据库。
通常,只需选择要导出的数据库或表,然后选择导出选项,选择目标文件格式(如SQL文件)和文件名称,然后单击导出按钮即可。
3.使用编程语言使用编程语言编写脚本来导出数据库是另一种常见的方法。
例如,在Python中,可以使用MySQLdb模块连接到数据库并执行SQL查询,然后将结果保存到文件中。
以下是一个示例:```pythonimport MySQLdb#创建数据库连接conn = MySQLdb.connect(host="localhost", user="username", passwd="password", db="database_name")#创建游标cursor = conn.cursor#执行查询语句cursor.execute("SELECT * FROM table_name")#获取结果results = cursor.fetchall#将结果保存到文件with open("backup.sql", "w") as file:for row in results:file.write(",".join(str(value) for value in row) + "\n") #关闭游标和连接cursor.closeconn.close```4.使用专用的数据库备份工具一些数据库管理系统提供了专门的备份工具,如MySQL的Percona XtraBackup。
数据库导出相关表数据的命令在大多数关系数据库管理系统中,可以使用以下命令导出相关表数据:1. MySQL:- 导出整个数据库的数据:```mysqldump -u username -p database_name > filename.sql```- 导出指定表的数据:```mysqldump -u username -p database_name table_name > filename.sql```2. PostgreSQL:- 导出整个数据库的数据:```pg_dump -U username -d database_name -f filename.sql```- 导出指定表的数据:```pg_dump -U username -d database_name -t table_name -f filename.sql```3. Oracle:- 导出整个数据库的数据(使用expdp):```expdp username/password@service_namedumpfile=filename.dmp```- 导出指定表的数据(使用exp):```exp username/password@service_name tables=table_namefile=filename.dmp```4. Microsoft SQL Server:- 导出整个数据库的数据(使用bcp):```bcp database_name.schema.table out filename.bcp -Sserver_name -U username -P password```- 导出指定表的数据(使用bcp):```bcp database_name.schema.table out filename.bcp -Sserver_name -U username -P password -Q "SELECT * FROM table_name"```请注意,以上命令中的参数可以根据具体的数据库管理系统和需求进行调整和扩展。
数据导出方法
数据导出是将数据库中的数据导出到其他程序或文件中的过程。
在实际的工作中,我们常常需要将数据库中的数据导出到Excel表格、文本文件或其他数据库中。
常见的数据导出方法包括以下几种:
1. 使用数据库管理软件自带的导出功能,如MySQL Workbench
中的导出向导、SQL Server Management Studio中的导出数据向导等,可以将数据导出为Excel、CSV、XML等格式的文件。
2. 编写SQL语句,将查询结果导出为文本文件或CSV文件。
在MySQL中,可以使用SELECT INTO OUTFILE语句将查询结果导出为文本文件;在Oracle中,可以使用spool命令将查询结果导出为文本
文件或CSV文件。
3. 使用ETL工具,如Talend、Pentaho等,可以将数据从一个
数据库或文件中抽取出来,经过转换和清洗后再加载到另一个数据库或文件中。
4. 使用编程语言,如Java、Python等,通过数据库连接驱动和SQL语句将数据导出到Excel、CSV等格式的文件中。
在数据导出时,需要注意以下几点:
1. 导出的数据应该经过清洗和格式化,保证数据的准确性和可
读性。
2. 导出的文件应该符合格式规范,便于后续的数据处理和分析。
3. 导出的数据应该加密或采取其他安全措施,保护数据的安全
性。
通过数据导出方法,我们可以轻松地将数据库中的数据导出到其他程序或文件中,提高数据的利用价值和工作效率。
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_export]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_export]
GO
/*--导出表中的image列为文件
导出当前库,指定表中,指定的image/text/ntext列的数据为文件
导出生成的文件以表中的主键做为文件名
可以在指定导出目录时,指定文件的前缀
导出处理采用了windows身份验证,如果你的sql不支持windows身份验证
则需要把bcp处理语句中的/T,替换为/U"sa" /P"sa的密码"
--*/
/*--调用示例
--导出图像
exec p_export 'pub_info','pub_id','logo'
--导出文本文件,文件名以pp开头
exec p_export 'pub_info','pub_id','pr_info','c:\pp_','.txt'
--*/
create proc p_export
@tbname sysname, --要进行导出处理的表名
@keyfd sysname, --要进行导出处理的主键名
@imgfd sysname, --要导出的图像字段名
@path nvarchar(1000)='c:\', --导出的图像文件要保存的目录
@file sysname='', --导出的图像文件扩展名,默认为.gif
--如果是.开头,表明是直接指定的扩展名
--否则表示从表中的该字段获取扩展名
@whereand nvarchar(1000)='' --导出数据的条件
as
declare @fmtfile nvarchar(1000),@s nvarchar(4000)
if isnull(@path,'')='' set @path='c:\'
if isnull(@file,'')='' set @file='.gif'
select top 1 @fmtfile=rtrim(reverse(filename))
from master.dbo.sysfiles where name=N'master'
select @fmtfile=stuff(@fmtfile,1,charindex('\',@fmtfile),N'')
,@fmtfile=reverse(stuff(@fmtfile,1,charindex('\',@fmtfile),N''))
+N'\BACKUP\'+cast(newid() as nvarchar(36))+N'.fmt'
set @s=N'bcp "select null union all select 0 union all select 0 union all select null union all select null"'
+N' queryout "'+@fmtfile+N'" /T /c'
set @s=N'
declare tb cursor local
for
select N''bcp "select ''+quotename(@imgfd)
+'' from ''+quotename(db_name())
+''..''+quotename(@tbname)
+'' where ''+quotename(@keyfd)
+''=''+rtrim(pub_id)
+''" queryout "''+@path+rtrim(pub_id)+'
+case when left(@file,1)='.' then quotename(@file,'''') else N'ltrim('+quotename(@file)+N')' end+N'
+''" /T /i"''+@fmtfile+''"''
from '+quotename(@tbname)
+case when isnull(@whereand,'')='' then ''
else N' where '+@whereand end
+N'
open tb
fetch tb into @s
while @@fetch_status=0
begin
fetch tb into @s
end
close tb
deallocate tb'
exec sp_executesql @s,N'
@tbname sysname,
@keyfd sysname,
@imgfd sysname,
@path nvarchar(1000),
@file nvarchar(10),
@fmtfile nvarchar(1000),
@s nvarchar(4000)',
@tbname,@keyfd,@imgfd,@path,@file,@fmtfile,@s set @s='del "'+@fmtfile+N'"'
exec master..xp_cmdshell @s,no_output
go。