当前位置:文档之家› sqlserver通过SQL语句导入excel

sqlserver通过SQL语句导入excel

注解:若没有将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

相关主题
文本预览
相关文档 最新文档