SSIS 2014连接泄漏问题& Postgres ODBC

时间:2015-04-28 21:41:38

标签: sql-server postgresql ssis odbc connection-leaks

我正在为一个客户端项目工作,该项目涉及一个非常庞大的ETL过程,用于将数据从MSSQL Server移动到Postgres。我们使用SSIS 2014和postgresql.org上提供的ODBC驱动程序,并设置了ODBC DSN。我们只使用内置的OLEDB源和ODBC目标,我们遇到了一个我无法在其他地方找到的问题。

确切的问题是SSIS似乎为每个ODBC目标数据流组件打开了多个连接,即使启用了连接池也是如此。这可能导致打开50多个空闲连接,这些连接在完成该过程之前不会被终止。从Visual Studio预览数据也会导致连接泄漏,这只会在重新启动Visual Studio时被终止。我们通过将最大连接数增加到1000暂时解决了这个问题,但我们希望在可能的情况下解决潜在问题。

我做了大量的实验,问题似乎与SSIS相关,而不是驱动程序中的错误。

是否有其他人遇到过类似的问题并知道如何解决这个问题?

编辑:认为这不是一个大问题,但现在我意识到当从Integration Services运行SSIS包时,ODBC连接也会泄漏。我通过制作一些空包并只添加一个ODBC源以及只从C#脚本任务访问数据库的包来玩它。只有ODBC源/目标导致泄漏而不是脚本组件,所以它似乎是SSIS中的错误而不是我的脚本任务或postgres驱动程序:O

任何人都知道如何解决这个问题,除了重写整个包以不使用ODBC源/目标(或者其他一些奇怪的事情,比如之后用shell脚本杀死所有连接)?

1 个答案:

答案 0 :(得分:-1)

enter image description here

请查找语句超时 必须在To use delegate method of the UIScrollView, you have to set the delegate for it You can set the delegate method in two ways:- 1) By Storyboard - Select UIScrollView and Drag and drop to File Owner of the View Controller the delegate method will set for it. 2) By Code - In ViewDidLoad() method you can use the following code:- - (void) viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.scrollview.delegate = self; } In this way your ScrollView delegate method will be called. 目标属性的秒内给出语句超时,默认值0表示odbc中的无穷大