导出到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 * from OPENROWSET(''''MICROSOFT.JET.OLEDB.4.0'''' ,''''dBase IV;HDR=NO;IMEX=2;DATABASE=C:\'''',''''select * from [客户资料4.dbf]'''') --*/
--/* dBase III文件 select * from OPENROWSET(''''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 表
/*************导出到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表)
文件名为参数 declare @fname varchar(20) set @fname = ''''d:\test.mdb'''' exec(''''SELECT a.* FROM opendatasource(''''''''Microsoft.Jet.OLEDB.4.0'''''''', ''''''''''''+@fname+'''''''''''';''''''''admin'''''''';'''''''''''''''', topics) as a '''')
SELECT * FROM OpenDataSource( ''''Microsoft.Jet.OLEDB.4.0'''', ''''Data Source="f:\northwind.mdb";Jet OLEDB:Database Password=123;User ID=Admin;Password=;'''')...产品
********************* 导入 xml 文件
DECLARE @idoc int DECLARE @doc varchar(1000) --sample XML document SET @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 blue white 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
???????
/**********************Excel导到Txt****************************************/ 想用 select * into opendatasource(...) from opendatasource(...) 实现将一个Excel文件内容导入到一个文本文件
insert into opendatasource(''''MICROSOFT.JET.OLEDB.4.0'''' ,''''Text;HDR=Yes;DATABASE=C:\'''' )...[aa#txt] --,aa#txt) --*/ select 姓名,银行账号1=left(银行账号,8),银行账号2=right(银行账号,8) from opendatasource(''''MICROSOFT.JET.OLEDB.4.0'''' ,''''Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:\a.xls'''' --,Sheet1$) )...[Sheet1$]
如果你想直接插入并生成文本文件,就要用bcp
declare @sql varchar(8000),@tbname varchar(50)
--首先将excel表内容导入到一个全局临时表 select @tbname=''''[##temp''''+cast(newid() as varchar(40))+'''']'''' ,@sql=''''select 姓名,银行账号1=left(银行账号,8),银行账号2=right(银行账号,8) into ''''+@tbname+'''' from opendatasource(''''''''MICROSOFT.JET.OLEDB.4.0'''''''' ,''''''''Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:\a.xls'''''''' )...[Sheet1$]'''' exec(@sql)
--然后用bcp从全局临时表导出到文本文件 set @sql=''''bcp "''''+@tbname+''''" out "c:\aa.txt" /S"(local)" /P"" /c'''' exec master..xp_cmdshell @sql