运行将运行 SSIS 包以从 Excel 导入到 (Azure) 数据库的 SQL 作业



我想要一个.net Core MVC应用程序。 我希望能够从 excel 文件导入数据库。我认为数据库将在 AZURE 上。 我知道可以通过 SQL 作业调用的 SSIS 包上传。 如何在 .Net Core 中执行此操作? 或者您有另一种解决方案可以通过 excel 导入数据库?

可以创建数据库范围的凭据来访问 Azure 存储帐户。

CREATE DATABASE SCOPED CREDENTIAL UploadInvoices  
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'QLYMgmSXMklt%2FI1U6DcVrQixnlU5Sgbtk1qDRakUBGs%3D';

然后创建外部数据源。

CREATE EXTERNAL DATA SOURCE MyAzureInvoices
WITH  (
TYPE = BLOB_STORAGE,
LOCATION = 'https://newinvoices.blob.core.windows.net', 
CREDENTIAL = UploadInvoices  
);

最后将Excel文件导入数据库,如下所示。

BULK INSERT Colors2
FROM 'week3/inv-2017-01-19.csv'
WITH (DATA_SOURCE = 'MyAzureInvoices',
FORMAT = 'CSV'); 

您也可以查询 Excel 文件,如下所示:

SELECT * FROM OPENROWSET(
BULK  'week3/inv-2017-01-19.csv',
DATA_SOURCE = 'MyAzureInvoices',
SINGLE_CLOB) AS DataFile; 

有关更多信息,请访问此文档。

可以将所有这些放在存储过程中,并使用 Azure 自动化创建计划任务。

尽管此示例应用程序不是基于 DotNet Core 构建的,但您可能会发现它很有用。

最新更新