Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 9 odgovora
  • 3.628 pregleda

Najnovija ↓

programiranje dts paketa?? 10.08.2006. u 12:31 · pre 246 meseci #1
Cao!

Kako da isprogramiram dts paket iz apliakcije? Na primer, iz aplikacije mi se specificira server, baza i ostalo, i ja treba da uradim export nekih podataka iz te baze u csv fajl. Kako?

Hvala!
Potpis
The important thing is not to stop questioning. Curiosity has its own reason for existing. - Albert Einstein
Re: programiranje dts paketa?? 10.08.2006. u 12:45 · pre 246 meseci #2
Na SQL 2000 mislim da je nemoguce kreirati funkcionalne DTS pakete iz koda.
Da bi pozvala DTS iz koda potrebno je da dodas referencu na COM objekat Microsoft DTS Package Library.
Potpis
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
Re: programiranje dts paketa?? 10.08.2006. u 12:55 · pre 246 meseci #3
Dakle, morala bih da snimim paket iz SQL-a, pa da ga startujem iz aplikacije... To mi nikako ne odgovara... No dobro - uvek je tu dobri stari stream writer, pa vrednost, zarez, vrednost, zarez, vrednost.. novi red, vrednost, zarez, vrednost... :) Ili mozda postoji neki pametniji nacin?

Dusty, hvala!
Potpis
The important thing is not to stop questioning. Curiosity has its own reason for existing. - Albert Einstein
Re: programiranje dts paketa?? 10.08.2006. u 13:31 · pre 246 meseci #4
Ajd sad ovako - ako napravim neki dts i sacuvam ga kao dts structure file, da li ja mogu kasnije mu menjam setovanja? Iz aplikacije, naravno...
Potpis
The important thing is not to stop questioning. Curiosity has its own reason for existing. - Albert Einstein
Re: programiranje dts paketa?? 11.08.2006. u 10:57 · pre 246 meseci #5
Mislim da bi bilo mnogo lakse snimiti DTS kao VB fajl i onda iz aplikacije mu menjati setovanja....
Ili iz Aplikacije da kreiras VB fajl kakav zelis, i da pokrenes taj fajl Kroz DTS Package Library.
Potpis
Misa Simic
MCSD .NET
Re: programiranje dts paketa?? 11.08.2006. u 11:06 · pre 246 meseci #6
Ja sam mislila nesto slicno. Kreiracu DTS, definisacu mu globalne varijable za sve sto treba da se menja, i sacuvacu ga kao structured file. Zatim cu ucitati taj dts paket u kodu, pa cu pristupiti globalnim promenljivim, setovati ih kako mi odgovara, pa boz' pomozi, radice sve kako treba.... Jos samo da provalim taj deo oko pristupanja globalnim promenljivim.... Ako imas neki kod koji bi mi pomogao, to bi bilo ekstra... Odoh da bunarim... :)
Potpis
The important thing is not to stop questioning. Curiosity has its own reason for existing. - Albert Einstein
Re: programiranje dts paketa?? 11.08.2006. u 12:51 · pre 246 meseci #7
Nazalost nemam kod sad kod posto sam jako davno nesto cackao oko toga... A trenutno mi nije Instaliran DTS Package Library...ALi po nekom secanju mislim da ne bi bilo problem...

Otprilike bi nekako ovako trebalo da ide...(mozda ce biti sintax gresaka..posto radim rucno i napamet po secanju...)

Package2Class pack = new Package2Class();
Pack.LoadFromFile(filename);
Pack.GlobalVariables.Item(globProm).Value = Vrednost;
Pack.Execute();
Pack.UnInitialize();
Pack = null;

I to bi trebalo da radi...
Potpis
Misa Simic
MCSD .NET
Re: programiranje dts paketa?? 11.08.2006. u 13:33 · pre 246 meseci #8
Moj kod je sledeci:

Code:

Package2Class package = new Package2Class();

                Object pVarPersistStgOfHost = System.Reflection.Missing.Value;
                package.LoadFromStorageFile("someDts.dts", null, null, null, "dtsPackage",ref pVarPersistStgOfHost);

                foreach (GlobalVariable global in package.GlobalVariables)
                {
                    switch (global.Name)
                    {
                        case "SourceInitialCatalog":
                            global.Value = DataSourceDatabase;
                            break;
                    }
                }
                package.Execute();

                foreach (Step2 step in package.Steps)
                {
                    int outError;
                    string outSource;
                    string outDescription;
                    string out1;
                    int out2;
                    string out3;

                    step.GetExecutionErrorInfo(out outError, out outSource, out outDescription, out out1, out out2, out out3);
                }

                package.UnInitialize();
                package = null;


Dakle, imam dts paket sacuvan negde kao storage file. Vrlo je jednostavan - iz neke tabele treba da prebaci podatke u csv file. Jedina globalna varijabla je InitialCatalog. Medjutim, kada idem step po step, dobijam gresku "Type mismatch. Missing parameter does not have a default value". Pri tom, ja nemam nigde definisane parametre...

Imas li pojma sta bi to moglo da bude?
Potpis
The important thing is not to stop questioning. Curiosity has its own reason for existing. - Albert Einstein
Re: programiranje dts paketa?? 11.08.2006. u 15:56 · pre 246 meseci #9
Probaj da stavis:
object pVarPersistStgOfHost = null;

Potpis
Misa Simic
MCSD .NET
Re: programiranje dts paketa?? 14.08.2006. u 15:31 · pre 246 meseci #10
Shaggy, fora je u tome sto treba da se uradi remove globalnih promenljivih, pa se one ponovo dodaju sa njihovim vrednostima. Ispada da je to bug u DTS-u. Izmena u kodu je sledeca:

Code:

List<GlobalVariable> lstGlobalVariables = new List<GlobalVariable>(20);
                foreach (GlobalVariable global in package.GlobalVariables)
                {
                    lstGlobalVariables.Add(global);
                }

                foreach (GlobalVariable global in lstGlobalVariables)
                {
                    switch (global.Name)
                    {
                        case "SourceInitialCatalog":
                            package.GlobalVariables.Remove(global.Name);
                            package.GlobalVariables.AddGlobalVariable(global.Name, DataSourceDatabase);
                            break; 
                    }
                }
                package.Execute();


I to sada radi bez problema :)
Potpis
The important thing is not to stop questioning. Curiosity has its own reason for existing. - Albert Einstein
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme