Avatar billede cuddles Nybegynder
06. september 2001 - 15:38 Der er 6 kommentarer og
2 løsninger

Rette DTS-pakke til i ASP.

Jeg er ved at være desperat!
Jeg har en pakke på en SQL-server, som jeg gerne vil override nogle af værdierne på, og selvom jeg har forsøgt mig med nedenstående, så virker det ikke?!?

sTargetDB = \"TestCopy\"

Set oPackage = Server.CreateObject(\"DTS.Package\")

If IsObject(oPackage) Then
    oPackage.LoadFromSQLServer sServerName, sUserName, sPasswd, DTSReposFlag_Default,\"\",\"\",\"\", sPackageName
    if err.number <> 0 then
        Response.write \"Error in DTS function LoadFromSQLServer()<br>\"
        Response.write \"Err descp: \" & err.description & \"<br>\"
        Response.write \"Err no: \" & err.number & \"<br>\"
        Response.write \"Err Source: \" & err.Source & \"<br>\"
        Response.write \"Err HelpFile: \" & err.HelpFile & \"<br>\"
        Response.write \"Err HelpContext: \" & err.HelpContext & \"<br>\"
        Response.end
    end if
   
    oPackage.Tasks.Item(1).Properties.Item(\"SourceServer\").Value = sServerName
    oPackage.Tasks.Item(1).Properties.Item(\"SourceUseTrustedConnection\").Value = bUseTrustedConn
    oPackage.Tasks.Item(1).Properties.Item(\"DestinationServer\").Value = sServerName
    oPackage.Tasks.Item(1).Properties.Item(\"DestinationUseTrustedConnection\").Value = bUseTrustedConn
    oPackage.Tasks.Item(1).Properties.Item(\"DestinationDatabase\").Value = sTargetDB

Når jeg laver en oPackage.Execute(), så er den ligeglad med alle de overrides jeg har lavet ovenfor!
Det er en DTS-pakke med kun een Task, en \"Copy SQL Server Objects Task\".
Avatar billede dfens Nybegynder
06. september 2001 - 18:26 #1
Uden at kende noget til DTS-pakker, vil jeg høre om du har prøvet at sætte din props på Item(0) that default Option Base er 0. dvs.:
oPackage.Tasks.Item(0).Properties.Item
Avatar billede cuddles Nybegynder
06. september 2001 - 21:06 #2
Ved Item(0) får man en fejl om, at den er 1 based... jeg prøvede nemlig først Item(0).
Avatar billede torbenkoch Nybegynder
07. september 2001 - 19:20 #3
Jeg er ret sikker på, at du skal gemme din DTS-pakke før du eksekverer den! Der er sikkert en Save metode eller lignende på oPackage.
Avatar billede cuddles Nybegynder
10. september 2001 - 10:29 #4
Jeg har lave en SaveAS (der er ingen Save), men intet held der - den gemmer ikke engang den nye pakke (som jeg lavede med en SaveAS), det er ret frustrerende efterhånden, at den skod MS SQL ikke kan kopiere dynamisk til nye db\'ere.
Avatar billede torbenkoch Nybegynder
10. september 2001 - 12:35 #5
Det kan den nu også - men DTS-pakker er skidesvære at programmere - jeg har lavet en del med success, har måske noget kildekode et sted, kigger når jeg komemr hjem...
Avatar billede cuddles Nybegynder
10. september 2001 - 14:21 #6
OK, det lyder godt.
Jeg har endda forsøgt mig med at lave en pakke, der kun indeholdt en connection, som oprettede en ny db, men den vil heller ikke acceptere mine ændringer, som jeg laver i ASP.
Avatar billede torbenkoch Nybegynder
11. september 2001 - 22:45 #7
Fandt noget kildekode, hvor jeg bruger en metode, der hedder SaveToSQLServer - prøv at se om det hjælper at bruge den...

Min kildekode er godt nok noget kompliceret noget - og jeg bruger ikke Execute på pakken, jeg opretter den kun, så jeg ved faktisk ikke, om Execute virker....!
Avatar billede cuddles Nybegynder
14. september 2001 - 14:10 #8
Jeg har ikke rigtig kunnet få det til at virke, men vil dog gerne give torbenkoch lidt point for forsøget.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester