AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[ssis-2016](dba)

Martin Hope
pmdci
Asked: 2019-07-20 07:25:52 +0800 CST

SSIS:表达式生成器中的条件运算符忽略以前的文本

  • 0

考虑 SQL Server SSIS 中的以下简单表达式,其中使用包含条件运算符的以下表达式构建变量:

"Preamble
"
+
@[$Package::myParameter] == ""  ? "" : "Middle Text"
+
"
The End"

逻辑很简单。如果 myParameter 有值,将显示“中间文本”位。如果没有价值,那么它什么也不会显示。虽然条件似乎工作正常,但我注意到我在运算符之前的任何文本/表达式都被忽略了。在这种情况下,无论布尔检查是否为 TRUE 或 FALSE,都不会显示“Preamble”文本。

有任何想法吗?

ssis-2016
  • 1 个回答
  • 172 Views
Martin Hope
vikrant rana
Asked: 2019-07-11 23:29:21 +0800 CST

提高 sql server 表的连接性能

  • 0

我在 sql server 上有一个表,可以说是 TableA。和另一个表作为 TableB。这两个表都负载很重。

表 A 加载了 35883788 条记录。它在 program_id 列上有很多重复项。

表 B 加载了记录 27343331。它还在 program_id 的列上保存了一个副本。由于某些业务原因,我们需要在两个表上的 program_id 上保留重复记录。

现在我在给定的表上执行左连接:

select 
a.*,b.date_of_birth,
datediff(year,b.date_of_birth,a.from_date)-
(case when dateadd(year,
           datediff(year,b.date_of_birth,a.from_date),b.date_of_birth)
           > a.from_date then 1 else 0
                   end) as age_final,
case when datediff(yyyy,b.date_of_birth,a.from_date) is null then ''
     when datediff(yyyy,b.date_of_birth,a.from_date) <=1 then 'less than 1 year'
     when datediff(yyyy,b.date_of_birth,a.from_date) <=17 then 'then 1 - 17 year'
     when datediff(yyyy,b.date_of_birth,a.from_date) <=29 then 'then 19 - 29 year'
     when datediff(yyyy,b.date_of_birth,a.from_date) <=39 then 'then 30 - 39 year'
     when datediff(yyyy,b.date_of_birth,a.from_date) <=49 then 'then 40 - 49 year'
     when datediff(yyyy,b.date_of_birth,a.from_date) <=59 then 'then 50 - 59 year'
     when datediff(yyyy,b.date_of_birth,a.from_date) <=64 then 'then 60 - 64 year'
else 'More than 64 years' end as Age_band
from TableA a 
left join ( select program_id,date_of_birth,max(process_date) 
            from TableB 
            group by program_id,date_of_birth) b
    on a.program_id=b.program_id;

我的内部查询给了我一组独特的 program_id 使用 group by 语句。

这些表都没有索引。如果我必须在两个表上创建索引,我需要在两个表的 program_id 上都有什么样的索引。

我可以处理哪些其他事情来提高加入性能。

需要建议来优化连接和索引。

sql-server ssis-2016
  • 1 个回答
  • 197 Views
Martin Hope
pmdci
Asked: 2019-05-09 02:41:40 +0800 CST

使用 SSIS 从表格模型中获取度量

  • 1

我需要通过 SSIS 从 Azure 分析服务获取源数据。虽然我可以轻松地在 SSIS 中使用 OLE DB 源从表中获取列,但我没有看到列出的度量。

有没有办法从度量中获取值?

ssis-2016
  • 1 个回答
  • 144 Views
Martin Hope
pmdci
Asked: 2019-04-26 07:35:26 +0800 CST

SSIS:使用 3 个约束,其中 2 个应该是 OR,一个应该是 AND

  • 1

因此,我有一个 SSIS 流程,其中我在一个任务中处理三个约束,但其中两个必须是 OR,一个必须是 AND。在伪代码中会是这样的:

if ( (constraint-a OR constraint-b) AND constraint-c)

问题是,我们只能对所有先例设置 OR/AND:

优先约束编辑器:多个约束

是否有任何解决方案可以将这些约束中的一些进行分组?

ssis-2016
  • 1 个回答
  • 59 Views
Martin Hope
pmdci
Asked: 2019-02-19 11:00:21 +0800 CST

SSIS:当目标服务器为 2016 时,包部分中的脚本未被执行

  • 1

我在使用 SSIS 包时遇到问题,当目标服务器版本为 SQL Server 2016 时,包部分中包含的脚本不会执行。

  1. 创建一个SSIS项目,将目标服务器版本设置为SQL Server 2016(非常重要!)

  2. 继续并在默认包中添加一个简单的脚本。这应该可以正常工作。

    • 在我的例子中,我有一个脚本可以通过 SMTP 使用 SendGrid 服务发送电子邮件。您可以在此处查看代码:https ://pastebin.com/DW3hfBP3
    • 但是我用其他脚本测试了这个问题 类似的东西:MessageBox.Show("Great. Another bug. Thanks a lot guys...");会做。
  3. 创建包部件。

  4. 现在只需尝试将步骤 2 中的简单脚本重新创建到包部分。然后将包部分添加到默认包或另一个包中并执行任务。即使执行成功,脚本也不会执行。

    注意:如果您尝试将脚本从默认包复制到包部分,您还应该注意到一个愚蠢的错误,指出版本错误。这就是为什么我说要在包部分重新创建脚本。

我想知道是否有人可以重现这个问题,是否有解决办法?值得注意的是,当目标服务器是 SQL 2017 时,这个问题似乎不会发生。

sql-server ssis-2016
  • 1 个回答
  • 476 Views
Martin Hope
pmdci
Asked: 2019-01-25 02:37:46 +0800 CST

SSIS 确保序列容器在特定任务失败时未标记为失败

  • 0

考虑 SSIS 包的以下场景:

序列容器包含两个用于从 Excel 文件加载数据的作业:

  • 作业 A:尝试按照特定文件定义从 Excel 文件加载数据。
  • Job B:如果 JOB A 失败,将执行 Job B。

在容器外部,执行最终任务以重置数据。

作业 A 执行成功:容器被标记为成功完成。

然而,我遇到的问题是,如果 JOB A 失败,即使 JOB B 接管并设法正确处理文件,容器也会被标记为失败。

作业 A 失败:作业 B 执行成功,但容器被标记为失败。

虽然我可以通过使用一些变量和“先例约束”来规避这个问题(这可以在上面的第二个屏幕截图中看到),但我想知道是否有更优雅的方法,我只是确保序列容器不是标记为失败是加载数据失败的第一个任务。

现在,我首先想到的是MaximumErrorCount在容器上使用属性。但是我在容器中还有其他任务,如果它们失败了,它可能会扰乱逻辑。

也许在现有容器中为 JOBS A 和 B 嵌套另一个容器是前进的方向?

但实际上(我是一个绝望的理想主义者)我希望找到的是 JOB A 的某种属性,它表示如果作业 A 失败,请不要以最简单的方式将容器标记为失败。想法?

ssis-2016
  • 1 个回答
  • 1179 Views
Martin Hope
Eric Swiggum
Asked: 2018-12-22 06:34:55 +0800 CST

SSIS 包在通过代理作业或在 SQL Server 上手动执行时不执行任何操作,但显示它已成功完成。是什么赋予了?

  • 2

我最近将 SQL Server 从 2008 R2 升级到 2016,SQL Server 上的一个 SSIS 包(在 msdb 中)包含 ActiveX 脚本任务。所以我导出包并从 ActiveX 脚本任务中获取代码并在常规脚本任务中更新它,非常简单的包。我将 SSIS 包导入回 SQL Server(在 msdb 中)并认为一切都很好。如作业所示,它已成功执行并完成。后来我被告知没有发生任何应该完成的包。我什至在 Integration Services 中手动执行了该包,但仍然只运行了大约 0.15 秒(此作业应花费大约 5 秒)并显示它已成功完成。当从 VS 2015(带 SSDT)项目运行时,该包实际上做了它应该做的事情,但在 SQL Server 上什么也不做。有没有人经历过这个!?!我记得一些关于 32 位运行时与 64 位运行时的事情,但我想先在这里检查一下。任何解决方案?我什至也从头开始了一个新项目。

在此处输入图像描述

sql-server ssis-2016
  • 1 个回答
  • 1015 Views
Martin Hope
pmdci
Asked: 2018-10-26 05:02:52 +0800 CST

SSIS:将变量从子包传递到父包

  • 3

我有一个由许多包组成的 SSIS 项目,包括一个 Main_Flow 包,它以所需的顺序执行其他包。

第一个被调用的包Main_Flow是Extract_Archive一个用于查找压缩文件的 ForEach 容器。如果存在一个或多个 zip 文件,它会将它们提取到一个位置并将变量标记ArchiveFileFound为 TRUE。

ArchiveFileFound现在回到 Main-Flow 包,我希望仅当fromExtract_Archive设置为 TRUE 时才执行下一步。但是,该变量仅存在于Extract_Archive. 我一直在寻找有关如何将变量从一个 SSIS 包传递到另一个包的信息,但我找不到一个很好的实用且推荐的示例。有什么想法吗?

ssis ssis-2016
  • 2 个回答
  • 5387 Views
Martin Hope
Jeremy Thompson
Asked: 2018-02-08 19:11:34 +0800 CST

创建包时出错,保存包文件失败,错误0x80040154“类未注册”

  • 1

我和几个同事已经安装了最新的 Visual Studio (SSDT) - BIDS。

我们无法创建包,在解决方案资源管理器中右键单击 SSIS 包 > 新 SSIS 包会导致这个臭名昭著的错误:

标题:Microsoft Visual Studio

创建包时出错无法保存包文件“C:\Users\userid\AppData\Local\Temp\tmp9ABC.tmp”,错误为 0x80040154“类未注册”。

在此处输入图像描述

谷歌搜索此错误会显示 2008 年的结果,它与 MSXML 有关。我已经尝试了所有解决方案,安装 MSXML6.0,安装 OWC,regsvr32 DLL,我运行了 procmon 并且在跟踪中没有任何问题的提示。

我非常有信心这是与 2008 年不同的错误,因为没有任何解决方案有效。

我的一位同事在家里安装了 BIDS,它运行良好。我们所在的工作网络已被锁定,但是我们都以管理员身份运行安装,并且 ISO 文件 > 2gig,因此我们不认为在安装过程中丢失了组件,但这可能是错误的。

有没有人遇到过这个错误?有人对如何解决此问题有任何想法吗?

ssis ssis-2016
  • 2 个回答
  • 4170 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve