Avatar billede fennec Nybegynder
05. oktober 2007 - 09:24 Der er 5 kommentarer og
1 løsning

DTS til kopiering af data til anden DB

Jeg har 2 databaser som ligner hinanden meget, men ikke er 100% ens. Den ene kører som primær DB og her bliver data indsat/ændret/slettet, og den anden DB bruges kun til visning i et 3 part program. Og nej jeg kan ikke lade det program køre på DB1 eller omvendt.

Jeg skal nu onrequest kunne opdatere DB2 med data fra DB1, og til det har jeg fundet ud af jeg skal bruge DTS. Jeg ved bare ikke noget om det :(

Et eks:

DB1
[ProjektTabel]
ID, Navn, ProjektManager, pType
[Brugere]
ID, Navn

DB2
[ProjectTabel]
ID, Name, userID, pHours
[Brugere]
ID, Navn

Når data skal overføres fra DB1 til DB2 skal DB1.ProjektTabel.pType ignoreres og DB2.ProjectTabel.pHours skal sættes til 0.

Jeg kan godt finde ud af at exportere via export, men der er næsten 100 tabeller, så jeg gider ikke lave tilretningerne hver gang.

Nogen som kan linke til en guide eller evt hjælpe mig lidt på vej.
Avatar billede wagner Nybegynder
05. oktober 2007 - 19:49 #1
Jeg tror ikek der er en nem måde, når du skal små ændringer i overførslen. Ellers kunne du nok slå op i systemtabeller, og lave et script til dynamisk overførsel mellem de to databaser.

Jeg ville nok bare lave en stored procedure med en

truncate table db2.tabel
insert into db2.tabel(evt felter)
select de påkrævede felter
from db1.tabel

for hver tabel der skal opdateres med data.


Wagner
Avatar billede fennec Nybegynder
08. oktober 2007 - 08:32 #2
Den kode vil da ikke kunne indsætte de oprindelige ID'er...

Jeg har mange tabeller, som hænger sammen via ID, så det er jo vigtigt at ID'er bliver indsat.

Jeg ved godt selv hvilke forskelle der er i databaserne. Og er helt på det rene med at jeg skal skrive en kode for hver tabel selv. Jeg er også helt klar over at det kommer til at tage mig en dags tid at lave den, men jeg spare tid når den først er lavet...
Avatar billede wagner Nybegynder
08. oktober 2007 - 12:53 #3
Hej Fennec

Jeg er ikke helt sikker, jeg er med på hvad du forsøger at gøre.


Hvad er problemet med de oprindelige id'er? Hvis det er fordi du anvender autonummerering, kan du bruge kommandoen indentity_insert til at indsætte værdier i sådan et felt. Se mere her http://technet.microsoft.com/en-us/library/aa259221(SQL.80).aspx

Wagner
Avatar billede fennec Nybegynder
08. oktober 2007 - 13:04 #4
Se det var evt noget. Jeg troede kun det var DTC pakker, som kunne indsætte ID'er. Det prøver jeg lige...
Avatar billede fennec Nybegynder
08. oktober 2007 - 14:13 #5
Det var lige hvad jeg skulle bruge :o)

.o) <-- One Eyed Jack
Avatar billede wagner Nybegynder
08. oktober 2007 - 21:45 #6
Det lyder godt.

Ja det er en fin lille de ting, de har fået med i 2005. Ellers kan det være noget omstændigt.

Wagner
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