首页 > 解决方案 > 如何从 SSIS 包中查询 Azure 数据资源管理器?

问题描述

根据这篇文章,可以创建 SSIS 作业以使用 KQL 查询来查询 Kusto。

如何才能做到这一点?如何从 SSIS 包连接和查询 ADX?

标签: ssisazure-data-explorer

解决方案


您将遇到的问题是 SSIS .NET 任务并不真正了解 nuget。设计经验将允许您构建使用 nuget 包的脚本/组件,但是在您关闭设计器的那一刻,包文件夹将被丢弃/未序列化到包中。当包执行时,任务/组件将失败,因为预期的库不存在并且 SSIS 引擎没有洞察力来调用包管理器来修复它。

幸运的是,这些 DLL 应该经过强签名,因此完成这项工作只需将它们安装到开发机器和相应服务器上的全局程序集缓存 (GAC) 中即可。类似于以下命令的内容,可能需要在管理上下文中运行

gacutil -if \path\to\the\assembly\Microsoft.Azure.Kusto.Data.dll

您可能已经安装了 gacutil,但不在您的命令路径中dir /s /b gacutil.exe会找出位置。

C:\Program Files (x86)>dir /s /b gacutil.exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil.exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\gacutil.exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools\gacutil.exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools\x64\gacutil.exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\gacutil.exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\gacutil.exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\gacutil.exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64\gacutil.exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\gacutil.exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\gacutil.exe

根据您的评论,what is csb for example我根据此链接推测它是一个连接字符串构建器对象。这是有道理的,代码要求它打开一个 SqlConnection 对象,并且构造函数需要知道去哪里、使用什么凭据等。


推荐阅读