SQLServer资料库的导入和导出

/* 资料库的导入和导出*/

 

--复制表结构

USE LWSf

GO

select * into T_tmp_statusdescriptfrom T_statusdescriptwhere 1=2

 

--字段值分隔符:, 换行符:<回车>,从第行开始,因为第一行是标题

BULK INSERT dbo.T_tmp_statusdescript

FROM ‘D:\T_statusdescript.txt‘

WITH (FIELDTERMINATOR =‘,‘, ROWTERMINATOR = ‘\n‘, FIRSTROW=2)

 

select * from T_statusdescript

select * from dbo.T_tmp_statusdescript

 

--为使用OpenDataSource,需要先配置SQL SERVER

--打开高级选项配置,因SQL Server服务被重启动,所以连接已断开,初次执行报错,但会自动再连接。再次执行即可

Exec SP_Configure‘show advanced options‘,1

Reconfigure With Override

Go

--打开选项:Ad Hoc Distributed Queries

Exec SP_Configure‘Ad Hoc Distributed Queries‘,1

Reconfigure With Override

 

--Sheet1$:工作表名称64OS

Select *

FROM OpenDataSource(‘Microsoft.ACE.OLEDB.12.0‘,

‘DataSource=D:\mac120305.xlsx;

UserID=Admin;Password=;Extended Properties=Excel 12.0;‘)...Sheet1$

 

--32OS

select *

FROM OpenDataSource(‘Microsoft.Jet.OLEDB.4.0‘,‘datasource=D:\mac120305.xls;

ExtendedProperties="Excel 8.0;User id=Admin"‘)...[sheet1$]

select *

FROM openrowset(‘Microsoft.Jet.OLEDB.4.0‘,‘Excel 8.0;HDR=YES;IMEX=1;Database=D:\mac120305.xls‘,[sheet1$])

 

--SQL Server2008 连接DB

--Provider=SQLNCLI10.1;DataSource=PC;Integrated Security=SSPI;Initial Catalog=DB

 

--BCP 导入导出文件导出文件

--BCP 是一个是一个DOS DOS命令,要进入命令,要进入命令,要进入DOS DOS窗口执行。

--在开始菜单鼠标右键标右键运行(R),输入CMD CMD CMD 并回车,启动DOS DOS窗口:

--输入BCP 不带参数

--(注意BCP命令中–F –L –S –P –U………都必须是大写的)

 

--将表导出,会自动创建文件

USE master

GO

EXEC master..xp_cmdshell‘bcpLWSf.dbo.T_statusdescript OUT D:\T_statusdescript.txt -T -c‘

-- -T Windows 帐号登录SQL SERVERSQL,若以SQL SERVERSQL SERVER 登录帐号,则替换为–Usa –Psqlpwd

--EXECmaster..xp_cmdshell ‘bcp LWSf.dbo.T_statusdescript OUT D:\T_statusdescript.txt-Usa -Psqlpwd -c‘

 

--查询指定条件的内容导出数据

EXEC master..xp_cmdshell

‘BCP"SELECT OP 0  ROM WSf.dbo.T_statusdescript "queryout D:\T_statusdescripttop20.txt -T -c ‘

EXEC master..xp_cmdshell

‘BCP"SELECT OP 0  ROM WSf.dbo.T_statusdescript "queryout D:\T_statusdescripttop20.txt -c -S"localhost"-U"sa" -P"biostar@123" ‘

--导出First Last 起始记录-F -L

EXEC master..xp_cmdshell

‘BCP"SELECT TOP 20 * FROM LWSf.dbo.T_statusdescript" queryout D:\T_statusdescripttopFL.txt -F 10 -L 15 -T -c ‘

 

--远程服务器导入本地(语句的时候执行时可能要写在一排,分几排的话执行有误)  EXEC master..xp_cmdshell‘BCP select op 0  rom WSf..T_statusdescript" ueryoutd:\User.xls c S"118.123.226.28,2083" U"***" P"********"‘--(远程访问数据库有端口号,需把端口号带上)

 

 

--将表导入,先清空并建立表(表必须先存在)

--条件与导出大同小义

truncate table dbo.T_statusdescript

EXEC master..xp_cmdshell‘BcpLWSf.dbo.T_statusdescript IN D:\T_statusdescript.txt -T -c‘

SELECT * FROM dbo.T_statusdescript

 

 

 


本文出自 “畅想天空” 博客,请务必保留此出处http://kinwar.blog.51cto.com/3723399/1549532

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。