【发布时间】:2023-03-18 15:53:01
【问题描述】:
我正在尝试以通用方式从 SSIS (VS2019) 使用 Power Query 源组件。 这个想法是使用 for each 循环来加载和转换 Excel 文件。在运行时,我需要设置每个文件的连接管理器属性以及要在文件上执行的 PQY 脚本。 到目前为止,我所做的是尝试在脚本组件中创建一个 JSON 连接字符串并将连接字符串分配给连接管理器。它一直说该文件需要凭据。 会有人经历过那种开发吗?到目前为止,所有文件的结构都相同,元数据是否也需要刷新?
[编辑] 1. 在控制流中,我正在检索我想从数据库中应用的 PQY 脚本。 在转换之前,脚本是这样开始的:
让 Source = Excel.Workbook(File.Contents("path_to_a_file.xlsx"),null,true),RawData_Sheet = Source{[Item="Table1",Kind="Table"]}[Data]... "
在 C# 脚本任务中,我将 excel 文件的路径替换为当前文件变量。 M 脚本存储在 PQY 组件中使用的变量中。 然后 C# 脚本将更新 PQY 连接管理器以针对适当的文件: ConnectionManager _conn = Dts.Connections["Power Query 连接管理器"]; String _ConnectString = "[{kind:File,path:path_to_a_file.xlss,AuthenticationKind:Windows,Username:myusername,Password:mypassword}]"; _conn.ConnectionString = _ConnectString;
PQY 组件保持不变,连接到 ["Power Query Connection Manager"] 并从我设置的变量中获取其脚本。 PQY configuration screen
感谢您对此的任何提示,
奥利维尔
【问题讨论】:
-
如果可能,请添加一些屏幕截图和示例数据的步骤。所以有人可以研究它并给出一些解决方案。
标签: excel ssis metadata visual-studio-2019 powerquery