您的位置:首页 > 数据库

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

2008-02-14 14:01 609 查看
--以下是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'
)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: