c# - .xmla 使用 C# 部署到 SQL

标签 c# sql-server powershell xmla

我现在在 PowerShell 中使用 Invoke-ASCmd 在 SQL Server 中创建数据库,如下所示:

Invoke-ascmd -Query $MyScript -Server $ASServer

其中 $MyScript 是一个字符串,其中包含我之前读入的 .xmla 文件的内容。

这很好用。现在我需要在 C# 中做一些类似的事情,但我无法找到像 PowerShell 中存在的那样的简单解决方案。

我看到有些人使用名为 Microsoft.AnalysisServices.XMLA.dll 的 Microsoft DLL,但它不受支持,而且有问题的类是“内部的”,所以我什至无法引用它.

我在四处搜索时找到了这个 DLL Microsoft.AnalysisServices.AdomdClient.dll,但没有看到任何与我需要的类相关的类:https://learn.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.adomdclient?view=analysisservices-dotnet

最佳答案

using Microsoft.AnalysisServices.AdomdClient;

try
{
    var xmlaFileContents = File.ReadAllText("path/to/your/file.xmla");

    using (AdomdCommand cmd = conn.CreateCommand())
    {
        cmd.CommandText = xmlaFileContents;
        cmd.ExecuteNoQuery();
    }
}
catch(Exception)
{
}

** 请注意,我没有运行这段代码 **

关于c# - .xmla 使用 C# 部署到 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57190762/

相关文章:

sql - 在SQL Server中,如何获取多列日期的最新日期?

powershell - 如何清除 VS 代码中的终端命令历史记录?

c# - 这个。与基地。对于继承的 protected 非虚拟方法?

c# - 将 UInt32 转换为 Int32 : Different compiler results

c# - MvcRazorToPdf - 图像不渲染,MVC4

c# - 如何在 javascript 和 ASP.NET 中返回项目的当前域?

sql-server - SQL Server 中时态表之间的数据同步

sql-server - Excel 源 SSIS

powershell - REST-API 基本身份验证和通过 Powershell 调用 WebRequest

powershell - 用 +(加号)符号启动 PowerShell one liner 是什么意思