我想有一个.net核心MVC应用程序。我希望能够从excel文件导入到数据库中。我想数据库会在AZURE上。我知道通过SSIS包上传是可能的,这是由SQL Job调用的。我如何在.Net核心中做到这一点?或者您有其他解决方案可以通过excel导入DB?
发布于 2019-07-10 02:40:22
你可以创建数据库范围的凭据以访问你的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;
有关更多信息,请访问this文档。
您可以将所有这些放在存储过程中,并使用Azure Automation创建计划任务。
尽管this示例应用程序不是基于DotNet核心构建的,但您可能会发现它很有用。
https://stackoverflow.com/questions/56953714
复制相似问题