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](dba)

Martin Hope
MattyZDBA
Asked: 2024-11-27 06:47:08 +0800 CST

使用 KingswaySoft JSON 目标组件,如何使准备好的请求的一个节点可重复而另一个节点不可重复?

  • 5

我正在使用 Visual Studio 2022 开发 SSIS 2022 包,创建从 OLEDB 源(SQL Server 查询)到 KingswaySoft JSON 目标的数据流,以发布到数据输入端点。请求主体有两个节点,一个“where”节点和一个“do”节点,它们之间存在一对多关系。

我的源查询有 10 行,所以我的“do”节点将有 10 个条目,并带有一个“where”节点作为包装器。我将合并模式设置为缓冲区,但我的“where”节点在预览和运行时重复。我想将“where”节点的“重复”切换为 False,但整个树都被禁用了。我该如何关闭节点的重复?

在此处输入图片描述

ssis
  • 1 个回答
  • 17 Views
Martin Hope
questionto42
Asked: 2024-08-07 20:30:54 +0800 CST

“用户‘AD\MyUser’登录失败。”... 0x80004005“无法打开登录请求的数据库“MyDatabase”。登录失败。”

  • 5

完整错误信息:

MyPackageName:错误:SSIS 错误代码 DTS_E_OLEDBERROR。发生了 OLE DB 错误。错误代码:0x80004005。OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0” Hresult:0x80004005 描述:“用户‘AD\MyUser’登录失败。”。OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0” Hresult:0x80004005 描述:“无法打开登录请求的数据库“MyDatabase”。登录失败。”。

还有一条后续错误消息:

MyDataFlowTaskName:Error: SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“MyConnectionManager”的 AcquireConnectionm 方法调用失败,错误代码为 0xC0202009。在此之前可能已发布错误消息,其中包含有关 AcquireConnection 方法调用失败原因的更多信息。

我需要SELECT在数据库上运行 TSQL 查询。如何解决登录错误?

ssis
  • 1 个回答
  • 51 Views
Martin Hope
questionto42
Asked: 2024-08-07 20:22:57 +0800 CST

如何知道哪个用户从 SQL Server 代理运行 Integration Services 目录 (SSISDB) 中的包?

  • 5

我需要找出在 SSISDB 中运行 SSIS 包的用户,但找不到。其他数据库附加了太多用户和系统用户,我无法从该模式中了解需要哪个用户。我不知道最终哪个用户会执行此操作。

如何知道哪个用户从 SQL Server 代理运行 Integration Services 目录 (SSISDB) 中的包?

ssis
  • 1 个回答
  • 22 Views
Martin Hope
questionto42
Asked: 2024-07-27 05:29:34 +0800 CST

如果满足条件,数据流如何显示由替换给定列的派生列更改的值的数量?

  • 5

我使用派生列转换来替换一个值,只要满足其他两列的条件即可。如何在数据流中看到值因替换而改变的频率?有没有办法在输出箭头上显示它,或者我还能如何在数据流中显示更改?

PS(问答环节不需要)

我想检查字符串输入是否与查找输出相同。但有时,名称(名字和姓氏)的值中有多个名字,例如 Taylor-Smith 对 Smith,或 Bob Thomas 对 Bob。人们可能会结婚,或者有时可能会填写两个名字,因此数据可能不匹配两个主数据帐户。

(DT_BOOL)(FINDSTRING(name,[Lookup.name],1)) ? 1 : [score_name]

一旦在内找到,就将列的值score_name替换为,否则保留介于 0 和 1 之间的值。1nameLookup.name

“查找姓名?”:

在此处输入图片描述

在此处输入图片描述

您可以采取任何其他示例,例如“替换列值?”,问题并不取决于所做的事情。

ssis
  • 1 个回答
  • 19 Views
Martin Hope
questionto42
Asked: 2024-06-21 19:42:53 +0800 CST

如何在 SSIS 中输入一个大整数?

  • 5

这是Evaluate Expression with expression builder - Stack Overflow的跨站点副本,我想通过屏幕截图和一个更广泛的问题来分享它,因为只有在搜索错误时才会点击其他链接。谢谢,去那里回答。

我尝试添加一个 bigint 列作为新的派生列,但出现错误:

错误1:

文字“12345678910”太大,不适合类型 DT_I4。文字的大小溢出了类型。

错误2:

尝试解析表达式“(DT_I8)12345678910”失败并返回错误代码 0xC004707C。无法解析该表达式。它可能包含无效元素或格式不正确。也可能存在内存不足错误。

在此处输入图片描述

问题

如何在 SSIS 中输入一个大整数?

传奇

DT_I8 = 8 字节整数
DT_I4 = 4 字节整数

ssis
  • 1 个回答
  • 16 Views
Martin Hope
questionto42
Asked: 2024-06-21 17:08:11 +0800 CST

