社区首页 >问答首页 >从ASP.NET远程执行SSIS时的日志记录信息

从ASP.NET远程执行SSIS时的日志记录信息
EN

Stack Overflow用户
提问于 2011-10-04 09:15:12
回答 1查看 414关注 0票数 0

我有一台web服务器(未安装Integration Services )和一台单独的SQL服务器。我已经创建了一个ASP页,通过在包所在的SQL服务器上启动代理作业来远程执行SSIS包。该软件包读取由网页用户选择的excell文件,处理数据并将结果存储在数据库中。

我的问题是:在运行时将来自SSIS的日志数据传递回ASP页面的好方法是什么,这样用户就可以获得有关其请求结果的一些合理信息?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-04 14:13:39

首先,我建议打开本机SSIS日志记录并将其转储到SQL Server目标。这是一个8次点击的过程,所以真的没有理由不启用它。获取OnTaskFailed、OnError,也许还有OnInformation和OnWarning,这取决于您想要返回给用户的信息类型。

完成此操作后,如果所选数据库中不存在表,则当包运行时,SSIS将足够智能地在该数据库中创建msdb.dbo.sysdtslog90 / msdb.dbo.sysssislog (2005 / 2008+)的副本,并开始记录到该数据库中。

此时,您的作业已经运行,执行历史记录将自动转储到该日志表中,您可以提取该信息。当作业运行时,会生成一个新的GUID,该ExecutionId是您将特定运行的所有活动联系在一起的方式。

我不确定您是如何将有关要处理哪个Excel文件的信息传递给作业的,也许您没有考虑到并发执行,并且一次只能运行一个文件。如果是这种情况,那么您总是可以在日志中查询最近的执行,并假定它与站点上的用户相关联。

