/* 资料库的导入和导出*/
--复制表结构
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$:工作表名称64位OS
Select *
FROM OpenDataSource('Microsoft.ACE.OLEDB.12.0',
'DataSource=D:\mac120305.xlsx;
UserID=Admin;Password=;Extended Properties=Excel 12.0;')...Sheet1$
--32位OS
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