如何从派生列中的布尔条件到整数查找列进行 DT_I4 整数查找?只有“0”匹配,“1”不匹配

  • 5

为了进行查找,请执行以下操作:

  • 派生列为四字节整数DT_I4输入,可以是0或1,
  • 查找表列中的四个字节的整数0或者1同样如此。

来源栏:

(DT_I4)(Check1 == "Check1_value")

查找列:

看:

  • 表值构造函数 (Transact-SQL) - Microsoft Learn
  • 不使用 from 进行选择 - 现代 SQL
select * from 
values(0,'output_for_0')
,(1,'output_for_1')
t (lkp_value, lkp_output)

通过查找或输出其他列,它可能看起来像:

在此处输入图片描述

如果我不将0和转换1为所选的数据类型,它将变成整数。我​​选择整数是因为我想省去将每个整数转换为位数据类型的工作,因为您必须对整个查找表查询中的每个值执行此操作。如果您只有两行,您可能会说写起来没关系:

select * from 
values(cast(0 as bit),cast('output_for_0' as varchar(100)))
,(cast(1 as bit),cast('output_for_1' as varchar(100)))
t (lkp_value, lkp_output)

但我喜欢将其保存为纯整数,以免对每个值进行繁琐的转换。我对其他列也做了同样的事情,我没有设置文本列的 varchar 长度等等,这样我的 varchar 就出现varchar(45)在查找表中,但出现varchar(100)在输入表和目标表中。您可以用另一种方式来做。

尽管两者属于相同的数据类型,但只有0to0查找有效,而1to查找无效。1

