问题标签 [ssis-2019]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 使用 SSIS 创建文件和文件夹到网络驱动器
我创建了 SSIS 包,它在输出位置使用文件系统任务创建新文件夹,然后使用数据流任务在该文件夹中创建数据文件。
我创建了一个映射到 azure blob 的网络驱动器。因此,我将网络驱动器路径(如 Z:\)传递给包,并按预期创建文件夹和文件,这也反映在 azure blob 上。
现在,当我通过 SQL 代理作业安排此包时,我收到错误,即无法从文件系统任务中找到路径 Z:\folderName 的一部分。所以我认为这是因为 sql server 代理服务没有通过我的用户 id 运行。所以我用我的凭据启动了 sql server agent,但它仍然给我同样的错误。
注意:我的 ID 不能直接访问 azure blob,网络驱动器只能由我的 ID 访问。
我们目前正在使用 azure blob 进行开发,但我们可能会使用单独的服务器来存储文件,因此我无法使用 SSIS azure service pack 中提供的灵活文件系统任务
sql-server - 如何在 SSIS 表达式中编写 NULL
要求:全名 = 如果类型为“Y”则名称为 NULL
我试过表达
该字段作为字符串作为 NULL 出现,但需要作为 IS NULL
任何帮助深表感谢。提前致谢
windows-10 - 如何将 SQL Server Integration Services 包部署到远程服务器?
如何将 SQL Server Integration Services - SSIS (2019) 包部署到远程服务器?换句话说,如何在远程服务器上使用 Windows Authentication for SQL Server 2019?
ssis-2019 - ForEach 循环容器 - 使用 *.xls 通配符时无法识别 .xlsx 文件扩展名
我遇到了一个问题,即用于从不同文件夹中挑选文件的简单 ForEach 循环容器无法正常工作,因为它无法识别 .xlsx 文件,除非 FileSpec 设置为该特定文件扩展名,但它似乎在本地环境(VS 2008)上使用“* .xls”通配符可以正常工作。.xlsx 并不总是正在使用的文件扩展名。
我在 Azure VM 上使用 VS Community 2019。以防万一,这有什么不同...
sql-server - SQL Server 升级 SSIS 作业
我目前使用的是旧版本的 SQL Server,我计划将其升级到最新版本 2019。
我有几个关于迁移过程的问题。
我是否必须从 Visual Studio 将所有 Integration Services 包一一升级到 targetServerVersion = SQL Server 2019?还是可以将其保留为当前的 targetServerVersion 并且它可以在 SQL Server 2019 中正常运行?
我尝试将 TargetServerVersion 更改为 2019,但出现 DTSRunTime 错误,似乎该包在 Microsoft.SqlSever.DTSRuntimeWrap 版本 15.0.0.0 上运行不佳。
ssis - 如何使用 SSIS 变量值或项目参数值作为表达式主体,然后将其评估为另一个变量
我有一个 SSIS 项目(Visual Studio 2019 - 项目部署模型),其中包含 100 个 SSIS 包。
每个包的名称结构是TableName _Table.dtsx (例如: 如果我的表名是Employees,那么包名就是:Employees_Table.dtsx)。
每个 SSIS 包都有 2 个变量
具有硬编码的值,
以及使用上述变量值创建查询的变量(表达式评估)
我的问题如下: 最近我们对我们使用的 SSIS 日志记录机制进行了一些更改,所以我不得不去每个 100 个 SSIS 包的 SSIS 包并修改@[User::Logging_sql_statement]
变量处的表达式。
因此,为了避免将来发生新更改时必须修改 100 SSIS,我想知道是否有一种方法可以将表达式主体保存到项目参数中,然后将其值作为表达式评估为@[User::Logging_sql_statement]
每个 SSIS 包中的变量。
在上述情况下,我以后只需要修改参数的值。
所以我创建了一个项目参数并将其值硬编码如下:
然后我去了 SSIS Packages 并在表达式生成器中执行了以下操作:
但我没有得到值的表达式评估,而是@[$Project::Parameter]
只得到它的值。
例如:
在名称为Employees_Table.dtsx 和变量(带有硬编码值)的 SSIS 包中
我想要以下
给出以下值作为结果:
而不是上面的,我得到
有没有办法做到这一点?
tsql - 循环遍历表,同时记录不断添加到表中
我有一个FilesToCopy
包含文件名列表的表 ( )。
ID | 文件名 |
---|---|
1 | c:\temp\file1.txt |
2 | c:\temp\file2.txt |
3 | c:\temp\file2.txt |
文件一个接一个地被复制到另一个位置(例如c:\test
)。我可以很容易地遍历这个表来为每个文件执行一个复制命令。这只是一个读取表的执行 SQL 任务,将结果放入对象变量中,然后是 For Each 容器。
但是,如果在 for each 循环的执行过程中,记录被添加到表中FilesToCopy
呢?
想象一下,在 for each 循环中,文件 c:\temp\file99.txt 被添加到表中FilesToCopy
ID | 文件名 |
---|---|
1 | c:\temp\file1.txt |
2 | c:\temp\file2.txt |
3 | c:\temp\file2.txt |
99 | c:\temp\file99.txt |
我能否以某种方式告诉 for each 循环它还必须复制文件 c:\temp\file99.txt,即使该文件在循环开始时不存在?
所以效果会是:
- 读取表
FilesToCopy
,开始循环。 c:\temp\file1.txt
被复制到c:\test
c:\temp\file1.txt
从表中删除记录FilesToCopy
c:\temp\file2.txt
被复制到c:\test
c:\temp\file2.txt
从表中删除记录FilesToCopy
- 同时
c:\temp\file99.txt
被添加到表中FilesToCopy
c:\temp\file3.txt
被复制到c:\test
c:\temp\file3.txt
从表中删除记录FilesToCopy
c:\temp\file99.txt
被复制到c:\test
c:\temp\file99.txt
从表中删除记录FilesToCopy
- 当表中没有更多记录时循环结束
FilesToCopy
所以我想做的是以某种方式刷新在循环开始时馈送到循环的列表。
我希望这很清楚。