[转]SQL SEHighlanderVEPRADO中openrowset与opendatasource的分裂

复制代码 代码如下: exec sp_configure
‘show advanced options’,1 reconfigure exec sp_configure ‘Ad Hoc
Distributed Queries’,1 reconfigure 复制代码 代码如下: SELECT * FROM
OPENDATASOURCE(‘Microsoft.Jet.OLEDB.4.0’, ‘Data
Source=E:\HaierWeb\MyWeb\Doc\abc.xls;Extended Properties=Excel
8.0′)…Sheet1$ 第一行当做表头。
其余行当成一种数据类型,且不能转换,如果有文本,有数字,
按出现多的一项显示,其余为Null 员工信息 F2 NULL 姓名 664754 张三 664783
李四 Null 处应该是 员工编号 。 前两行是表头。 对于这种形式,应该把
数字前多输一个’ 强行转换为文本格式。快速填入相同内容
选中多个单元格后,输入字符,然后按Ctrl+Enter组合键,即可在选中的每个单元格中填入上述相同的字符。
解决方法: 复制代码 代码如下: SELECT *
FROM OPENDATASOURCE(‘Microsoft.Jet.OLEDB.4.0’, ‘Data
Source=E:\HaierWeb\MyWeb\Doc\abc.xls;Extended Properties=”Excel
8.0;HDR=YES;IMEX=1;”‘)…Sheet1$ HDR=Yes , 是说第一列当做表头。 IMEX=1 ,
是说把表内容混合读取。 Jet 居然支持这么多数据库, 连Html table 也支持。

本文转自:

澳门金沙vip 1澳门金沙vip 2Sql 脚本导入EXCEL数据

SQL SERVER中openrowset与opendatasource的区别:

 1 delete excel
 2 
 3 –讀取EXCLE表數
 4 SELECT e_mail  excel FROM OPENDATASOURCE(‘Microsoft.Jet.OLEDB.4.0’,
 5 ‘Data Source=C:\Documents and Settings\geovindu\桌面\vip平常按排工作\2010-06-18\2010-06-18.xls;Extended Properties=Excel 8.0’)…[Sheet1$]
 6 GO
 7 
 8 
 9 –讀取EXCLE表數
10 SELECT e_mail  excel FROM OPENDATASOURCE(‘Microsoft.Jet.OLEDB.4.0’,
11 ‘Data Source=C:\Documents and Settings\geovindu\My Documents\Visual Studio 2005\Projects\Sales\emailList.xls;Extended Properties=Excel 8.0’)…[Sheet1$]
12 GO
13 
14 –創造新表
15 
16 SELECT e_mail INTO  excel FROM OPENDATASOURCE(‘Microsoft.Jet.OLEDB.4.0’,
17 ‘Data Source=C:\Documents and Settings\geovindu\My Documents\Visual Studio 2005\Projects\Sales\emailList.xls;Extended Properties=Excel 8.0’)…[Sheet1$]
18 GO
19 
20 –在原有表插入,EXCEL的單元格列頭名與表名要一致
21 INSERT INTO excel 
22 SELECT * FROM OPENDATASOURCE(‘Microsoft.Jet.OLEDB.4.0’,
23 ‘Data Source=C:\Documents and Settings\geovindu\桌面\vip平常按排工作\2010-06-18\2010-06-18.xls;Extended Properties=Excel 8.0’)…[Sheet1$]
24 GO
25 SELECT * FROM excel
26 
27 DELETE excel WHERE e_mail is null
28 
29 drop table vipEmail
30 select vipno,e_mail into vipEmail from excel
31 
32 select * from vipEmail
33 —
34 SELECT e_mail INTO excel FROM OPENDATASOURCE(‘Microsoft.Jet.OLEDB.4.0’,
澳门金沙vip,35 ‘Data Source=C:\Documents and Settings\geovindu\My Documents\Visual Studio 2005\Projects\Sales\emailList.xls;Extended Properties=Excel 8.0’)…[Sheet1$]
36 
37  
38 
39 select * from openrowset(‘Microsoft.Jet.OLEDB.4.0’, ‘Excel 8.0;Database=C:\Documents and Settings\geovindu\My Documents\Visual Studio 2005\Projects\Sales\emailList.xls’,’select * from [”Sheet1$”]’)
40 
41 

openrowset

 

查询:ok

--2005用法
--启用Ad Hoc Distributed Queries:
exec sp_configure "show advanced options",1
RECONFIGURE

exec sp_configure "Ad Hoc Distributed Queries",1
reconfigure
--2005
SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
'Data Source=F:\Javascript\mapabc\geovindu20160122 101754.xls;Extended Properties=Excel 8.0')...[geovindu$]
GO

SELECT * FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0','Data Source=F:\Javascript\mapabc\geovindu20160122 101754.xls;Extended properties=Excel 8.0')...geovindu$

--SELECT * from openrowset('Microsoft.ACE.OLEDB.12.0', 'Excel 8.0;Database=F:\Javascript\mapabc\geovindu20160122 101754.xls','select * from [''geovindu$'']')

--使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure "Ad Hoc Distributed Queries",0
reconfigure
exec sp_configure "show advanced options",0
RECONFIGURE

select * from openrowset(‘Microsoft.Jet.OLEDB.4.0’, ‘Excel
5.0;Database=c:/test.xls;User ID=;Password=;’, ‘select * from
[sheet1$]’)

  

 

或者:ok

select * from openrowset(‘Microsoft.Jet.OLEDB.4.0’, ‘Excel
5.0;Database=c:/test.xls;User ID=;Password=;’, [sheet1$])

 

插入:ok

insert openrowset(‘Microsoft.Jet.OLEDB.4.0’, ‘Excel
5.0;Database=c:/test.xls;User ID=;Password=;’, ‘select * from
[sheet1$]’) select ‘109’,’ccc’,’202′

 

更新:ok

update openrowset(‘Microsoft.Jet.OLEDB.4.0’, ‘Excel
5.0;Database=c:/test.xls;User ID=;Password=;’, ‘select * from
[sheet1$]’) set  a2=’bbb’,a3=345 where a1= 101

 

删除:

不支持