日期:2014-05-18 浏览次数:20666 次
/*---------------------------- -- Author :feixianxxx(poofly) -- Date :2010-03-29 14:04:14 -- Version: -- Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) Jul 9 2008 14:43:34 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Evaluation Edition on Windows NT 6.1 <X86> (Build 7600: ) -- CONTENT:关于数据大容量的导入导出小结 ----------------------------*/
--前序,开启xp_cmdshell --关于xp_cmdshell的一些知识 请看 http://blog.csdn.net/feixianxxx/archive/2009/08/14/4445603.aspx EXEC sp_configure 'show advanced options', 1;RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE; --环境 create table test ( id int, value varchar(100) ) go insert test values(1,'s1') insert test values(2,'s2') insert test values(3,'s3') insert test values(4,'s4') go --1将表的数据导出到TEXT.txt文件中 exec master..xp_cmdshell 'bcp tempdb.dbo.test out e:\test.txt -c -Usa -P123456' --如果是WINDOWS身份 直接 xec master..xp_cmdshell 'bcp tempdb.dbo.test out e:\test.txt -T -c' --2将TEXT.txt文件中的数据复制到test1表 select * into test1 from test where 1=2 exec master..xp_cmdshell 'bcp tempdb.dbo.test1 in e:\test.txt -c -Usa -P123456' select * from test1 --3将TEST表的ID字段复制到TEXT.txt中 exec master..xp_cmdshell 'bcp "SELECT id FROM tempdb.dbo.test" queryout e:\test.dat -T -c' --4将test表中的第一行移动到text.txt中 exec master..xp_cmdshell 'bcp "SELECT top 1 * from tempdb.dbo.test " queryout e:\test.txt -c -Usa -P123456' --关闭xp_cmdshell EXEC sp_configure 'show advanced options', 1;RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 0;RECONFIGURE;
--truncate table test BULK INSERT tempdb..test FROM 'E:\test.txt' WITH ( FIELDTERMINATOR =',',--字段分割符号 ROWTERMINATOR ='\n'--换行符号 ) select * from test /* id value ----------- ----------- 1 s1 2 asds 3 sadsa 100 2asda*/
--包含访问 OLE DB 数据源中的远程数据所需的全部连接信息。 --当访问链接服务器中的表时,这种方法是一种替代方法,并且是一种使用 OLE DB 连接并访问远程数据的一次性的临时方法。 --对于较频繁引用 OLE DB 数据源的情况,请改为使用链接服务器。 --A.将 OPENROWSET 与 SELECT 和 SQL Server Native Client OLE DB 访问接口一起使用(MSDN) 以下示例使用 SQL Server Native Client OLE DB 务器发送邮件?