Megosztás a következőn keresztül:


Oszlopdefiníció formátuma

MsiViewGetColumnInfo és a View objektum ColumnInfo tulajdonságának az alábbi formátumban írja le az adatbázis oszlopdefinícióit. Minden oszlopot a függvény vagy tulajdonság által visszaadott megfelelő rekordmező sztringje ír le. A definíciós sztring egyetlen betűből áll, amely az adattípust, majd az oszlop szélességét jelöli (adott esetben karakterekben, máskülönben bájtokban). A nulla szélesség határ nélküli szélességet jelöl (például hosszú szövegmezőket és streameket). A nagybetűk azt jelzik, hogy a null értékek engedélyezettek az oszlopban.

Oszlopleíró Definíciós sztring
s? Sztring, változó hossza (?=1-255)
s0 Sztring, változó hossza
i2 Rövid egész szám
i4 Hosszú egész szám
v0 Bináris stream
g? Ideiglenes sztring (?=0-255)
j? Ideiglenes egész szám (?=0,1,2,4)
O0 Ideiglenes objektum

 

Az oszlopok leírásához használt sztringek az alábbi kapcsolatban vannak a CREATE és az ALTER által használt SQL-lekérdezési sztringekkel. További információ: SQL Szintaxis.

Visszaadott érték SQL-szintaxis
s0 LONGCHAR
l0 LONGCHAR LOCALIZABLE
s # CHAR(#)
s # KARAKTER(#)
l # KARAKTER(#) HONOSÍTHATÓ
l # KARAKTER(#) HONOSÍTHATÓ
i2 RÖVID
i2 INT
i2 EGÉSZ SZÁM
i4 HOSSZÚ
v0 TÁRGY

 

Ha a betű nem nagybetűs, az SQL-utasítást NOT NULL értékkel kell hozzáfűzni.

Visszaadott érték SQL-szintaxis
s0 LONGCHAR NOT NULL

 

A telepítő nem korlátozza belsőleg az oszlopok hosszát az oszlopdefiníció formátuma által megadott értékre. Ha a mezőbe beírt adatok túllépik a megadott oszlophosszt, a csomag nem tudja átadni csomagérvényesítési. Az ellenőrzésnek ebben az esetben az adatokat vagy az adatbázissémát módosítani kell. Egy szabványos tábla oszlophosszának módosítására csak akkor van lehetőség, ha exportálja a táblát MsiDatabaseExporthasználatával, szerkeszti az exportált .idt fájlt, majd importálja a táblát MsiDatabaseImporthasználatával. A szerzők nem módosíthatják a standard táblák oszlopainak oszlopadattípusait, nullképességét vagy honosítási attribútumait. A szerzők olyan egyéni táblákat hozhatnak létre, amelyek oszlopattribútumokkal rendelkeznek.

Ha MsiDatabaseMerge használatával egyesít egy referenciaadatbázist egy céladatbázisba, az oszlopneveknek, az elsődleges kulcsok számának és az oszlop adattípusainak egyeznie kell. MsiDatabaseMerge figyelmen kívül hagyja a honosítási és oszlophossz-attribútumokat. Ha a referenciaadatbázis egy oszlopának hossza 0 vagy nagyobb, mint az adott oszlop hossza a céladatbázisban, MsiDatabaseMerge a céladatbázis oszlophosszát a referenciaadatbázis hosszára növeli.

Mergmod.dll 2.0-s verzió használatakor az egyesítési modul alkalmazása .msi fájlra soha nem változtatja meg egy meglévő adatbázistábla oszlopainak hosszát vagy oszloptípusait. Az egyesítési modul alkalmazása azonban módosíthatja egy meglévő adatbázistábla sémáját, ha a modul új oszlopokat ad hozzá egy olyan táblához, amelyhez érvényes oszlopok hozzáadása. Ha a 2.0-s verziónál kisebb Mergemod.dll verziót használ, az egyesítési modul alkalmazása soha nem változtatja meg az oszlopok hosszát, és soha nem módosítja a céladatbázis sémáját.