动态设置SSIS中,配置包的xml配置文件路径
2008-09-25 14:47
453 查看
/// <summary>
/// 为包添加配置文件。
/// </summary>
protected void SavePackage()
{
//新建dts执行程序
dts.Application app = new Microsoft.SqlServer.Dts.Runtime.Application();
//新建一个包
dts.Package pack = new Microsoft.SqlServer.Dts.Runtime.Package();
try
{
//加载一个存在的包
string PackagePath = Server.MapPath("") + "//Package_FilingBackUp.dtsx";
pack = app.LoadPackage(PackagePath, null);//加载包
if (pack.Configurations.Contains("DTSConn")) pack.Configurations.Remove("DTSConn");
//动态设置包的配置文件路径
pack.EnableConfigurations = true;//启用包配置
Microsoft.SqlServer.Dts.Runtime.Configuration conf = pack.Configurations.Add();//新建一个配置
conf.ConfigurationString = Server.MapPath("") + "//DtsConfig.dtsConfig";//设置配置文件的值为已存在的配置文件xml的路径
conf.ConfigurationType = dts.DTSConfigurationType.ConfigFile;//设置配置文件读取方式为xml文件
conf.PackagePath = PackagePath;//设置被配置的SSIS包路径。
conf.Name = "DTSConn";//设置此包的名称。
//保存SSIS
app.SaveToXml(PackagePath, pack, null);//最关键的一步
}
catch (Exception ex)
{
}
}
//运行DTS包
/// <summary>
/// 运行DTS包
/// </summary>
/// <param name="path">保存备份文件的路径</param>
/// <param name="CreateTime">备份时间</param>
/// <param name="Fname">备份文件文件名</param>
private void Excutepackage(string path,string BeginTime,string EndTime, string Fname)
{
//新建dts执行程序
dts.Application app = new Microsoft.SqlServer.Dts.Runtime.Application();
//新建一个包
dts.Package pack = new Microsoft.SqlServer.Dts.Runtime.Package();
try
{
//加载一个存在的包
string PackagePath = Server.MapPath("") + "//Package_FilingBackUp.dtsx";
pack = app.LoadPackage(PackagePath, null);//加载包
//给变量赋值
pack.Variables["BeginTime"].Value = BeginTime;
pack.Variables["EndTime"].Value = EndTime;
pack.Variables["BakFilesPath"].Value = path;
//执行包
dts.DTSExecResult result = pack.Execute();
if (result.Equals(dts.DTSExecResult.Success))
{
try
{
//添加备份日志记录
BackupHisManager BackMan = new BackupHisManager();
BackupHis ent = (BackupHis)Weith.Toolkit.Reflection.TypeAccessor.CreateInstance(typeof(BackupHis));
ent.CreateTime = System.DateTime.Now;
ent.MediumNo = Fname;
ent.Creator = Global.GetUserID();
ent.MediumType = 0;
ent.DataFilePath = path;
BackMan.BackupHisAdd(ent);
Callbackresoult = "ClearData$" + BeginTime + "|" + EndTime + "|备份成功<br>备份时间:" + pack.Variables["BeginTime"].Value + "年到" + pack.Variables["EndTime"].Value + "年<br>备份路径:" + path + "<br><b>第三步:清除库中被备份的记录,请稍等...</b>";
}
catch(Exception ex)
{
Callbackresoult = "wrong$备份失败:" + ex.Message;
}
}
//捕捉错误
string message = "";
if (result.Equals(dts.DTSExecResult.Failure))
{
for (int i = 0; i < pack.Errors.Count; i++)
{
message += pack.Errors[i].Description +"<br>";
}
Callbackresoult = "wrong$备份失败:" + message;
}
}
catch(Exception ex)
{
Callbackresoult = "wrong$备份失败:" + ex.Message;
}
}
/// 为包添加配置文件。
/// </summary>
protected void SavePackage()
{
//新建dts执行程序
dts.Application app = new Microsoft.SqlServer.Dts.Runtime.Application();
//新建一个包
dts.Package pack = new Microsoft.SqlServer.Dts.Runtime.Package();
try
{
//加载一个存在的包
string PackagePath = Server.MapPath("") + "//Package_FilingBackUp.dtsx";
pack = app.LoadPackage(PackagePath, null);//加载包
if (pack.Configurations.Contains("DTSConn")) pack.Configurations.Remove("DTSConn");
//动态设置包的配置文件路径
pack.EnableConfigurations = true;//启用包配置
Microsoft.SqlServer.Dts.Runtime.Configuration conf = pack.Configurations.Add();//新建一个配置
conf.ConfigurationString = Server.MapPath("") + "//DtsConfig.dtsConfig";//设置配置文件的值为已存在的配置文件xml的路径
conf.ConfigurationType = dts.DTSConfigurationType.ConfigFile;//设置配置文件读取方式为xml文件
conf.PackagePath = PackagePath;//设置被配置的SSIS包路径。
conf.Name = "DTSConn";//设置此包的名称。
//保存SSIS
app.SaveToXml(PackagePath, pack, null);//最关键的一步
}
catch (Exception ex)
{
}
}
//运行DTS包
/// <summary>
/// 运行DTS包
/// </summary>
/// <param name="path">保存备份文件的路径</param>
/// <param name="CreateTime">备份时间</param>
/// <param name="Fname">备份文件文件名</param>
private void Excutepackage(string path,string BeginTime,string EndTime, string Fname)
{
//新建dts执行程序
dts.Application app = new Microsoft.SqlServer.Dts.Runtime.Application();
//新建一个包
dts.Package pack = new Microsoft.SqlServer.Dts.Runtime.Package();
try
{
//加载一个存在的包
string PackagePath = Server.MapPath("") + "//Package_FilingBackUp.dtsx";
pack = app.LoadPackage(PackagePath, null);//加载包
//给变量赋值
pack.Variables["BeginTime"].Value = BeginTime;
pack.Variables["EndTime"].Value = EndTime;
pack.Variables["BakFilesPath"].Value = path;
//执行包
dts.DTSExecResult result = pack.Execute();
if (result.Equals(dts.DTSExecResult.Success))
{
try
{
//添加备份日志记录
BackupHisManager BackMan = new BackupHisManager();
BackupHis ent = (BackupHis)Weith.Toolkit.Reflection.TypeAccessor.CreateInstance(typeof(BackupHis));
ent.CreateTime = System.DateTime.Now;
ent.MediumNo = Fname;
ent.Creator = Global.GetUserID();
ent.MediumType = 0;
ent.DataFilePath = path;
BackMan.BackupHisAdd(ent);
Callbackresoult = "ClearData$" + BeginTime + "|" + EndTime + "|备份成功<br>备份时间:" + pack.Variables["BeginTime"].Value + "年到" + pack.Variables["EndTime"].Value + "年<br>备份路径:" + path + "<br><b>第三步:清除库中被备份的记录,请稍等...</b>";
}
catch(Exception ex)
{
Callbackresoult = "wrong$备份失败:" + ex.Message;
}
}
//捕捉错误
string message = "";
if (result.Equals(dts.DTSExecResult.Failure))
{
for (int i = 0; i < pack.Errors.Count; i++)
{
message += pack.Errors[i].Description +"<br>";
}
Callbackresoult = "wrong$备份失败:" + message;
}
}
catch(Exception ex)
{
Callbackresoult = "wrong$备份失败:" + ex.Message;
}
}
相关文章推荐
- 通过环境变量设置WEB项目数据源(Spring)及其项目配置文件路径,动态更新数据源及项目配置
- SiteMesh:关于decorators.xml配置文件中路径设置的问题
- SiteMesh:关于decorators.xml配置文件中路径设置的问题
- web.xml中如何设置配置文件的加载路径实例详解
- web.xml中如何设置配置文件的加载路径
- 通过环境变量设置WEB项目数据源(Spring)及其项目配置文件路径,动态更新数据源及项目配置
- javaee web.xml中如何设置配置文件的加载路径实例详解
- 关于web项目web.xml配置文件路径的问题。
- (转)Unity 导出XML配置文件,动态加载场景
- log4j输出多个自定义日志文件,动态配置路径
- 打成jar包的xml配置文件无法找到路径,System.getProperty("user.dir")解决该问题
- log4j输出多个自定义日志文件,动态配置路径
- java配置文件web.xml中参数设置及含义
- 设置Maven用户对应的setting.xml配置文件示例
- Krpano学习:认识全景生成.bat文件及其相关配置文件(三) 在C#中修改.config文件内容(动态修改全景输入路径、名称等)
- java整合log4j xml 配置 自定义日志文件路径和生成年月日的html文件
- persistence.xml配置文件修改存放路径问题的解决办法
- spring配置文件路径修改后web.xml配置
- 修改Struts2的struts.xml配置文件位置和名称-重点是init-param参数用来切换加载的路径
- 关于 Eclipse 创建 Dynamic Web Project (动态的 WEB 项目) 为什么会出现没有web.xml配置文件的问题