2017-07-28 82 views

回答

0

快速步骤:

  1. 导入您的Excel或CSV到本地SQL Server使用导入任务

  2. 使用导入表,创建一个带有插入数据的语句的SQL脚本。

  3. 运行此脚本对您的Azure数据库

的查询在MS网站明确给出: https://docs.microsoft.com/en-us/sql/relational-databases/import-export/import-data-from-excel-to-sql

我建议你向这些链接主题:

https://azure.microsoft.com/en-us/documentation/articles/sql-data-warehouse-load-with-bcp/

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-connect-excel

+0

我需要SQL查询......我们有要求,即需要使用查询上传Excel中。 –

0

在可以运行分布式查询,您必须启用即席分布式查询服务器配置选项

sp_configure 'show advanced options', 1; 
RECONFIGURE; 
GO 
sp_configure 'Ad Hoc Distributed Queries', 1; 
RECONFIGURE; 
GO 

例如与OPENDATASOURCE

USE ImportFromExcel; 
GO 
SELECT * INTO Data_dq 
FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0', 
'Data Source=D:\Desktop\Data.xlsx;Extended Properties=Excel 12.0')...[Data$]; 
GO 

您可以从SQL Server管理链接的服务器Studio或运行系统存储过程sp_addlinkedserver

DECLARE @RC int 

DECLARE @server  nvarchar(128) 
DECLARE @srvproduct nvarchar(128) 
DECLARE @provider nvarchar(128) 
DECLARE @datasrc nvarchar(4000) 
DECLARE @location nvarchar(4000) 
DECLARE @provstr nvarchar(4000) 
DECLARE @catalog nvarchar(128) 

-- Set parameter values 
SET @server =  'EXCELLINK' 
SET @srvproduct = 'Excel' 
SET @provider = 'Microsoft.ACE.OLEDB.12.0' 
SET @datasrc = 'D:\Desktop\Data.xlsx' 
SET @provstr = 'Excel 12.0' 

EXEC @RC = [master].[dbo].[sp_addlinkedserver] @server, @srvproduct, 
@provider, 
@datasrc, @location, @provstr, @catalog 

参考:https://docs.microsoft.com/en-us/sql/relational-databases/import-export/import-data-from-excel-to-sql

+0

不允许在Azure SQL中使用OPENDATASOURCE https://docs.microsoft.com/en-us/sql/t-sql/functions/opendatasource-transact-sql –

0

你可以使用OPENROWSET:

SELECT * INTO EXCEL_IMPORT 
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 
'Excel 12.0; Database=C:\Excel\Spreadsheet.xls; HDR=YES; IMEX=1', 
'SELECT * FROM [Sheet1$]'); 
+0

不允许在Azure SQL中使用OPENROWSET –