SQL SERVER 2005 与 VFP,EXCEL,TXT文本文档之间的导入导出

--以下是TRANSACT-SQL 语句

--假设有test数据库 中有名t1 的表

use test
--装好VFP ODBC驱动
--openrowset返回的就是看作一个表
exec sp_dropserver --删除链接服务器
exec sp_helpserver --显示现有的链接服务器
select * from sys.servers  --查询服务器表
exec sp_dropserver 'srv_lnk'

--以下是导出C:/tt.DBF 直接执行的Transact-SQL
insert into 
openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:/',
'select * from tt.DBF') select * from t1


--以下是导出XLS,对应字段数类型都要相同
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:/c.xls','select * FROM [sheet1$]') select * from t1


--以下是bcp导出文本,-t 指定的字段分隔符
--直接从查询中导出数据不指定数据分隔符
EXEC master..xp_cmdshell 'bcp "Select * from Test.dbo.T1" queryout c:/DT.txt -c -SLain -Usa -Pjavaone -t"|"'
select a.* from OPENROWSET(BULK N'C:/DT.txt',FORMATFILE = 'C:/ff.txt' ) a

--以下是create  t1表格式文件的bcp命令
--x是指定xml -t 指定分隔符| -c是指定字符数据
bcp test.dbo.t1 format nul -T -f c:/yy.fmt -x -c -t "|"

--以下是openrowset读取固定格式文本
select a.* from openrowset(bulk 'c:/dt.txt',formatfile='c:/yy.fmt') a
--以下是从文本用格式文件插入t1表
insert into t1 select a.* from openrowset(bulk 'c:/dt.txt',formatfile='c:/yy.fmt') a

--以下是bulk insert 导入指定分隔符的数据
BULK INSERT test.dbo.t1
   FROM 'c:/dt.txt'
   WITH
      (
         FIELDTERMINATOR ='|',
         ROWTERMINATOR ='/n'
      )
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值