日期:2014-05-18 浏览次数:20392 次
select * into # from OPENROWSET('microsoft.jet.oledb.4.0','Excel 5.0;hdr=yes;database=d:\1月安排.xls',sheet$)
------解决方案--------------------
一、打開另外一個數據庫
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')
------解决方案--------------------
SELECT a.* into tb_name FROM openrowset('Microsoft.Jet.OLEDB.4.0','Excel 8.0;hdr=Yes;DataBase=盘符:\文件名.xls',工作表名$) AS a GO