我创建了一个 SSIS 包,它使用文件系统任务(副本)将文件从 1 个文件夹复制到另一个文件夹。当我从本地计算机运行该包时,该包运行良好,但是当我将该包导入到我们的 SQL Server 并创建一个作业来运行该包时,该包失败并且我在日志中看到以下错误:
Started: 3:20:01 PM
Error: 2013-03-27 15:20:01.70
Code: 0xC002F304
Source: copy template File System Task
Description:
An error occurred with the following error message:
"Could not find a part of the path
'P:\IT\PROVIDERS\PROVIDERS AUDIT\File
Template\QnxtProviderAuditList_yyyymmdd.xlsx'."
End Error
DTExec:
The package execution returned DTSER_FAILURE (1).
Started: 3:20:01 PM
Finished: 3:20:01 PM
Elapsed: 0.452 seconds.
The package execution failed. The step failed.
Run Code Online (Sandbox Code Playgroud)
错误中的文件路径是需要复制的文件(sourceconnection)。
我可以直接从错误中复制文件路径并在物理 SQL Server 机器上转到它(通过 Windows 资源管理器),所以我不明白为什么包说它找不到路径。
有没有人知道为什么这个包可以在我的本地机器上运行良好,但从 SQL Server 运行时却因上述错误而失败? …
我想知道是否有任何人用来在 SSIS 平面文件连接管理器中映射固定宽度平面文件的工具(或特殊技术)?
通常我只使用平面文件连接管理器编辑器(高级选项卡)并开始为所有列 1 x 1 添加列信息(名称、宽度、数据类型等)。
这在过去对我来说很好用,但现在我必须映射一个接近 500 列的固定宽度文件......
我在想(希望)应该有一种我可以使用的工具或技术,让我能够以更流畅的方式完成映射......
使用我为文件提供的数据字典,我可以轻松创建一个 excel(或文本)文档,例如包含一些列,其中包含 SSIS 需要的必要信息(列名、分隔符、InputColumnWidth、OutpuColumnWidth、DataType)来映射文件.
我想知道是否有一个 SSIS 工具或组件可以读取此文件并自动为我在平面文件连接管理器中创建映射...
如果没有这样的工具,有没有人有任何技巧或提示可以帮助我以最有效的方式映射文件?
我想知道我是否可以修改 SSIS 包 xml 文件的方式,我可以创建一些代码来编写 xml 格式的所有列的列信息,然后我可以手动将其复制并粘贴到包 xml 中文件...不确定这是否有效....
注意:在 SSIS 中映射文件后,它将被加载到 SQL Server 表中
如果我运行以下代码:
select PolicyNumber, MAX(decpageid) as decpageid, Risk
from StatRiskDecpages
where PolicyNumber = 'AR-0000301132-04'
group by PolicyNumber, Risk
Run Code Online (Sandbox Code Playgroud)
我得到以下结果:
PolicyNumber decpageid Risk
AR-0000301132-04 41 1
AR-0000301132-04 41 2
AR-0000301132-04 37 3
Run Code Online (Sandbox Code Playgroud)
我真正想要检索的是policynumber和最大decpageid(在这种情况下为41)以及风险数字(应该是1和2)
该查询还返回 decpageid 37,即使它不是 policynumber 的最大 decpageid,因为它具有不同的风险。
我想返回的结果是:
PolicyNumber DecpageID Risk
AR-0000301132-04 41 1
AR-0000301132-04 41 2
Run Code Online (Sandbox Code Playgroud)
我已经想出了 2 个不同的查询,我可以用它来返回我想要的结果,但我认为它们不是最有效的。我提出的问题是:
select PolicyNumber, MAX(decpageid) as decpageid, Risk
from StatRiskDecpages
where
PolicyNumber = 'AR-0000301132-04'
and decpageid = (
select MAX(decpageid)
from StatRiskDecpages
where PolicyNumber = 'AR-0000301132-04'
)
;
Run Code Online (Sandbox Code Playgroud)
这将返回所需的结果,但我不想在查询中多次指定策略编号。有没有办法从外部查询将 policynumber 调用到子查询中?
我想出的另一个查询是: …
performance sql-server-2008 sql-server subquery query-performance
我在当前的工作中使用 SQL Server 2008,我连接到安装 SQL Server 2008 实例的(备份)服务器的方式是从我的本地工作机到 Windows Server 2003 计算机执行远程桌面,其中 SQL Server 2008 数据库程序和数据库文件存储(也在我们的本地网络上)...
这工作正常,但唯一的问题是 SQL Server 安装没有安装 SSRS、SSIS 或 BI 工具。我知道安装这些功能相当容易,但我想知道我是否能够通过互联网连接(而不是 LAN)在完全不同的计算机上使用不同的 SQL Server 2008 安装连接到数据库?
例如,如果我在家用计算机上安装了全新的 Sql Server 2008 并具有所有需要的功能(SSIS、SSRS、BI 工具),我是否能够打开 Management Studio 并连接到 SQL Server 2008 数据库服务器/引擎在我的工作场所?
我有一个包含 NULL 值的表,但问题是某些值实际上是字符串“NULL”而不是实际的 NULLS,因此当您尝试类似
where date is null
Run Code Online (Sandbox Code Playgroud)
它不会返回具有“NULL”字符串的字段。
我需要做的是运行整个表的更新,将所有字符串“NULLS”转换为实际的 NULL 值。“NULL”字符串出现在表的所有列中,因此需要更新的不仅仅是 1 列。我不确定如何处理这种情况。我想我可能需要使用循环,因为我有很多列,但同样可能有一个简单的解决方案而不必使用循环。解决此问题的最佳方法是什么?
我需要取消旋转下表,以便输出如下图所示。
这是否需要我对数据集执行两次 UNPIVOT,或者我可以通过使用一次 UNPIVOT 并指定所有可用的 Month 和 Value 列来完成我的预期输出吗?
我的脚本应该类似于以下内容来完成我需要的吗?
Select ID, Name, Age, Gender,Month,Value
FROM
(Select ID, Name, Age, Gender,Month1,Month2,Month3,Month4,Value1,Value2,Value3,Value4
FROM MyTable
) as cp
UNPIVOT
(
Month FOR Months IN (Month1, Month2, Month3,Month4),
Value for Values IN (Value1,Value2,Value3,Value4)
) AS up;
Run Code Online (Sandbox Code Playgroud) 我正在运行 SQL Server 2008 并且需要备份我创建的 UDF 脚本/查询。如何才能及时做到这一点?我尝试右键单击保存 UDF 的文件夹图标(表值函数)以复制文件夹,但不能打包到。
我唯一能想到的就是在我的 UDF 脚本上使用 MODIFY 命令,然后复制并粘贴到单独的文本文件中。
即使只有一种简单的方法可以将所有脚本保存在一个文本文件中而不是单独的 txt 文件中,我也很乐意这样做,而不必一次复制和粘贴每个文件。
有什么建议?
我有一个将 excel 数据导入 SQL 表的包。表中的列之一是“smallint”数据类型,它允许空值。具有假定进入此列的数据的 excel 文件列将始终包含小整数或在某些情况下为“NULL”。
我注意到,当我的源 excel 文件在此特定列中为 NULL 时,我收到以下错误
输入“OLE DB 目标输入”(8459) 上的输入列“服务地点副本”(8582) 出错。返回的列状态为:“由于潜在的数据丢失,无法转换该值。”。
如果我的源 excel 文件只包含小的 int 值,那么包运行良好。我不确定如何解决这个问题。我尝试更改物理表中的数据类型以及使用不同的数据类型(通过 SSIS 中的 DataConversion 组件),但我仍然收到相同的错误消息。
有没有人对我如何解决这个问题有任何想法?即使检查了 SQL 表中的列以允许 NULL,我猜它是从 Excel 源文件中读取 NULL 作为文本或字符串而不是实际的 NULL。有什么建议?
我有具有以下格式的 Access 表:
--------------------------------------
|Name |Math|Science|Reading|Civics|
--------------------------------------
|Mike | A | C | A | B |
|John | B | A | A | B |
|Randy| A | C | A | A |
|Sasha| B | C | D | A |
|Max | A | C | A | A |
|Jenn | A | A | A | C |
-----------------------------------
Run Code Online (Sandbox Code Playgroud)
是否有任何我可以使用的 Access Sql 代码或 Access VBA 脚本,以便我可以按以下格式转换(或在查询/结果集中输出)上表?
--------------------
| Name |Grade|
---------------------
|Mike Math …Run Code Online (Sandbox Code Playgroud) 有没有办法可以把下面的SELECT语句变成一个DELETE?
I would like to delete the corresponding returned records from the [ETL].[Stage_Claims] table.
Since I used derived tables I can't reference the Stage_Claims table.
To summarize, the 2 physical tables used in the below query have identical structures. Only difference is DUPS_Claims is a subset of Stage_Claims.
DUPS_Claims contains duplicate records found in Stage_Claims. If a record exists 3 times in Stage_Claims, we will have that record 3 times in DUPS_Claims as …
sql-server ×8
ssis ×3
backup ×1
functions ×1
null ×1
performance ×1
subquery ×1
unpivot ×1
vba ×1