我需要每天从网上提供的csv执行dataload,例如http://www.supplier.com/products.csv 一旦我将csv转储到sql表中,我可以进行处理,然后需要更新/插入等问题是我不知道如何自动化dataload.
我希望我能在06:00使用SQL工作/任务,计划每天运行,给它一个URI,它可能然后访问的CSV数据...
我怎样才能做到这一点?
您可以安排SQL代理作业在本地下载文件并使用BULK INSERT:
CREATE TABLE StagingCSV
(
col1 VARCHAR(60),
col2 VARCHAR(60),
col3 VARCHAR(60),
col4 VARCHAR(60),
-- ...
)
GO
Run Code Online (Sandbox Code Playgroud)
(错误行将被忽略)
BULK
INSERT StagingCSV
FROM 'c:\mycsvfile.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO
Run Code Online (Sandbox Code Playgroud)
其他方法:
使用BULK INSERT或OPENROWSET导入批量数据
您可以使用Powershell下载文件:
$clnt = new-object System.Net.WebClient
$url = "http://www.supplier.com/products.csv "
$file = "c:\temp\Mycsv.txt"
$clnt.DownloadFile($url, $file)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4105 次 |
最近记录: |