導入導出大全(2004-12-13)
http://builderman.home.sunbo.net/show_hdr.php?xname=U53DTV0&dname=517DTV0&xpos=1
一、打開另外一個數據庫
1.
打開SQL server2000的另一個數據庫的表
(1). select * from openrowset('sqloledb','sprogram';'develop';'11111','select * from kind')
(2). select * from openrowset('sqloledb','190.1.1.247';'develop';'11111','select * from kind')
(3). select * from opendatasource('sqloledb','data source=sprogram;user ID=develop;Password=11111').new_ks.dbo.kind
2.
打開Access2000的一個表
(1). select * from OPENDATASOURCE( 'Microsoft.Jet.OLEDB.4.0','Data Source=e:/north.mdb;User ID=Admin;Password=')...supply
(2). select * from openrowset('Microsoft.Jet.OLEDB.4.0',
'e:/north.mdb';'admin';'',supply)
(3). select * from openrowset('Microsoft.Jet.OLEDB.4.0',
'e:/north.mdb';'admin';'','select * from supply where 供應商編號>10')
3.
打開Excel的一個表
(1). select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=e:/test.xls',sheet1$)
(2). select * into 表 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=e:/test1.xls',sheet3$)
二、導入與導出
1. 用BCP工具導入導出
(1)xls文件
EXEC master..xp_cmdshell 'bcp "SELECT class_no,kind_no,cn_name FROM new_ks.dbo.kind ORDER BY 1,2" queryout "e:/test3.xls" -c -q -S"sprogram" -U"develop" -P"12345"'
(2)/** 导入文本文件
--入SQLServer
select * into 你的表 from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=c:/temp;','select * from contact.txt')
--查詢導出
EXEC master..xp_cmdshell 'bcp "SELECT class_no,kind_no,cn_name FROM new_ks.dbo.kind ORDER BY 1,2" queryout "e:/TX1.txt" -c -q -S"sprogram" -U"develop" -P"12345"'
--直接导出到txt文件
EXEC master..xp_cmdshell 'bcp DB_MRP.dbo.dept out "e:/TX3.txt" -c -S"GUIDE-1" -U"develop" -P"12345"'
--直接导出到xls文件
EXEC master..xp_cmdshell 'bcp DB_MRP.dbo.dept out "e:/TX3.xls" -c -S"GUIDE-1" -U"develop" -P"12345"'
--直接導入
EXEC master..xp_cmdshell 'bcp "數據庫.dbo.數據表" in c:/DT.txt -c -S服務器名 -U用戶 -P密碼'
EXEC master..xp_cmdshell 'bcp hdh.dbo.kind in "e:/TX1.txt" -c -q -S -U -P'
EXEC master..xp_cmdshell 'bcp hdh.dbo.kind in "e:/test3.xls" -c -q -S -U -P'
--用BULK INSERT導入
BULK INSERT hdh.dbo.kind
FROM 'e:/tx1.txt'
WITH (
FIELDTERMINATOR = '/t',
ROWTERMINATOR = '/n'
)
前提條件是表如kind要存在,而且字段與test.txt字段數目要一樣多
在查詢分析器中運行,而且是以sa用戶登錄
bulk insert tbyhhk from 'c:/t.txt' with( formatfile='c:/bcp.txt')
3.其它數據庫的導入方法:
(1)--/* dBase IV文件
select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'dBase IV;HDR=NO;IMEX=2;DATABASE=C:/','select * from [客户资料4.dbf]')
--*/
(2)--/* dBase III文件
select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'dBase III;HDR=NO;IMEX=2;DATABASE=C:/','select * from [客户资料3.dbf]')
--*/
(3)--/* FoxPro 数据库
select * from openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:/',
'select * from [aa.DBF]')
--*/