我的文件系统文件夹中有几个 .dtsx 包。
我尝试使用下一个脚本从包中提取附加信息:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Microsoft.SqlServer.Server;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts;
namespace ImportDataFromPackage
{
class Program
{
static void Main(string[] args)
{
// The pkg variable points to a package
// installed with the SSIS samples.
string pkg = @"D:\MyFolder\Ryder_project\testpackage\ACS\ACS_Available_Months.dtsx";
Application app = new Application();
Package p1 = app.LoadPackage(pkg, null);
p1.Description = "CalculatedColumns package";
app.SaveToDtsServer(p1, null, @"File System\myp1Package", "YOURSERVER");
PackageInfos pInfos = app.GetDtsServerPackageInfos(@"File System", "YOURSERVER");
foreach (PackageInfo pinfo in pInfos)
{
Console.WriteLine("Package Information");
Console.WriteLine("CreationDate: {0}", pinfo.CreationDate);
Console.WriteLine("Description: {0}", pinfo.Description);
Console.WriteLine("Flags: {0}", pinfo.Flags);
Console.WriteLine("Folder: {0}", pinfo.Folder);
Console.WriteLine("Name: {0}", pinfo.Name);
Console.WriteLine("PackageDataSize: {0}", pinfo.PackageDataSize);
Console.WriteLine("PackageGuid: {0}", pinfo.PackageGuid);
Console.WriteLine("VersionBuild: {0}", pinfo.VersionBuild);
Console.WriteLine("VersionComments {0}", pinfo.VersionComments);
Console.WriteLine("VersionGUID {0}", pinfo.VersionGUID);
Console.WriteLine("VersionMajor {0}", pinfo.VersionMajor);
Console.WriteLine("VersionMinor {0}", pinfo.VersionMinor);
Console.WriteLine();
}
}
}
}
我收到下一个错误:
请帮助我解决问题。
SSIS 包.dtsx
文件是Xml文件,因此您可以使用XML解析器和其他技术,正则表达式来获取其信息。您可以使用 SQL、.Net 和其他技术来实现这一点。
您可以关注我对以下问题的详细回答:
- 自动从 .Dtsx 文件检索版本号 https://stackoverflow.com/questions/43591672/automate-version-number-retrieval-from-dtsx-files/43597141
此外,如果您正在寻找逆向工程,您可以检查以下链接:
- 使用 C# 逆向工程 SSIS 包 https://stackoverflow.com/questions/43562611/reverse-engineering-ssis-package-using-c-sharp/43569331#43569331
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)