(DT_I4)(Check1 == "Check1_value"如果满足条件,则查找值都1变为DT_I4整数1,我将派生列的数字传递给目标表以仔细检查这一点。

我需要做什么才能在转换为整数的派生列中查找来自布尔条件的整数?

ssis
  • 1 个回答
  • 9 Views
Martin Hope
questionto42
Asked: 2024-05-07 20:10:14 +0800 CST

如何避免将匹配列值之一中包含 NULL 的行传递给 KingswaySoft SSIS 插件工具“高级查找”中不匹配的行?

  • 5

目的

我使用 KingswaySoft SSIS 插件工具“Premium Lookup”,但我猜内置的 SSIS“Lookup”工具可能会出现同样的问题。

我尝试匹配双列对“first_name1”和“name1”以及“first_name2”和“name2”,并且边 1 和边 2 有时都有 NULL 值。

如果查找列之一为 NULL,则整行将传递到“不匹配”输出。Premium Lookup 工具在 DFT 中如下所示:输入被传递到 32 个不匹配的行,因为两侧之一具有 NULL 值,或者因为某些其他匹配列中存在 NULL 值:

在此输入图像描述

我的目标是在其中一列中发现 NULL 时继续匹配列,以便查找继续并尝试匹配其他列,而 NULL 匹配应该是:

  • 0% 匹配
  • 或 NULL 并且根本不考虑平均分。

两者都很好,因为我还有一些经常匹配得足够好的专栏。

我要求最多 5 个匹配项,并且我会从输出中删除与主输入具有相同 ID 的任何匹配项,因为我只想查找双条目。因此,对于主数据中可能有重复的任何条目,最多应显示 5 个“下一个邻居”:

在此输入图像描述

例如,如果双方都不知道名字,甚至在主输入字段中也不知道,我仍然希望从其他列(例如“生日”或“性别”)中获得匹配项。

到目前为止我已经尝试过的

我已经尝试用空字符串替换所有 NULL 值,以避免出现 NULL。然而,即使模糊查找也必须至少匹配 1%,如果您尝试将某些内容与空字符串匹配,则无法达到 1%,因为那是 0%。

传奇:

  • 德语/英语:Vorname = 名字、Nachname = 姓名、Geburtsdatum = 生日、Geschlecht = 性别
  • 查找:第 1 面:[1],第 2 面:[2]
  • 主侧:[0] (我想将两个查找列与相同的主列匹配两次,以便将 Nachname_Vergleich 列复制到第二个 Nachname_Vergleich2 列2,并对 Vorname 列执行相同的操作)

在此输入图像描述

复选框“将空字符串视为 NULL”会使高级查找在任何输入处崩溃

我还尝试通过''工具本身再次将这些空字符串设置为 NULL 来解决这个问题,但是该设置会导致任何输入的查找崩溃,无论是否为 NULL,也在其他一些任务中进行了测试。因此,存在错误或者我不理解该设置,但我握住了该复选框:

高级比较设置 - v22.1 (22.1.0.30606) ->“将空字符串视为 NULL”

在此输入图像描述

每当您在选中复选框的情况下运行它时,它都会失败并出现三个错误:

[Premium_Lookup_trying_to_match_NULLs [74]] 错误:发生错误,并显示以下错误消息:“System.NullReferenceException:未将对象引用设置为对象的实例。(SSIS 生产力包,v22.1.0.30606 - DtsDebugHost,v13.0.4495。 10)”。

[Premium_Lookup_trying_to_match_NULLs [74]] 错误:Premium_Lookup_trying_to_match_NULLs 无法处理数据。

[SSIS.Pipeline] 错误:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“查找表输入”(79) 时,组件“Premium_Lookup_trying_to_match_NULLs”(74) 上的 ProcessInput 方法失败,错误代码为 0xC02090F9。所识别的组件从 ProcessInput 方法返回错误。该错误特定于该组件,但该错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。

即使它有效,也无济于事,因为它只会用 NULL 替换空字符串,这可能会再次将行传递到不匹配的输出,就像一开始一样,因此替换 NULL:s 不会获得任何结果首先是空字符串。

解决方法

因此,当我将两列的匹配设置为“忽略”时,查找就会开始工作,而我不会从“高级查找”工具中获得任何匹配项。

我的解决方法是,如果第 1 侧为 NULL,则将第 1 侧替换为第 2 侧,然后,它按应有的方式运行,但是如果两侧都已填充,这也会减少一次匹配的机会,并且我想在以下情况下获得两个匹配分数两列已填充。

因此,解决方法只是第二个最佳方法,因为我希望查找只跳过 NULL:s 或给它们 0 得分,因为缺少的得分点在找到的匹配集上平均。

问题

对于具有两侧的查找与只有一侧的主输入的查找,我希望将查找的两侧与主输入进行匹配。如果存在 NULL,我不只是想将查找面 1 替换为查找面 2。我怎样才能做到这一点,同时仍然跳过 NULL:s 或给它们 0 分,而不是将行丢失到不匹配的输出,就像这里发生的那样?

ssis
  • 1 个回答
  • 21 Views
Martin Hope
Cody K
Asked: 2022-12-31 06:55:56 +0800 CST

SSIS OLE DB 目标替换而不是插入

  • 5

正在插入从 OLE DB 源流向 OLE DB 目标的信息,允许在包运行后提交重复记录。

有没有一种好的方法可以替换这些记录而不是插入它们来避免重复?

如果有帮助,我正在使用 Visual Studio 编辑包。

ssis
  • 1 个回答
  • 11 Views
Martin Hope
Hamza Hamdani
Asked: 2022-03-09 06:44:42 +0800 CST

SQL Server 代理未运行 SSIS 包

  • -1

我遵循了许多文章来创建一个 SSIS 管道包,部署它并安排它。我正在尝试从两个远程服务器传输数据,一个连接到作为源的 SQL Server 数据库的 OLEDB 驱动程序和一个连接到作为目标的 MySQL 数据库的 ODBC 驱动程序的 OLEDB 提供程序......

管道在 Visual Studio 上运行良好,当我部署它并从 SSMS 执行它时,但是当我创建作业时,我收到以下错误:

在此处输入图像描述

注意:我正在为 MySQL 使用 32 位 ODBC 驱动程序。

有任何想法吗 ?

更新(必须更新,因为每个人都无法看到图像)

错误 :

Data Flow Task:Error: OLE DB Destination failed 
validation and returned error code 0xC020801C.

Data Flow Task:Error: SSIS Error Code 
DTS_E_CANNOTACQUIRECONNECTIONFROMCONNE
CTIONMANAGER. The AcquireConnection method call to 
the connection manager 
"remotemysql.com.uVt96HeM3y.uVt96HeM3y1" failed with 
error code 0xC0202009. There may be error messages 
posted before this with more information on why the 
AcquireConnection method call failed.

Package1:Error: SSIS Error Code 
DTS_E_OLEDBERROR. An OLE DB error has occurred. 
Error code: 0x80004005.
An OLE DB record is available. Source: "MSDataShape" 
Hresult: 0x80004005 Description: "Data provider could not 
be initialized.".
An OLE DB record is available. Source: "Microsoft OLE 
DB Provider for ODBC Drivers" Hresult: 0x80004005 
Description: "[Microsoft][ODBC Driver Manager] Data 
source name not found and no default driver specified".
ssis ssms
  • 2 个回答
  • 601 Views
Martin Hope
Leo Torres
Asked: 2022-02-02 16:37:25 +0800 CST

MSSQL Server 2019 SSIS 安装

  • 0

目前我们的 DBA 团队的任务是支持 SSIS,但是我们希望将 SSIS 服务与实际的数据库引擎分开。原因是能够让不同的团队负责更新和维护 SSIS 服务器上的其他 3rd 方应用程序。我们希望 DBA 团队处理数据库引擎更新或维护。这将允许 SSIS 团队在那里对应用程序进行更新,而无需访问数据库引擎服务器。

几年前,有人问过一个类似的问题,即在一台服务器上安装 SSIS 包,而最后一条评论中的数据库包看起来可能可行,但不确定如何执行。

在专用服务器上安装 SSIS

ssis sql-server-2019
  • 1 个回答
  • 61 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