This class embodies an implementation of an SQL Data Provider using the new Markup Layer Interface
MarkupImageDataProvider, permitting multiple annotation or art documents to be associated with a viewable document. It retains and respects all of the configuration parameters of SqlImageDataProvider
SqlImageDataProvider, and adds a few new parameters which permit it to store and retrieve documents and annotations from separate tables. Subject to user configuration, the intended schema is such that (DocumentIdentifier) is the primary key of a 2-column table (DocumentIdentifier, ImageData) used to store documents, and (DocumentIdentifier, MarkupLayerRecordID) is a composite key used to store annotations in a 4-column table (DocumentIdentifier, MarkupLayerRecordID, ArtData, MarkupLayerName) where DocumentIdentifier is a foreign key referencing the table used to store documents. An example schema is provided.
table Documents ( DocumentID varchar(255) not null primary key, ImageData varbinary(max) not null ); table Annotations ( DocumentID varchar(255) not null, MarkupID varchar(255) not null, ArtData varbinary(MAX) not null, MarkupName varchar(255) null, primary key(DocumentID, MarkupID), foreign key(DocumentID) references Documents );
Object Model
Syntax
Example
table Documents
(
DocumentID varchar(255) not null primary key,
ImageData varbinary(max) not null
);
table Annotations
(
DocumentID varchar(255) not null,
MarkupID varchar(255) not null,
ArtData varbinary(MAX) not null,
MarkupName varchar(255) null,
primary key(DocumentID, MarkupID),
foreign key(DocumentID) references Documents
);
Inheritance Hierarchy
See Also