sqlserver通过SQL语句导入excel
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注解:若没有将sp_configure中以上两个参数进行配置,导EXCEL会报错。
1 启用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
2 使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
3 访问外部链接数据库,获取记录集两种方法
SELECT *
FROM OPENDATASOURCE(
'SQLOLEDB', --此处是连MYSQL
'Data Source=ServerName;User ID=sa;Password=sa'
).DataBaseName.dbo.Table
select * from openrowset( 'SQLOLEDB ', 'IP地址'; '用户名'; '密码',数据库名.dbo.表名) --此处是连MYSQL
若是连ACCESS和EXCEL则变成:
select * from openrowset('Microsoft.Jet.OLEDB.4.0','IP地址或数据库路径(例:c:\xxx.mdb)';'用户名(一般默认为admin)';'密码(一般为空)',数据库名.dbo.表名)
select * from opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source="数据库路径";User ID=admin;password=').DataBaseName.dbo.Table --连ACCESS
select * from opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source="数据库路径";User ID=admin;password=;Extended properties=Excel 5.0').DataBaseName.dbo.Table --连EXCEL
--若没有加Extended Properties则会报错。
--运行完后,需要记得再改回去,以避免安全性问题
--配置选项 'Ad Hoc Distributed Queries'
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
--导入excel d:\11.xls是文件
SELECT * INTO XLImport3 FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=D:\11.xls;Extended Properties=Excel 8.0')...[Sheet1$]
2007
SELECT * FROM OPENDATASOURCE('Microsoft.ace.OLEDB.12.0',
'Data Source=h:\aa.xlsx;Extended Properties=Excel 12.0')...[Sheet1$]
--恢复配置选项 'Ad Hoc Distributed Queries' 已从 1 更改为 0。请运行 RECONFIGURE 语句进行安装。
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure