Avatar billede fennec Nybegynder
08. november 2005 - 11:26 Der er 1 kommentar og
1 løsning

Ret en database udfra en master DB

Jeg har en master DB og x antal slaver. Jeg sidder og udvikler et system på master DB'en, og under denne udvikling kan der forkomme ændringer i databasen. Når systemet er testet og godkendt skal det flyttes ud til alle kunderne, her har jeg før opdateret manuelt, men det er blevet alt for besværlig, og er derfor ved at lave et opdaterings system til databaserne.

Jeg har fået fat i tabellerne med:
Set Master = oConn.OpenSchema(20)

og tabellens kolonner med:
Set cols = oConn.Execute("SELECT * FROM "& Master("TABLE_NAME"))
for f=0 to cols.fields.count -1
  ...
next

Jeg er ved at arbejde med:
cols(f).Name
cols(f).Type (har liste med nummer som svare til datatypen)
cols(f).Precision
cols(f).NumericScale
cols(f).DefinedSize
cols(f).Attributes

.. til at trække de forskellige informationer ud, men nu er jeg løbet i et problem.

Jeg kan ikke trække ud om en kolonne er "Not Null" eller ej. Ifølge oplysninger fra MSDN skal de ligge i "Attributes", men den værdi ændre sig ikke når jeg skifter til "Not Null".

1. Hvordan finder jeg ud af om en kolonne er "Not Null"??
2. Jeg skal desuden også have trukket relationerne mellem tabellerne ud. Hvordan gør jeg det??

Skal lige sige at masterDB'en er en Access, men slaverne kan være Access og MS-SQL, så jeg ved godt at jeg sikkert skal lave to forskellige update rutiner.

Kan evt begynde at benytte MS-SQL som master hvis det gør det nemmere.

ps. Jeg faldt dog over en lille bemærkning om at man kunne tilføje nye kolonner, uden at bruge "alter table", men gennem kode. Så det er måske en løsning i stedet, men jeg ved ikke hvordan og kan ikke finde kodeeks.

Hvis der er nogen der har en bedre ide til at gøre det (evt kode), forøger jeg gerne point til 200, men i første omgeng skal jeg bare have "Not Null" værdien samt relationerne.
Avatar billede fennec Nybegynder
08. november 2005 - 14:02 #1
Jeg er kommet lidt vidre ved at bruge denne istedet:
Set Master = oConn.OpenSchema(4)

Så kan jeg trække "Not null" ud, men jeg har endnu ikke fundet fremmednøglerne :(
Avatar billede fennec Nybegynder
16. november 2005 - 08:55 #2
Lukker, og flytter til DB kattegori
.o) <-- One Eyed Jack
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
Kurser inden for grundlæggende programmering

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