否则,我可能会考虑做一些事情,比如发出日志中的唯一文件名[Script task,~ Dts.Events.FireInformation(String.Format("FileName:{0}",Dts.VariablesMyExcelCM.Name.ToString(),...);],然后做一些巫术来解析日志,假设你不能只创建一个文件名来执行id运行表,这将是将运行绑定到一个特定文件的更干净的方法,它将允许你链接回syssisslog。

编辑

代码语言:javascript
代码运行次数:0
复制
CREATE TABLE
    dbo.ExecutionToFileMapping
(
    mapping_id int identity(1,1) NOT NULL PRIMARY KEY
,   executionid uniqueidentifier NOT NULL
,   file_name varchar(250) NOT NULL
)

在包中,拖动控制流上的执行SQL任务,并将连接管理器指向具有上表的数据库。您的查询将类似于“参数映射”选项卡上的“INSERT INTO dbo.ExecutionToFileMapping (executionid, file_name) SELECT ?, ?”,连接与Excel文件名对应的局部变量,然后使用系统变量ExecutionInstanceGUID。当该语句被触发时,它将使用执行GUID和文件名在表中创建一个条目。

然后,您可以将日志记录结果链接到特定文件

代码语言:javascript
代码运行次数:0
复制
SELECT
    E.file_name
,   L.*
FROM
    dbo.sysssislog L
    INNER JOIN
        dbo.ExecutionToFileMapping E
        ON E.executionid = L.executionid

结束编辑

最后,尽管我非常喜欢SSIS,但使用Excel作为数据源是一种非常令人沮丧的做法,尤其是当涉及到用户生成的电子表格时。我数不清“电子表格看起来一样”的实例数,但SSIS却指出格式不同。我有一个更好的体验,就像这样通过OLEDB查询所以问题讨论Query excel sheet in c#取决于您的SQL Server版本,然后我利用了2008+中的表值参数,基本上将东西直接转储到表中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7645656

复制
相关文章
kubernetes | pod
基于centos7.9,docker-ce-20.10.18,kubelet-1.22.3-0
Amadeus
2022/10/25
6030
Kubernetes Pod基础
Pod是k8s系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,也是在k8s上运行容器化应用的资源对象,其他的资源对象都是用来支撑或者扩展Pod对象功能的,比如控制器对象是用来管控Pod对象的,Service或者Ingress资源对象是用来暴露Pod引用对象的,PersistentVolume资源对象是用来为Pod提供存储等等,k8s不会直接处理容器,而是Pod,Pod是由一个或者多个container组成的。
kubernetes中文社区
2019/06/24
7380
Kubernetes Pod详解
Pod中通过共享Network Namespace的方式进行网络的共享,但是如果是以下方式进行Network Namespace共享会有问题:
shysh95
2022/05/24
7950
Kubernetes Pod详解
【Kubernetes系列】Pod
Pod是一组(一个或多个) 容器 ; 这些容器共享存储、网络、以及怎样运行这些容器的声明。 Pod 中的内容总是并置(colocated)的并且一同调度,在共享的上下文中运行。 Pod 所建模的是特定于应用的 “逻辑主机”,其中包含一个或多个应用容器, 这些容器相对紧密地耦合在一起。 在非云环境中,在相同的物理机或虚拟机上运行的应用类似于在同一逻辑主机上运行的云应用。
Java技术债务
2022/10/28
5930
Kubernetes Pod Evicted[通俗易懂]
近日 Kubernetes 测试集群 Pod 状态出现 Evicted 现象 , 但是项目还是能正常提供服务 , 最先的解决办法是手动将 Evicted 状态的 Pod 删除。
全栈程序员站长
2022/08/30
1.1K0
运维篇 k8s(Kubernetes)
k8s是kubernetes的简称,即字母“k”到最后一位相隔8位字母。名字来源于希腊语,意思是“舵手”或“领航员”。
用针戳左手中指指头
2021/01/29
3.2K0
运维篇 k8s(Kubernetes)
Kubernetes/K8S快速入门之Kind
Kind 文档 https://kind.sigs.k8s.io/docs/user/quick-start/
码客说
2021/03/04
3.9K0
查看 Docker cp 进度
docker cp 命令本身不提供进度查看功能。但是,您可以使用第三方工具,如 pv(Pipe Viewer)在执行 docker cp 时查看进度。以下是使用 pv 查看 docker cp 进度的步骤:
宋天伦
2023/10/21
4200
kubernetes 问题排查: 高版本 containerd 下载镜像失败
在 containerd 运行时的 kubernetes 线上环境中,出现了镜像无法下载的情况,具体报错如下:
CNCF
2021/05/27
9.6K2
kubernetes 问题排查: 高版本 containerd 下载镜像失败
kubeadm部署kubernetes集群
(3) 生成Kube Config文件,kubelet需要用这个文件与Master通信。
星哥玩云
2022/07/28
3170
深入玩转K8S之使用kubeadm安装Kubernetes v1.10以及常见问题解答
Kubernetes是Google开源的容器集群管理系统。它构建于docker技术之上,为容器化的应用提供资源调度、部署运行、服务发现、扩 容缩容等整一套功能,本质上可看作是基于容器技术的mini-PaaS平台。
DevinGeng
2019/04/09
1K0
Kubernetes 1.19.0——Pod(1)
kubectl run 名字 -image=镜像 --labels=”aa=bb,aa2=bb2...” --env=”k1=v1” --port=80 --image-pull-policy=策略
gz_naldo
2020/09/18
6910
Kubernetes 1.19.0——Pod(1)
Kubernetes 1.19.0——Pod(2)
所谓静态pod就是,不是master上创建的,而是需要到Node的/etc/kubelet.d/里创建一
gz_naldo
2020/09/19
7242
Kubernetes 1.19.0——Pod(2)
2.1 Kubernetes--Pod
  自主式Pod是不被控制器管理的Pod. 这种Pod死亡以后, 不会被重新启动. 这个Pod死了以后, 副本数就达不到期望值了, 也不会有人去创建一个新的Pod为达到副本数的期望值.
用户7798898
2020/09/27
7830
2.1 Kubernetes--Pod
kubernetes中的pod
在Kubernetes中,Pod是最小的可部署单元。Pod是一个逻辑主机,它可以包含一个或多个容器。每个Pod都有一个唯一的IP地址和一组共享的存储和网络资源。Kubernetes使用Pod来调度和管理应用程序的运行。
玖叁叁
2023/04/28
5780
Kubernetes 系列(3) —— Pod
Pod 是 Kubernetes 的基本操作单元,也是应用运行的载体,包含一个或多个密切相关的容器。整个 Kubernetes 系统都是围绕着 Pod 展开的,比如如何运行 Pod、如何保证 Pod 的数量,如何访问 Pod 等。
求和小熊猫
2021/09/10
9660
Kubernetes Pod 驱逐详解
在 Kubernetes 中,Pod 使用的资源最重要的是 CPU、内存和磁盘 IO,这些资源可以被分为可压缩资源(CPU)和不可压缩资源(内存,磁盘 IO)。可压缩资源不可能导致 Pod 被驱逐,因为当 Pod 的 CPU 使用量很多时,系统可以通过重新分配权重来限制 Pod 的 CPU 使用。而对于不可压缩资源来说,如果资源不足,也就无法继续申请资源(内存用完就是用完了),此时 Kubernetes 会从该节点上驱逐一定数量的 Pod,以保证该节点上有充足的资源。
米开朗基杨
2019/08/29
3.3K0
Kubernetes Pod 驱逐详解
Pod镜像拉取策略
在Kubernetes中,Pod是最小的可部署对象,可以由一个或多个容器组成。每个容器都运行在独立的镜像中。在本文中,我们将介绍Pod的镜像拉取策略,帮助您更好地了解和管理Pod的镜像。
玖叁叁
2023/04/29
6080
Kubernetes Pod 全面知识
Pod 是在 Kubernetes 中创建和管理的、最小的可部署的计算单元,是最重要的对象之一。一个 Pod 中包含一个或多个容器,这些容器在 Pod 中能够共享网络、存储等环境。
痴者工良
2021/11/30
8440
Kubernetes Pod 全面知识
Kubernetes Pod入门指南
Pod是Kubernetes项目里定义的最小可调度单元,是Kubernetes对应用程序的抽象。在这篇文章里我将会介绍Kubernetes里Pod的基本概念,使用方式,生命周期以及如何使用Pod部署应用。读这篇文章的朋友我会默认你已经了解Kubernete是用来解决什么问题的,以及电脑上已经安装了Minikube这个能试验Kubernetes功能的工具。如果尚未做好这些准备工作,推荐先去看下面的两篇文章做好准备工作后再来学习这里的内容。
KevinYan
2020/08/10
4740

相似问题

kubernetes无法拉取镜像运行pod

225

kubernetes多pod contianer继承镜像id

11

Docker镜像和它的Kubernetes Pod不同

24

Kubernetes Dashboard访问查看pod日志

10

Kubernetes Engine - Pod部署未更新到最新镜像

214
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档