当前位置: 首页 > 面试题库 >

SSIS / SQL自动化

丁宏浚
2023-03-14
问题内容

我的公司是一家直邮公司,随着我们通过SSIS,SQL和Excel的自动化不断发展,我们正在寻找改善工作流程的方法。

基本上,我们要做的就是能够使不在办公室的流程自动运行。即,一个文件进来了,并且根据文件放置的位置,过程将开始,而我们需要完成的任务将开始。

我们知道我们想要它做些什么,我们只是在努力从哪里开始,或者更具体地说,什么是使我们的服务自动化的最佳方法是什么?


问题答案:

您有两种通用方法:事件驱动过程或轮询过程。前者在事件发生时运行(文件降落在文件夹中),而后者在定期运行(每隔5分钟看一次文件是否存在)运行。

根据我的经验,事件驱动模型在实践中听起来确实不错,但在实现中却令人恐惧。我们使用了各种现成的软件和本地的“文件监视程序”任务来处理数据。不可避免地会发生
某些
事情,并且没有注册该事件,因此没有数据被处理。解决方法通常很简单,请重新启动该过程,然后再移回文件。除非我们在一个受监管的环境中工作,在该环境中我们无权移动文件,因此将需要另一个人来重置队列,而不是谁来移动文件。

轮询过程要容易得多。如果有工作要做,那就去做。否则,它会重新进入睡眠状态。Windows Task Scheduler可以做到这一点。SQL
Server有自己的作业调度系统,称为SQL Agent。它也可以在不同的时间间隔运行软件包。

让SSIS在无限循环中运行以检查文件或使用WMI事件来尝试捕获放置的文件可能很诱人,但两者都不做。SSIS并非设计为一直运行。取而代之的是,使用经过验证的产品来处理它们的原意。



 类似资料:
  • 问题内容: 我有一个要转换为SSIS程序包中PRN的Excel文件。我的问题。我的一列中有货币,所有内容都应带有小数点,但并非所有数字都具有小数点。例如,如果没有毛钱,它只会读为10425。我需要在SSIS中进行的操作是使读为10425.00,就像文件中的其他数字一样。 请帮忙。 问题答案: 您可以使用“派生列”转换来转换数据类型。我认为Currency(DT_CY)数据类型不会强制您使用小数位,

  • 问题内容: 我正在尝试使用SSIS将PSV文件导入SQL Server 2008。 除了包含一个字段以外的所有字段都工作正常。 导入的文件内容包含日期时间,格式为 PSV文件的文件连接器设置为精度为[DT_DBTIMESTAMP2]的数据库时间戳。 SQL Server中的目标列具有数据类型。 SQL表的包/内容的结果是日期时间导入: 您会注意到分钟/秒尚未导入。 我必须使用错误的日期时间格式,但

  • 在数据流任务下,不是将源数据库的SQL查询放入查询窗口:我看到了OLE DB数据源-1的数据访问模式下的四个选项。表或视图2。视图名称变量3的表。SQL命令4。来自变量的SQL命令 我知道我可以使用一个变量,将查询存储在变量中,并在“执行SQL任务”中引用它,但我正在寻找一种方法,将所有查询存储在SQL文件中,并将其存储在数据流组件中以及“执行SQL脚本任务”中。我似乎找不到一种方法使它在数据流任

  • 我有一个SSIS包,它有一个Execute SQL任务,其中有一个INSERT语句,它将日志数据插入到跟踪执行时间的smss中的SSIS跟踪表中。每次尝试执行任务时,都会出现以下错误:[execute SQL task]错误:执行查询“INSERT INTO DBO.ssis_logging_details(execution_in...”失败,错误为:“必须声明标量变量”@execguid“。”

  • 我下载了Visual Studio2015和SQL Data Tools 2015,因为我正在尝试制作一个简单的SSIS包,用于将一些数据行从服务器上的db中的表复制到另一个服务器上的另一个db中的表。我有一些复杂的问题使我的工作更加困难,例如需要动态地构建表名。到目前为止,我已经创建了一个执行Sql任务,用于删除目标表中的数据,以避免重复行。在输出中,我附加了一个数据流活动,包括一个Ole db

  • 问题内容: 我现在正在一家公司中使用全球DBA的无限智慧,他创建了一个表,该表将一个int用作ID字段,但是不会自动递增该数字。 我要从.Net传递一个表值参数,因为它随时有大约100或更多行的数据正在传递,并且我不想杀死该应用程序,破坏网络或SQL Server。 这是我的存储过程 我希望这会为我带来一些帮助,就像我对此进行测试时一样 这就是我回来的 (影响1行) (影响1行) (影响1行) (