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.
