- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在一个内部开发小组的 QA 部门工作。我们的生产数据库程序员一直在构建一个 SSIS 包,以从各种数据库位创建加载文件,以便导入第三方应用程序(我们正在测试与此的集成)。
构建后,很快发现它依赖于创建它的 SQL Server 和 Visual Studio 的版本,并且对生产环境的依赖也很少(这不是 SSIS 问题,只是描述性质我们的设置)。
构建这个需要几天的努力,然后无法在我们的 QA 环境下运行。
在向该团队询问他们的包正在运行的 SQL 查询(它在生产环境中运行良好)之后,我编写了一个 python 脚本,它在没有任何依赖的情况下执行相同的任务。我花了两个多小时(请注意,我已经有一个用于处理数据库交互的自定义库),并且我能够写出我需要的 UTF-16LE 文件。
现在,我们的生产数据库程序员不是 SSIS 专家,但他们在他们的工作流中使用它相当多——我很容易称他们都胜任他们的职位。
因此,我的问题是——考虑到它似乎花费的时间以及对 SQL Server 和 Visual Studio 版本的依赖,SSIS 包带来了哪些优势或好处,而我的 Python 代码可能看不到?还是 shell 脚本、Ruby 或代码风格的当下?
最佳答案
我无论如何都不是 SSIS 方面的专家,而是一个拥有三年多 SSIS 工作经验的普通开发人员。像任何其他软件一样,SSIS 也有缺点,但到目前为止我很喜欢使用 SSIS。技术的选择取决于个人的要求和偏好。我不会说 SSIS 优于其他技术。另外,我没有使用过 Python、Ruby 或您提到的其他技术。
这是我的两分钱。请带着一粒盐吃这个。
Logging
捕获包及其任务执行的每个操作的功能。它有助于查明错误或跟踪有关包执行的操作的信息。这不需要编码。 See this example用于记录。 Check Points
帮助像记录器一样捕获包执行,并帮助从故障点重新启动包执行,而不是从头开始运行包。 Expressions
可用于根据给定条件确定包装流。 Package configurations
可以使用基于数据库或 XML 的不同环境进行设置 dtsconfig
文件或基于机器的环境变量。 See this example用于基于环境变量的配置。点 #4 - #7 是开箱即用的功能,需要少量配置并且根本不需要编码。 3 hours
. 关于tsql - 为什么我要在 SQL Server 2008 中使用 SSIS 包而不是其他一些技术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6283689/
CREATE TABLE [dbo].[tblLocations]( [latitude] [float] NOT NULL, [longitude] [float] NOT NULL
有没有办法在相似的表中递归读取记录并按深度级别排序? #table: id int | parent int | value string --------------------
尝试从旧数据库迁移到存储数据的新数据库有点不同。 在一种特定情况下,我有一列用分号分隔的值,我想将其分隔成多行。 这是一个例子: SELECT p.idperson, p.rolepe
我用谷歌搜索并查看了 MSDN TSQL 引用,但无法找到“ .. ”的含义或作用的定义或解释。 示例 if OBJECT_ID('tempdb..#temp') is not null drop t
我需要以下内容: 检查 Public 或 guest 是否被授予对对象(数据库角色和服务器角色)的任何权限 检查是否有任何用户被授予对对象而非角色的权限。 检查用户是否对对象 拥有 with gran
DECLARE @query as varchar(200); SET @query = 'SELECT COUNT(*) FROM table'; 如何执行@query,此外,在分配变量时是否可以直
我正在编写报告,并希望获取年龄列的平均值。问题在于,并非所有行都具有年龄。 如果该列的值为0 2 4,我希望返回3,而不是2。我不能简单地使用WHERE排除零行,因为我正在使用那些行中的其他列。是否存
我尝试在 tsql 中左修剪换行符。所以我想删除领先的 字符(13) + 字符(10) 我在一个字段中的数据。并确保不会删除其他换行符。 我的意思是: ' Kanne Oliver Rosa-Luxe
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: How to execute mathematical expression stored in a var
我认为最好以简单示例的形式提出这个问题。以下 SQL 块会导致“DB-Library Error:20049 Severity:4 Message:Data-conversion导致溢出”消息,但怎么
我们的一位用户在开发服务器中执行了插入语句。插入工作正常。但是在生产服务器执行同样的insert语句时,却遇到了如下错误: Error:.Net SqlClient Data Provider Err
我如何编写 TSQL 来计算以下内容: 当前日期和午夜,例如 2010-12-01 00:00:00.000 当前日期和下午 6 点,例如 2010-12-01 18:00:00.000 谢谢.. 最
我最近有一个关于在 TSQL 中使用游标的争论...... 首先,我不是辩论中的啦啦队长。但是每次有人说 cursor 时,总会有一些笨蛋(或 50 个)用强制性的“光标是邪恶的”咒语来猛扑。我知道
是否可以在不显式定义列的情况下在 sql 中声明变量? 类似 declare @tab as select * from myTable 最佳答案 你可以选择一个临时表......看起来它会做你想要的
我们遇到的问题简化为以下两个语句: select convert(float, (convert(float,5741.61)/convert(float, 196.00)) * convert(fl
我有一个 ADO.NET/TSQL 性能问题。我们的应用程序中有两个选项: 1) 一个具有多个结果集的大型数据库调用,然后在代码中逐步遍历每个结果集并填充我的对象。这会导致一次到数据库的往返。 2)
问题背景 生成和访问固定列布局的数据很容易。您可以预先创建本地临时表,并通过调用存储过程来填充它们。 另一方面,如果要生成具有动态列布局的数据,通常必须动态构建 SQL 语句并使用“exec sp_e
我有一个SQL Server 2005查询,该查询生成较大的结果集(最大为数GB): SELECT * FROM Product FOR XML PATH('Product') 运行查询将生成包含包含
我使用此代码在 sql server 中读取 .mp3 文件字节。当我使用本地连接时,它工作正常。但是,当我更改与服务器的连接(例如: 192.168.1.1 和 windows 身份验证模式 )并运
这不会在 ColdFusion 11 中崩溃,但会在 ColdFusion 2016 中崩溃 SELECT * FROM dbo.Roles WITH (NOLOCK) WHERE Cod
我是一名优秀的程序员,十分优秀!