我在“内存中”模式下创建了一个表格项目。我想每天刷新数据。有没有办法安排每天刷新数据的工作?
问问题
854 次
1 回答
1
你的选择是相当有限的atm
- 您不能直接从门户自动化它(您可以在此处投票支持此类功能)
您可以从 azure 函数触发刷新
#r "D:\home\site\wwwroot\yourfunccatalog\bin\Microsoft.AnalysisServices.DLL" #r "D:\home\site\wwwroot\yourfunccatalog\bin\Microsoft.AnalysisServices.Core.DLL" #r "D:\home\site\wwwroot\yourfunccatalog\bin\Microsoft.AnalysisServices.Tabular.DLL" using System; public static void Run(string input, TraceWriter log) { var server = new Microsoft.AnalysisServices.Tabular.Server(); server.Connect("Provider=MSOLAP;Data Source=asazure://[...];User ID=[...];Password=[...];Catalog=[...];Persist Security Info=True; Impersonation Level=Impersonate;"); var model = server.Databases[0].Model; model.RequestRefresh(Microsoft.AnalysisServices.Tabular.RefreshType.Full); model.SaveChanges(); server.Disconnect(); }
您必须在运行之前上传 dll(在我的情况下为 c:\Program Files (x86)\Microsoft SQL Server\130\SDK\Assemblies)
- 如果你喜欢 powershell,Azure 自动化可能是一种选择。使用invoke-ASCmd servlet
xmla 脚本应该是这样的(还没有测试过!)
<Statement xmlns="urn:schemas-microsoft-com:xml-analysis">
{
"refresh": {
"type": "full",
"objects": [
{
"database": "Your database name here"
}
]
}
}
</Statement>
- 使用 c# 表格对象模型
于 2017-01-27T16:43:37.867 回答