📄 dtspackagewrapper.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
using Microsoft.SqlServer.Dts.Pipeline;
using dtr = Microsoft.SqlServer.Dts.Runtime.Wrapper;
namespace Crowe.ExploreIS
{
class DTSPackageWrapper
{
private DTSContext _dtsContext;
private Package _pkg;
private DTSPackageContent _currentContent;
private DTSPackageArea _currentArea;
private int _currentAreaIndex;
public void Init(DTSContext dtsContext)
{
_dtsContext = dtsContext;
_pkg = null;
_currentAreaIndex = -1;
_currentArea = DTSPackageArea.Tasks;
}
public void OpenPackage(string pkgPath)
{
_pkg = _dtsContext.CurrentDTSApp.LoadPackage(pkgPath, null);
}
public DTSContext CurrentContext
{
get
{
return (_dtsContext);
}
}
public bool ReadNextContent()
{
bool retval = false;
_currentContent = null;
if (_currentArea == DTSPackageArea.Tasks )
{
_currentAreaIndex = _currentAreaIndex + 1;
if (IsMoreTasks())
{
retval = true;
GetNextContent();
WriteContent();
}
else
{
retval = false;
//Move on to the next connections stuff
_currentArea = DTSPackageArea.Connections;
_currentAreaIndex = 0;
}
}
if ( _currentArea == DTSPackageArea.Connections )
{
_currentAreaIndex = _currentAreaIndex + 1;
retval = false;
}
return (retval);
}
private void WriteContent()
{
foreach (DTSPackageContentItem itm in _currentContent.ContentItems )
{
_dtsContext.WriteValueToUI(itm.ContentItemValue);
}
}
private bool IsMoreTasks()
{
bool retval = false;
if (_currentAreaIndex >= _pkg.Executables.Count)
{
retval = false;
}
else
{
retval = true;
}
return (retval);
}
private void GetNextContent()
{
_currentContent = null;
switch (_currentArea)
{
case DTSPackageArea.Tasks:
_currentContent = new DTSPackageContent(_pkg.Executables[_currentAreaIndex]);
_currentContent.LoadContentItems();
break;
case DTSPackageArea.Connections:
break;
}
}
public DTSPackageContent CurrentDTSContent
{
get
{
return (_currentContent);
}
}
}
enum DTSPackageArea
{
Tasks,
Connections
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -