Hola a todos!!!
Se podrá desde el Net leer todos los nombres de los paquetes DTS que tengo almacenados en SQLServer para su posterior ejecución?
| |||
Leer todos los DTS de SQLServer Hola a todos!!! Se podrá desde el Net leer todos los nombres de los paquetes DTS que tengo almacenados en SQLServer para su posterior ejecución?
__________________ Julio Hernández |
| ||||
Puedes empezar con ésto: http://www.c-sharpcorner.com/Code/2002/Sept/DTSnCS.asp http://www.15seconds.com/issue/030909.htm realmente no los he probado, pero si puedes sería bueno que despues publiques como hacerlo para tenerlo como referencia y colocarlo en las faq´s, te echaría la mano pero ahorita ando algo apuradon... jeje Salu2
__________________ Nadie roba nada ya que en la vida todo se paga . . . Exentrit - Soluciones SharePoint & Net |
| |||
Gracias Root, en el propio manual se aclara todo, lo que tuve que hacer en mi caso es agregar la referencia Microsoft DTSPackage Object Library. /// <summary> /// Lee todos los paquetes DTS de SQLServer /// </summary> /// <returns>Un DataView conteniendo información del paquete</returns> public DataView getDTSPackage() { DataTable tblPackage = new DataTable("tblPackage"); DataRow dtRow; tblPackage.Columns.Add(new DataColumn("Nombre",System.Type.GetType("System.St ring"))); tblPackage.Columns.Add(new DataColumn("VersionID",System.Type.GetType("System .String"))); DTS.Application App = new DTS.Application(); DTS.PackageSQLServer package= App.GetPackageSQLServer("WINDOWS-108C049", "sa", "123456", DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_Default ); DTS.PackageInfos Infos; Infos = package.EnumPackageInfos("", false, ""); foreach(DTS.PackageInfo Info in Infos) { dtRow = tblPackage.NewRow(); dtRow["Nombre"] = Info.Name; dtRow["VersionID"] = Info.VersionID; tblPackage.Rows.Add(dtRow); } return tblPackage.DefaultView; } Un pequeño método que regresa un DataView de paquetes DTS conteniendo dos columnas, Nombre y VersionID del paquete Saludos :)
__________________ Julio Hernández |
| |||
Aquí va otra para mandar a ejecutar paquetes DTS y talvez no haya la necesitad de ejecutarlos desde procedimientos almacenados. Saludos. /// <summary> /// Manda a ejecutar un paquete DTS /// </summary> public void execDTSPackage(string name) { DTS.Package2Class package = new DTS.Package2Class(); try { Object MIA = System.Reflection.Missing.Value; package.LoadFromSQLServer("WINDOWS-108C049", "sa", "123456", DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_Default ,"","","",name, ref MIA); package.Execute(); } finally { package.UnInitialize(); package=null; } }
__________________ Julio Hernández |